@extenshi/cli 0.22.0 → 0.23.1
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/auto-evidence.d.ts +59 -5
- package/dist/auto-evidence.d.ts.map +1 -1
- package/dist/auto-evidence.js +107 -7
- package/dist/auto-evidence.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +122 -24
- package/dist/cli.js.map +1 -1
- package/dist/domain.d.ts +40 -0
- package/dist/domain.d.ts.map +1 -0
- package/dist/domain.js +64 -0
- package/dist/domain.js.map +1 -0
- package/dist/extension-localization.d.ts +6 -1
- package/dist/extension-localization.d.ts.map +1 -1
- package/dist/extension-localization.js +4 -0
- package/dist/extension-localization.js.map +1 -1
- package/dist/landing-page.d.ts +22 -4
- package/dist/landing-page.d.ts.map +1 -1
- package/dist/landing-page.js +14 -11
- package/dist/landing-page.js.map +1 -1
- package/dist/landing-sections.d.ts +332 -0
- package/dist/landing-sections.d.ts.map +1 -0
- package/dist/landing-sections.js +1071 -0
- package/dist/landing-sections.js.map +1 -0
- package/dist/listing.d.ts +15 -0
- package/dist/listing.d.ts.map +1 -1
- package/dist/listing.js +1 -1
- package/dist/listing.js.map +1 -1
- package/dist/page.d.ts +100 -21
- package/dist/page.d.ts.map +1 -1
- package/dist/page.js +217 -17
- package/dist/page.js.map +1 -1
- package/dist/pay-contract.d.ts +36 -12
- package/dist/pay-contract.d.ts.map +1 -1
- package/dist/pay-contract.js +24 -1
- package/dist/pay-contract.js.map +1 -1
- package/dist/pay-test-cycle.d.ts.map +1 -1
- package/dist/pay-test-cycle.js +6 -1
- package/dist/pay-test-cycle.js.map +1 -1
- package/dist/project.d.ts +30 -0
- package/dist/project.d.ts.map +1 -1
- package/dist/project.js +140 -42
- package/dist/project.js.map +1 -1
- package/dist/scan.d.ts +8 -11
- package/dist/scan.d.ts.map +1 -1
- package/dist/scan.js +8 -11
- package/dist/scan.js.map +1 -1
- package/dist/screenshots-scenes.d.ts +102 -102
- package/dist/screenshots.d.ts +3 -5
- package/dist/screenshots.d.ts.map +1 -1
- package/dist/screenshots.js +7 -6
- package/dist/screenshots.js.map +1 -1
- package/dist/telemetry.d.ts +7 -0
- package/dist/telemetry.d.ts.map +1 -1
- package/dist/telemetry.js +8 -0
- package/dist/telemetry.js.map +1 -1
- package/package.json +5 -5
package/dist/page.js
CHANGED
|
@@ -12,14 +12,17 @@
|
|
|
12
12
|
* it; a registered homepage feeds HOMEPAGE_URL in the integration config.
|
|
13
13
|
* Extenshi does not host the page itself.
|
|
14
14
|
*/
|
|
15
|
-
import { readFile, stat, writeFile } from 'node:fs/promises';
|
|
15
|
+
import { mkdir, mkdtemp, readFile, rm, stat, writeFile } from 'node:fs/promises';
|
|
16
|
+
import os from 'node:os';
|
|
16
17
|
import path from 'node:path';
|
|
17
18
|
import { z } from 'zod';
|
|
18
19
|
import { loadConfig } from './config.js';
|
|
19
20
|
import { InvalidInputError } from './expected-error.js';
|
|
20
|
-
import {
|
|
21
|
+
import { DEFAULT_LANDING_FORM, LANDING_LIMITS, landingFormToInput, landingLogoSvgProblem, landingPageWarnings, } from './landing-page.js';
|
|
22
|
+
import { LANDING_V2_LIMITS, landingFormProblems, renderLandingLocales, } from './landing-sections.js';
|
|
21
23
|
import { uploadMediaFile } from './media.js';
|
|
22
24
|
import { projectRequest } from './project.js';
|
|
25
|
+
import { loadPlaywright } from './screenshots.js';
|
|
23
26
|
const MAX_CONFIG_BYTES = 1024 * 1024;
|
|
24
27
|
const MAX_RASTER_LOGO_BYTES = 256 * 1024;
|
|
25
28
|
const RASTER_LOGO_TYPES = {
|
|
@@ -56,6 +59,17 @@ export const landingConfigSchema = z.object({
|
|
|
56
59
|
.optional(),
|
|
57
60
|
logoSvg: text(LANDING_LIMITS.logoSvgBytes).optional(),
|
|
58
61
|
logoUrl: text(LANDING_LIMITS.logoUrl).optional(),
|
|
62
|
+
// Schema v2 (landing-sections.ts). Shapes only — the rules are
|
|
63
|
+
// landingFormProblems, shared with the MCP tools and the server.
|
|
64
|
+
schemaVersion: z.literal(2).optional(),
|
|
65
|
+
sections: z.array(z.record(z.unknown())).max(LANDING_V2_LIMITS.sections).optional(),
|
|
66
|
+
tokens: z.record(z.unknown()).optional(),
|
|
67
|
+
seo: z.record(z.unknown()).optional(),
|
|
68
|
+
defaultLocale: text(35).optional(),
|
|
69
|
+
locales: z.record(text(35), z.record(z.unknown())).optional(),
|
|
70
|
+
ui: z.record(text(40), text(LANDING_V2_LIMITS.shortText)).optional(),
|
|
71
|
+
uninstallUrl: text(LANDING_LIMITS.url).optional(),
|
|
72
|
+
termsUrl: text(LANDING_LIMITS.url).optional(),
|
|
59
73
|
});
|
|
60
74
|
async function readLocalFile(file, label, limit) {
|
|
61
75
|
const resolved = path.resolve(process.cwd(), file);
|
|
@@ -95,6 +109,12 @@ export function parseLandingConfig(raw) {
|
|
|
95
109
|
form.screenshots = screenshots;
|
|
96
110
|
return form;
|
|
97
111
|
}
|
|
112
|
+
/** Print problems to stderr, errors first, each with its fix. */
|
|
113
|
+
export function reportProblems(problems) {
|
|
114
|
+
for (const p of [...problems].sort((a, b) => a.severity === b.severity ? 0 : a.severity === 'error' ? -1 : 1)) {
|
|
115
|
+
process.stderr.write(` ${p.severity}: ${p.path}: ${p.message}\n fix: ${p.fix}\n`);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
98
118
|
async function applyLogoFile(form, logo) {
|
|
99
119
|
const ext = path.extname(logo).toLowerCase();
|
|
100
120
|
if (ext === '.svg') {
|
|
@@ -123,16 +143,49 @@ export async function runPageGenerate(opts) {
|
|
|
123
143
|
if (opts.logo)
|
|
124
144
|
await applyLogoFile(form, opts.logo);
|
|
125
145
|
const input = landingFormToInput(form);
|
|
126
|
-
const
|
|
127
|
-
const
|
|
146
|
+
const pages = renderLandingLocales(form);
|
|
147
|
+
const html = pages[0]?.html ?? '';
|
|
128
148
|
const outPath = path.resolve(process.cwd(), opts.out ?? 'index.html');
|
|
129
149
|
await writeFile(outPath, html, 'utf8');
|
|
130
150
|
const bytes = Buffer.byteLength(html, 'utf8');
|
|
131
151
|
process.stderr.write(`Landing page written to ${outPath} (${bytes} bytes)\n`);
|
|
132
|
-
|
|
133
|
-
|
|
152
|
+
const localePaths = [];
|
|
153
|
+
for (const page of pages.slice(1)) {
|
|
154
|
+
const file = path.join(path.dirname(outPath), page.slug, path.basename(outPath));
|
|
155
|
+
await mkdir(path.dirname(file), { recursive: true });
|
|
156
|
+
await writeFile(file, page.html, 'utf8');
|
|
157
|
+
localePaths.push(file);
|
|
158
|
+
process.stderr.write(` ${page.locale} page written to ${file}\n`);
|
|
159
|
+
}
|
|
160
|
+
const problems = landingFormProblems(form);
|
|
161
|
+
const v2 = form.schemaVersion === 2;
|
|
162
|
+
const warnings = v2
|
|
163
|
+
? problems.filter((p) => p.severity === 'warning').map((p) => `${p.path}: ${p.message}`)
|
|
164
|
+
: landingPageWarnings(input);
|
|
165
|
+
if (v2 || problems.length)
|
|
166
|
+
reportProblems(problems);
|
|
167
|
+
else
|
|
168
|
+
for (const warning of warnings)
|
|
169
|
+
process.stderr.write(` warning: ${warning}\n`);
|
|
134
170
|
process.stderr.write(`Next:\n${GENERATE_NEXT_STEPS.map((s, i) => ` ${i + 1}. ${s}`).join('\n')}\n`);
|
|
135
|
-
return {
|
|
171
|
+
return {
|
|
172
|
+
outPath,
|
|
173
|
+
bytes,
|
|
174
|
+
warnings,
|
|
175
|
+
...(v2 || problems.length ? { problems } : {}),
|
|
176
|
+
...(localePaths.length ? { localePaths } : {}),
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
/** `extenshi page validate`: the shared rules, offline. Hosted-only rules (image hosts, store locales, Pay SKUs) need `page preview`. */
|
|
180
|
+
export async function runPageValidate(opts) {
|
|
181
|
+
const raw = (await readLocalFile(opts.config, 'Landing config', MAX_CONFIG_BYTES)).toString('utf8');
|
|
182
|
+
const problems = landingFormProblems(parseLandingConfig(raw));
|
|
183
|
+
const ok = !problems.some((p) => p.severity === 'error');
|
|
184
|
+
console.log(JSON.stringify({ ok, problems }, null, 2));
|
|
185
|
+
reportProblems(problems);
|
|
186
|
+
if (!ok)
|
|
187
|
+
throw new InvalidInputError(`The landing config has ${problems.filter((p) => p.severity === 'error').length} error(s) — see the fixes above.`);
|
|
188
|
+
return { ok, problems };
|
|
136
189
|
}
|
|
137
190
|
const registerSchema = z.object({
|
|
138
191
|
projectId: z.string().uuid({ message: '--project must be a project UUID' }),
|
|
@@ -168,20 +221,59 @@ const isLocalPath = (value) => !/^[a-z][a-z0-9+.-]*:/i.test(value.trim()) || /^[
|
|
|
168
221
|
export async function uploadLocalMedia(form, projectId, configPath, upload = uploadMediaFile) {
|
|
169
222
|
const base = path.dirname(path.resolve(process.cwd(), configPath));
|
|
170
223
|
const uploaded = [];
|
|
224
|
+
const done = new Map();
|
|
225
|
+
const swap = async (value) => {
|
|
226
|
+
const file = path.resolve(base, value.trim());
|
|
227
|
+
let url = done.get(file);
|
|
228
|
+
if (!url) {
|
|
229
|
+
url = (await upload(projectId, file)).url;
|
|
230
|
+
done.set(file, url);
|
|
231
|
+
uploaded.push(`${path.relative(process.cwd(), file)} → ${url}`);
|
|
232
|
+
}
|
|
233
|
+
return url;
|
|
234
|
+
};
|
|
171
235
|
for (const shot of form.screenshots ?? []) {
|
|
172
|
-
if (
|
|
236
|
+
if (isLocalPath(shot.url))
|
|
237
|
+
shot.url = await swap(shot.url);
|
|
238
|
+
}
|
|
239
|
+
if (form.logoUrl && isLocalPath(form.logoUrl))
|
|
240
|
+
form.logoUrl = await swap(form.logoUrl);
|
|
241
|
+
// Schema v2: screenshots sections, og:image, and localized screenshots.
|
|
242
|
+
const shotIds = new Set();
|
|
243
|
+
for (const section of (form.sections ?? [])) {
|
|
244
|
+
if (section?.type !== 'screenshots' || !Array.isArray(section.items))
|
|
173
245
|
continue;
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
246
|
+
shotIds.add(section.id);
|
|
247
|
+
for (const item of section.items)
|
|
248
|
+
if (item?.url && isLocalPath(item.url))
|
|
249
|
+
item.url = await swap(item.url);
|
|
177
250
|
}
|
|
178
|
-
if (form.
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
251
|
+
if (form.seo?.ogImageUrl && isLocalPath(form.seo.ogImageUrl))
|
|
252
|
+
form.seo.ogImageUrl = await swap(form.seo.ogImageUrl);
|
|
253
|
+
for (const entry of Object.values(form.locales ?? {})) {
|
|
254
|
+
for (const [id, over] of Object.entries(entry?.sections ?? {})) {
|
|
255
|
+
const items = over.items;
|
|
256
|
+
if (!shotIds.has(id) || !Array.isArray(items))
|
|
257
|
+
continue;
|
|
258
|
+
for (const item of items)
|
|
259
|
+
if (typeof item?.url === 'string' && item.url && isLocalPath(item.url))
|
|
260
|
+
item.url = await swap(item.url);
|
|
261
|
+
}
|
|
182
262
|
}
|
|
183
263
|
return uploaded;
|
|
184
264
|
}
|
|
265
|
+
/** Every image URL a hosted page will load that is still a local path. */
|
|
266
|
+
function localImagePaths(form) {
|
|
267
|
+
const out = (form.screenshots ?? []).map((s) => s.url).filter((u) => !/^https:\/\//i.test(u.trim()));
|
|
268
|
+
for (const section of (form.sections ?? [])) {
|
|
269
|
+
if (section?.type !== 'screenshots' || !Array.isArray(section.items))
|
|
270
|
+
continue;
|
|
271
|
+
for (const item of section.items)
|
|
272
|
+
if (item?.url && isLocalPath(item.url))
|
|
273
|
+
out.push(item.url);
|
|
274
|
+
}
|
|
275
|
+
return out;
|
|
276
|
+
}
|
|
185
277
|
const projectIdSchema = z.string().uuid({ message: '--project must be a project UUID' });
|
|
186
278
|
/**
|
|
187
279
|
* `extenshi page publish`: host the page on page.extenshi.io. Sends the form —
|
|
@@ -199,9 +291,9 @@ export async function runPagePublish(opts) {
|
|
|
199
291
|
for (const line of await uploadLocalMedia(form, projectId.data, opts.config))
|
|
200
292
|
process.stderr.write(` uploaded ${line}\n`);
|
|
201
293
|
}
|
|
202
|
-
const local = (form
|
|
294
|
+
const local = localImagePaths(form);
|
|
203
295
|
if (local.length) {
|
|
204
|
-
throw new InvalidInputError(`Hosted pages cannot show local screenshots (${local.
|
|
296
|
+
throw new InvalidInputError(`Hosted pages cannot show local screenshots (${local.join(', ')}). Pass ` +
|
|
205
297
|
"--upload-local to upload them to the project's public media store (or run `extenshi media upload`), " +
|
|
206
298
|
'use store screenshot URLs or Dojo Page generator uploads, or host the file yourself with ' +
|
|
207
299
|
'`extenshi page generate` + `extenshi page register`.');
|
|
@@ -211,6 +303,9 @@ export async function runPagePublish(opts) {
|
|
|
211
303
|
const warnings = Array.isArray(result.warnings) ? result.warnings : [];
|
|
212
304
|
for (const warning of warnings)
|
|
213
305
|
process.stderr.write(` warning: ${warning}\n`);
|
|
306
|
+
const locales = Array.isArray(result.locales) ? result.locales : [];
|
|
307
|
+
for (const l of locales.slice(1))
|
|
308
|
+
process.stderr.write(` ${l.locale}: ${l.url}\n`);
|
|
214
309
|
process.stderr.write(`Live at ${String(result.url)}. ${opts.homepage === false
|
|
215
310
|
? 'Homepage registration unchanged.'
|
|
216
311
|
: 'Registered as the project homepage — regenerate the integration config (MCP get_project_state → integration.file) so HOMEPAGE_URL uses it.'}\n`);
|
|
@@ -224,4 +319,109 @@ export async function runPageUnpublish(opts) {
|
|
|
224
319
|
console.log(JSON.stringify(result, null, 2));
|
|
225
320
|
return result;
|
|
226
321
|
}
|
|
322
|
+
const toOut = (file) => path.resolve(process.cwd(), file);
|
|
323
|
+
/**
|
|
324
|
+
* `extenshi page draft`: a schema-v2 homepage drafted by the server from the
|
|
325
|
+
* project state (manifest, published page, media, Pay offers, hosted artifacts),
|
|
326
|
+
* written as a config for `page preview` / `page publish`. Writes nothing on the server.
|
|
327
|
+
*/
|
|
328
|
+
export async function runPageDraft(opts) {
|
|
329
|
+
const projectId = projectIdSchema.safeParse(opts.project);
|
|
330
|
+
if (!projectId.success)
|
|
331
|
+
throw new InvalidInputError(projectId.error.issues[0]?.message ?? 'Invalid --project');
|
|
332
|
+
const storeUrls = Object.fromEntries(Object.entries({ chrome: opts.chromeUrl, firefox: opts.firefoxUrl, edge: opts.edgeUrl }).filter(([, v]) => v));
|
|
333
|
+
const result = await projectRequest(await loadConfig(), 'agentDraftLandingPage', {
|
|
334
|
+
projectId: projectId.data,
|
|
335
|
+
...(Object.keys(storeUrls).length ? { storeUrls } : {}),
|
|
336
|
+
});
|
|
337
|
+
const out = toOut(opts.out ?? 'landing.json');
|
|
338
|
+
await writeFile(out, `${JSON.stringify({ form: result.form }, null, '\t')}\n`, 'utf8');
|
|
339
|
+
process.stderr.write(`Draft written to ${out}\n`);
|
|
340
|
+
const sources = (result.sources ?? {});
|
|
341
|
+
for (const [field, source] of Object.entries(sources))
|
|
342
|
+
process.stderr.write(` ${field} ← ${source}\n`);
|
|
343
|
+
const todos = Array.isArray(result.todos) ? result.todos : [];
|
|
344
|
+
if (todos.length)
|
|
345
|
+
process.stderr.write(`To do:\n${todos.map((t) => ` - ${t}`).join('\n')}\n`);
|
|
346
|
+
if (Array.isArray(result.problems))
|
|
347
|
+
reportProblems(result.problems);
|
|
348
|
+
process.stderr.write(`Next: extenshi page preview --project ${projectId.data} --config ${opts.out ?? 'landing.json'}\n`);
|
|
349
|
+
return result;
|
|
350
|
+
}
|
|
351
|
+
/**
|
|
352
|
+
* `extenshi page preview`: the server validates and renders the config exactly
|
|
353
|
+
* as publish would. Writes the HTML (and optionally a screenshot) locally;
|
|
354
|
+
* exits non-zero with every problem and its fix when publish would refuse it.
|
|
355
|
+
*/
|
|
356
|
+
export async function runPagePreview(opts, shoot = screenshotHtml) {
|
|
357
|
+
const projectId = projectIdSchema.safeParse(opts.project);
|
|
358
|
+
if (!projectId.success)
|
|
359
|
+
throw new InvalidInputError(projectId.error.issues[0]?.message ?? 'Invalid --project');
|
|
360
|
+
const raw = (await readLocalFile(opts.config, 'Landing config', MAX_CONFIG_BYTES)).toString('utf8');
|
|
361
|
+
const form = parseLandingConfig(raw);
|
|
362
|
+
if (opts.logo)
|
|
363
|
+
await applyLogoFile(form, opts.logo);
|
|
364
|
+
const result = await projectRequest(await loadConfig(), 'agentPreviewLandingPage', { projectId: projectId.data, form, ...(opts.locale ? { locale: opts.locale } : {}) }, true);
|
|
365
|
+
const problems = Array.isArray(result.problems) ? result.problems : [];
|
|
366
|
+
reportProblems(problems);
|
|
367
|
+
if (!result.ok) {
|
|
368
|
+
console.log(JSON.stringify({ ok: false, problems }, null, 2));
|
|
369
|
+
throw new InvalidInputError(`Publish would refuse this config (${problems.filter((p) => p.severity === 'error').length} error(s)) — see the fixes above.`);
|
|
370
|
+
}
|
|
371
|
+
const out = toOut(opts.out ?? 'preview.html');
|
|
372
|
+
await writeFile(out, String(result.html), 'utf8');
|
|
373
|
+
process.stderr.write(`Preview of ${String(result.url)} written to ${out} (${String(result.bytes)} bytes)\n`);
|
|
374
|
+
if (opts.screenshot) {
|
|
375
|
+
const png = toOut(opts.screenshot);
|
|
376
|
+
await shoot(String(result.html), png);
|
|
377
|
+
process.stderr.write(`Screenshot written to ${png}\n`);
|
|
378
|
+
}
|
|
379
|
+
const { html: _html, ...summary } = result;
|
|
380
|
+
console.log(JSON.stringify({ ...summary, htmlPath: out }, null, 2));
|
|
381
|
+
return result;
|
|
382
|
+
}
|
|
383
|
+
/** Full-page PNG of a rendered page in headless Chromium (Playwright from the project or the CLI install). */
|
|
384
|
+
export async function screenshotHtml(html, file) {
|
|
385
|
+
const pw = loadPlaywright();
|
|
386
|
+
const dir = await mkdtemp(path.join(os.tmpdir(), 'extenshi-page-'));
|
|
387
|
+
try {
|
|
388
|
+
const ctx = await pw.chromium.launchPersistentContext(dir, {
|
|
389
|
+
headless: true,
|
|
390
|
+
viewport: { width: 1280, height: 800 },
|
|
391
|
+
});
|
|
392
|
+
try {
|
|
393
|
+
const page = await ctx.newPage();
|
|
394
|
+
await page.setContent(html, { waitUntil: 'load', timeout: 30_000 });
|
|
395
|
+
await page.screenshot({ path: file, fullPage: true });
|
|
396
|
+
}
|
|
397
|
+
finally {
|
|
398
|
+
await ctx.close();
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
finally {
|
|
402
|
+
await rm(dir, { recursive: true, force: true });
|
|
403
|
+
}
|
|
404
|
+
}
|
|
405
|
+
export async function runPageVersions(opts) {
|
|
406
|
+
const projectId = projectIdSchema.safeParse(opts.project);
|
|
407
|
+
if (!projectId.success)
|
|
408
|
+
throw new InvalidInputError(projectId.error.issues[0]?.message ?? 'Invalid --project');
|
|
409
|
+
const result = await projectRequest(await loadConfig(), 'agentListLandingVersions', {
|
|
410
|
+
projectId: projectId.data,
|
|
411
|
+
});
|
|
412
|
+
console.log(JSON.stringify(result, null, 2));
|
|
413
|
+
return result;
|
|
414
|
+
}
|
|
415
|
+
export async function runPageRollback(opts) {
|
|
416
|
+
const projectId = projectIdSchema.safeParse(opts.project);
|
|
417
|
+
if (!projectId.success)
|
|
418
|
+
throw new InvalidInputError(projectId.error.issues[0]?.message ?? 'Invalid --project');
|
|
419
|
+
const versionNumber = Number(opts.version);
|
|
420
|
+
if (!Number.isInteger(versionNumber) || versionNumber < 1)
|
|
421
|
+
throw new InvalidInputError('--version must be a version number (see extenshi page versions)');
|
|
422
|
+
const result = await projectRequest(await loadConfig(), 'agentRollbackLandingPage', { projectId: projectId.data, versionNumber, registerAsHomepage: opts.homepage !== false }, true);
|
|
423
|
+
console.log(JSON.stringify(result, null, 2));
|
|
424
|
+
process.stderr.write(`Restored v${versionNumber} as v${String(result.versionNumber)} at ${String(result.url)}.\n`);
|
|
425
|
+
return result;
|
|
426
|
+
}
|
|
227
427
|
//# sourceMappingURL=page.js.map
|
package/dist/page.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page.js","sourceRoot":"","sources":["../src/page.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"page.js","sourceRoot":"","sources":["../src/page.ts"],"names":[],"mappings":"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"}
|
package/dist/pay-contract.d.ts
CHANGED
|
@@ -98,15 +98,15 @@ export declare const paySchemas: {
|
|
|
98
98
|
appId: z.ZodString;
|
|
99
99
|
} & {
|
|
100
100
|
provider: z.ZodDefault<z.ZodLiteral<"stripe">>;
|
|
101
|
-
accountKind: z.ZodDefault<z.
|
|
101
|
+
accountKind: z.ZodDefault<z.ZodLiteral<"standard">>;
|
|
102
102
|
}, "strict", z.ZodTypeAny, {
|
|
103
103
|
appId: string;
|
|
104
104
|
provider: "stripe";
|
|
105
|
-
accountKind: "standard"
|
|
105
|
+
accountKind: "standard";
|
|
106
106
|
}, {
|
|
107
107
|
appId: string;
|
|
108
108
|
provider?: "stripe" | undefined;
|
|
109
|
-
accountKind?: "standard" |
|
|
109
|
+
accountKind?: "standard" | undefined;
|
|
110
110
|
}>;
|
|
111
111
|
readonly refreshPaySeller: z.ZodObject<{
|
|
112
112
|
appId: z.ZodString;
|
|
@@ -123,26 +123,26 @@ export declare const paySchemas: {
|
|
|
123
123
|
supportUrl: z.ZodUnion<[z.ZodEffects<z.ZodString, string, string>, z.ZodString]>;
|
|
124
124
|
termsUrl: z.ZodNullable<z.ZodEffects<z.ZodString, string, string>>;
|
|
125
125
|
}, "strict", z.ZodTypeAny, {
|
|
126
|
+
termsUrl: string | null;
|
|
126
127
|
supportUrl: string;
|
|
127
128
|
displayName: string;
|
|
128
|
-
termsUrl: string | null;
|
|
129
129
|
}, {
|
|
130
|
+
termsUrl: string | null;
|
|
130
131
|
supportUrl: string;
|
|
131
132
|
displayName: string;
|
|
132
|
-
termsUrl: string | null;
|
|
133
133
|
}>;
|
|
134
134
|
}, "strict", z.ZodTypeAny, {
|
|
135
135
|
profile: {
|
|
136
|
+
termsUrl: string | null;
|
|
136
137
|
supportUrl: string;
|
|
137
138
|
displayName: string;
|
|
138
|
-
termsUrl: string | null;
|
|
139
139
|
};
|
|
140
140
|
appId: string;
|
|
141
141
|
}, {
|
|
142
142
|
profile: {
|
|
143
|
+
termsUrl: string | null;
|
|
143
144
|
supportUrl: string;
|
|
144
145
|
displayName: string;
|
|
145
|
-
termsUrl: string | null;
|
|
146
146
|
};
|
|
147
147
|
appId: string;
|
|
148
148
|
}>;
|
|
@@ -161,21 +161,21 @@ export declare const paySchemas: {
|
|
|
161
161
|
}, "strict", z.ZodTypeAny, {
|
|
162
162
|
description: string | null;
|
|
163
163
|
title: string;
|
|
164
|
-
kind: "
|
|
164
|
+
kind: "lifetime" | "one_time" | "subscription";
|
|
165
165
|
features: string[];
|
|
166
|
+
currency: "usd" | "eur" | "gbp";
|
|
166
167
|
appId: string;
|
|
167
168
|
sku: string;
|
|
168
169
|
interval: "month" | "year" | null;
|
|
169
170
|
amountMinor: number;
|
|
170
|
-
currency: "usd" | "eur" | "gbp";
|
|
171
171
|
sortOrder: number;
|
|
172
172
|
}, {
|
|
173
173
|
title: string;
|
|
174
|
-
kind: "
|
|
174
|
+
kind: "lifetime" | "one_time" | "subscription";
|
|
175
|
+
currency: "usd" | "eur" | "gbp";
|
|
175
176
|
appId: string;
|
|
176
177
|
sku: string;
|
|
177
178
|
amountMinor: number;
|
|
178
|
-
currency: "usd" | "eur" | "gbp";
|
|
179
179
|
description?: string | null | undefined;
|
|
180
180
|
features?: string[] | undefined;
|
|
181
181
|
interval?: "month" | "year" | null | undefined;
|
|
@@ -192,6 +192,30 @@ export declare const paySchemas: {
|
|
|
192
192
|
appId: string;
|
|
193
193
|
sku: string;
|
|
194
194
|
}>;
|
|
195
|
+
readonly getPayOfferTranslations: z.ZodObject<{
|
|
196
|
+
appId: z.ZodString;
|
|
197
|
+
}, "strict", z.ZodTypeAny, {
|
|
198
|
+
appId: string;
|
|
199
|
+
}, {
|
|
200
|
+
appId: string;
|
|
201
|
+
}>;
|
|
202
|
+
readonly setPayOfferTranslations: z.ZodObject<{
|
|
203
|
+
appId: z.ZodString;
|
|
204
|
+
} & {
|
|
205
|
+
locale: z.ZodString;
|
|
206
|
+
translations: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
207
|
+
sources: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
208
|
+
}, "strict", z.ZodTypeAny, {
|
|
209
|
+
locale: string;
|
|
210
|
+
appId: string;
|
|
211
|
+
translations: Record<string, string>;
|
|
212
|
+
sources?: Record<string, string> | undefined;
|
|
213
|
+
}, {
|
|
214
|
+
locale: string;
|
|
215
|
+
appId: string;
|
|
216
|
+
translations: Record<string, string>;
|
|
217
|
+
sources?: Record<string, string> | undefined;
|
|
218
|
+
}>;
|
|
195
219
|
readonly setPayEnabled: z.ZodObject<{
|
|
196
220
|
appId: z.ZodString;
|
|
197
221
|
} & {
|
|
@@ -215,7 +239,7 @@ export type PayMethod = keyof typeof paySchemas;
|
|
|
215
239
|
export type PayBff = {
|
|
216
240
|
[M in PayMethod]: (input: z.infer<(typeof paySchemas)[M]>) => Promise<unknown>;
|
|
217
241
|
};
|
|
218
|
-
export declare const PAY_OPERATIONS: readonly [readonly ["listPayApps", "list_pay_apps", "list", "payApp.list", false, "List your independent Pay applications. No development project required. Paginated: nextCursor is set while more results exist."], readonly ["createPayApp", "create_pay_app", "create", "payApp.create", true, "Create an independent Pay application; linking a development project is optional. Not idempotent: each call creates a new application, including a call repeated after a timeout."], readonly ["getPayApp", "get_pay_app", "get", "payApp.get", false, "Read your Pay application and optional project link."], readonly ["getPayReadiness", "get_pay_readiness", "readiness", "payApp.readiness", false, "Check current checkout and launch prerequisites. A passing checkout check does not prove a live external purchase or SDK publication."], readonly ["getPayPaymentEvidence", "get_pay_payment_evidence", "payment-evidence", "payApp.paymentEvidence", false, "Read what Extenshi's own payment ledger proves about this application's payment path, per mode: checkout completed, license issued, an installation received the signed license, restored on a second installation, refund revoked. Derived from provider-signed webhooks, not from any report; opaque IDs and timestamps only, no buyer data. Only a live-mode purchase can satisfy a release's payment requirement; test-mode purchases are listed without satisfying it."], readonly ["linkPayApp", "link_pay_app", "link", "payApp.link", true, "Link your Pay application to your development project. Existing purchases remain attached to the Pay application."], readonly ["unlinkPayApp", "unlink_pay_app", "unlink", "payApp.unlink", true, "Remove the optional development-project link without deleting Pay data."], readonly ["archivePayApp", "archive_pay_app", "archive", "payApp.archive", true, "Archive your application and stop new checkout. Payment records and existing entitlements are preserved."], readonly ["exportPayData", "export_pay_data", "export", "payApp.export", false, "Export one page of one resource (offers, payments, subscriptions, entitlements or customers). nextCursor is null on the last page. The output contains sensitive customer and payment data."], readonly ["getPaySeller", "get_pay_seller", "seller", "paySeller.get", false, "Read seller connection, public profile, offers, the publishable SDK key and the public entitlement verification key. Those two keys are the ones meant to be embedded in extension code; secret keys are not part of the response. Agreement signing and KYC take place in the browser."], readonly ["connectPaySeller", "connect_pay_seller", "connect", "paySeller.connect", true, "Start Stripe Connect onboarding and return a browser action URL. KYC and legal acceptance are completed by the author at that URL; this tool does not perform them."], readonly ["refreshPaySeller", "refresh_pay_seller", "refresh", "paySeller.refreshStatus", true, "Refresh current payment-provider onboarding status. This does not complete KYC or accept agreements."], readonly ["setPaySellerProfile", "set_pay_seller_profile", "profile", "paySeller.setPublicProfile", true, "Save the public seller profile: display name, support URL or email, and terms URL. The values are stored as provided and are publicly visible."], readonly ["upsertPayOffer", "upsert_pay_offer", "offer-upsert", "paySeller.upsertOffer", true, "Create or update an offer keyed by a stable SKU. Price is in minor currency units. Subscriptions keep the given billing interval; one-time and lifetime offers store no interval. Price and features are stored as provided."], readonly ["archivePayOffer", "archive_pay_offer", "offer-archive", "paySeller.archiveOffer", true, "Stop offering a SKU for new checkout; historical purchases are preserved."], readonly ["setPayEnabled", "set_pay_enabled", "enable", "paySeller.setEnabled", true, "Enable or disable new payments for the application; requires a connected payment provider. Enabling re-reads the seller status from the provider (charges and payouts). It does not verify the public profile, agreement or offer sync: buyers can check out only when every readiness check reported by get_pay_readiness passes. Enabling is a live commerce change."], readonly ["rotatePayKey", "rotate_pay_key", "rotate-key", "paySeller.rotatePublishableKey", true, "Generate a new publishable SDK key. Not idempotent: each call issues another key. Prior keys remain accepted for installed extension builds; this does not revoke any secret."]];
|
|
242
|
+
export declare const PAY_OPERATIONS: readonly [readonly ["listPayApps", "list_pay_apps", "list", "payApp.list", false, "List your independent Pay applications. No development project required. Paginated: nextCursor is set while more results exist."], readonly ["createPayApp", "create_pay_app", "create", "payApp.create", true, "Create an independent Pay application; linking a development project is optional. Not idempotent: each call creates a new application, including a call repeated after a timeout."], readonly ["getPayApp", "get_pay_app", "get", "payApp.get", false, "Read your Pay application and optional project link."], readonly ["getPayReadiness", "get_pay_readiness", "readiness", "payApp.readiness", false, "Check current checkout and launch prerequisites. A passing checkout check does not prove a live external purchase or SDK publication."], readonly ["getPayPaymentEvidence", "get_pay_payment_evidence", "payment-evidence", "payApp.paymentEvidence", false, "Read what Extenshi's own payment ledger proves about this application's payment path, per mode: checkout completed, license issued, an installation received the signed license, restored on a second installation, refund revoked. Derived from provider-signed webhooks, not from any report; opaque IDs and timestamps only, no buyer data. Only a live-mode purchase can satisfy a release's payment requirement; test-mode purchases are listed without satisfying it."], readonly ["linkPayApp", "link_pay_app", "link", "payApp.link", true, "Link your Pay application to your development project. Existing purchases remain attached to the Pay application."], readonly ["unlinkPayApp", "unlink_pay_app", "unlink", "payApp.unlink", true, "Remove the optional development-project link without deleting Pay data."], readonly ["archivePayApp", "archive_pay_app", "archive", "payApp.archive", true, "Archive your application and stop new checkout. Payment records and existing entitlements are preserved."], readonly ["exportPayData", "export_pay_data", "export", "payApp.export", false, "Export one page of one resource (offers, payments, subscriptions, entitlements or customers). nextCursor is null on the last page. The output contains sensitive customer and payment data."], readonly ["getPaySeller", "get_pay_seller", "seller", "paySeller.get", false, "Read seller connection, public profile, offers, the publishable SDK key and the public entitlement verification key. Those two keys are the ones meant to be embedded in extension code; secret keys are not part of the response. Agreement signing and KYC take place in the browser."], readonly ["connectPaySeller", "connect_pay_seller", "connect", "paySeller.connect", true, "Start Stripe Connect onboarding and return a browser action URL. KYC and legal acceptance are completed by the author at that URL; this tool does not perform them."], readonly ["refreshPaySeller", "refresh_pay_seller", "refresh", "paySeller.refreshStatus", true, "Refresh current payment-provider onboarding status. This does not complete KYC or accept agreements."], readonly ["setPaySellerProfile", "set_pay_seller_profile", "profile", "paySeller.setPublicProfile", true, "Save the public seller profile: display name, support URL or email, and terms URL. The values are stored as provided and are publicly visible."], readonly ["upsertPayOffer", "upsert_pay_offer", "offer-upsert", "paySeller.upsertOffer", true, "Create or update an offer keyed by a stable SKU. Price is in minor currency units. Subscriptions keep the given billing interval; one-time and lifetime offers store no interval. Price and features are stored as provided."], readonly ["archivePayOffer", "archive_pay_offer", "offer-archive", "paySeller.archiveOffer", true, "Stop offering a SKU for new checkout; historical purchases are preserved."], readonly ["getPayOfferTranslations", "get_pay_offer_translations", "offer-translations", "paySeller.getOfferTranslations", false, "Read the translatable text of the application's active offers (title, description, features) keyed `<sku>/<field>`, with the project's languages and each language's translated, missing and outdated fields. The paywall shows an offer in the buyer's browser language when the project ships it; the SDK's own buttons and labels are already translated."], readonly ["setPayOfferTranslations", "set_pay_offer_translations", "offer-translate", "paySeller.setOfferTranslations", true, "Save one language of the offers' translations: `translations` maps `<sku>/<field>` keys from get_pay_offer_translations to text; `sources` (optional) carries the original each was translated from, and a save whose original has changed since is refused. An empty string removes a translation. Prices, SKUs and plans are not changed."], readonly ["setPayEnabled", "set_pay_enabled", "enable", "paySeller.setEnabled", true, "Enable or disable new payments for the application; requires a connected payment provider. Enabling re-reads the seller status from the provider (charges and payouts). It does not verify the public profile, agreement or offer sync: buyers can check out only when every readiness check reported by get_pay_readiness passes. Enabling is a live commerce change."], readonly ["rotatePayKey", "rotate_pay_key", "rotate-key", "paySeller.rotatePublishableKey", true, "Generate a new publishable SDK key. Not idempotent: each call issues another key. Prior keys remain accepted for installed extension builds; this does not revoke any secret."]];
|
|
219
243
|
/** The legacy seller API uses projectId as the payment namespace. Never substitute a linked project ID. */
|
|
220
244
|
export declare function payWireInput(method: PayMethod, input: Record<string, unknown>): Record<string, unknown>;
|
|
221
245
|
//# sourceMappingURL=pay-contract.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pay-contract.d.ts","sourceRoot":"","sources":["../src/pay-contract.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAavB,eAAO,MAAM,UAAU
|
|
1
|
+
{"version":3,"file":"pay-contract.d.ts","sourceRoot":"","sources":["../src/pay-contract.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAavB,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0Db,CAAA;AACV,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,UAAU,CAAA;AAC/C,MAAM,MAAM,MAAM,GAAG;KAAG,CAAC,IAAI,SAAS,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC;CAAE,CAAA;AACvG,eAAO,MAAM,cAAc,w0KAyJjB,CAAA;AAEV,2GAA2G;AAC3G,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAIvG"}
|
package/dist/pay-contract.js
CHANGED
|
@@ -36,7 +36,8 @@ export const paySchemas = {
|
|
|
36
36
|
getPaySeller: app,
|
|
37
37
|
connectPaySeller: app.extend({
|
|
38
38
|
provider: z.literal('stripe').default('stripe'),
|
|
39
|
-
|
|
39
|
+
// Standard only: the BFF refuses new Express accounts (platform would be liable for them).
|
|
40
|
+
accountKind: z.literal('standard').default('standard'),
|
|
40
41
|
}),
|
|
41
42
|
refreshPaySeller: app,
|
|
42
43
|
setPaySellerProfile: app.extend({
|
|
@@ -60,6 +61,12 @@ export const paySchemas = {
|
|
|
60
61
|
sortOrder: z.number().int().min(0).max(1000).default(0),
|
|
61
62
|
}),
|
|
62
63
|
archivePayOffer: app.extend({ sku }),
|
|
64
|
+
getPayOfferTranslations: app,
|
|
65
|
+
setPayOfferTranslations: app.extend({
|
|
66
|
+
locale: z.string().max(35),
|
|
67
|
+
translations: z.record(z.string().max(120), z.string().max(500)),
|
|
68
|
+
sources: z.record(z.string().max(120), z.string().max(500)).optional(),
|
|
69
|
+
}),
|
|
63
70
|
setPayEnabled: app.extend({ enabled: z.boolean() }),
|
|
64
71
|
rotatePayKey: app,
|
|
65
72
|
};
|
|
@@ -184,6 +191,22 @@ export const PAY_OPERATIONS = [
|
|
|
184
191
|
true,
|
|
185
192
|
'Stop offering a SKU for new checkout; historical purchases are preserved.',
|
|
186
193
|
],
|
|
194
|
+
[
|
|
195
|
+
'getPayOfferTranslations',
|
|
196
|
+
'get_pay_offer_translations',
|
|
197
|
+
'offer-translations',
|
|
198
|
+
'paySeller.getOfferTranslations',
|
|
199
|
+
false,
|
|
200
|
+
"Read the translatable text of the application's active offers (title, description, features) keyed `<sku>/<field>`, with the project's languages and each language's translated, missing and outdated fields. The paywall shows an offer in the buyer's browser language when the project ships it; the SDK's own buttons and labels are already translated.",
|
|
201
|
+
],
|
|
202
|
+
[
|
|
203
|
+
'setPayOfferTranslations',
|
|
204
|
+
'set_pay_offer_translations',
|
|
205
|
+
'offer-translate',
|
|
206
|
+
'paySeller.setOfferTranslations',
|
|
207
|
+
true,
|
|
208
|
+
"Save one language of the offers' translations: `translations` maps `<sku>/<field>` keys from get_pay_offer_translations to text; `sources` (optional) carries the original each was translated from, and a save whose original has changed since is refused. An empty string removes a translation. Prices, SKUs and plans are not changed.",
|
|
209
|
+
],
|
|
187
210
|
[
|
|
188
211
|
'setPayEnabled',
|
|
189
212
|
'set_pay_enabled',
|
package/dist/pay-contract.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pay-contract.js","sourceRoot":"","sources":["../src/pay-contract.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAA;AAC3D,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAA;AAC1D,MAAM,SAAS,GAAG,CAAC;KACjB,MAAM,EAAE;KACR,IAAI,EAAE;KACN,GAAG,CAAC,IAAI,CAAC;KACT,GAAG,EAAE;KACL,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;IACjB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAA;IAC1B,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAA;AACnE,CAAC,EAAE,sCAAsC,CAAC,CAAA;AAC3C,MAAM,CAAC,MAAM,UAAU,GAAG;IACzB,WAAW,EAAE,CAAC;SACZ,MAAM,CAAC;QACP,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QACvC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;QACpC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;KAClD,CAAC;SACD,MAAM,EAAE;IACV,YAAY,EAAE,CAAC;SACb,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;SAClG,MAAM,EAAE;IACV,SAAS,EAAE,GAAG;IACd,eAAe,EAAE,GAAG;IACpB,qBAAqB,EAAE,GAAG;IAC1B,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;IACxD,YAAY,EAAE,GAAG;IACjB,aAAa,EAAE,GAAG;IAClB,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC;QACzB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;QACtF,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;QACpC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;KAClD,CAAC;IACF,YAAY,EAAE,GAAG;IACjB,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC;QAC5B,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC/C,WAAW,EAAE,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"pay-contract.js","sourceRoot":"","sources":["../src/pay-contract.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pay-test-cycle.d.ts","sourceRoot":"","sources":["../src/pay-test-cycle.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAGxC,KAAK,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAAA;AAEpD,uDAAuD;AACvD,eAAO,MAAM,SAAS,wBAAwB,CAAA;AAG9C,6FAA6F;AAC7F,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAOpD;AAWD,MAAM,WAAW,WAAW;IAC3B,0EAA0E;IAC1E,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACpC,GAAG,EAAE,MAAM,MAAM,CAAA;IACjB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;CACvC;AACD,MAAM,WAAW,gBAAgB;IAChC,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,cAAc,EAAE,MAAM,CAAA;IACtB,MAAM,EAAE,MAAM,CAAA;CACd;AA6DD,wBAAsB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE,EAAE,WAAW;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"pay-test-cycle.d.ts","sourceRoot":"","sources":["../src/pay-test-cycle.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAGxC,KAAK,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAAA;AAEpD,uDAAuD;AACvD,eAAO,MAAM,SAAS,wBAAwB,CAAA;AAG9C,6FAA6F;AAC7F,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAOpD;AAWD,MAAM,WAAW,WAAW;IAC3B,0EAA0E;IAC1E,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACpC,GAAG,EAAE,MAAM,MAAM,CAAA;IACjB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;CACvC;AACD,MAAM,WAAW,gBAAgB;IAChC,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,cAAc,EAAE,MAAM,CAAA;IACtB,MAAM,EAAE,MAAM,CAAA;CACd;AA6DD,wBAAsB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE,EAAE,WAAW;;;;;;;;;;;gBAwEzE,SAAS,GAAG,SAAS;qCACL,OAAO,GAAG,IAAI;;;GAkCpD;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,QAyChD"}
|
package/dist/pay-test-cycle.js
CHANGED
|
@@ -106,7 +106,12 @@ export async function runPayTestCycle(config, options, io) {
|
|
|
106
106
|
if (!offer.entitlementPublicKey)
|
|
107
107
|
throw new Error('The backend does not sign entitlements; nothing to verify.');
|
|
108
108
|
const endUserRef = randomUUID();
|
|
109
|
-
|
|
109
|
+
// The person running a test-mode cycle is the test buyer: the paywall would
|
|
110
|
+
// show them the withdrawal-waiver checkbox, so accept it on their behalf.
|
|
111
|
+
const withdrawalWaiver = offer.withdrawalWaiver
|
|
112
|
+
? { version: offer.withdrawalWaiver.version, accepted: true }
|
|
113
|
+
: undefined;
|
|
114
|
+
const created = await publicCall(config.bffUrl, 'pay.createCheckout', { publishableKey, sku, endUserRef, ...(withdrawalWaiver ? { withdrawalWaiver } : {}) }, true);
|
|
110
115
|
const checkoutUrl = new URL(created.url);
|
|
111
116
|
const providerSessionId = checkoutUrl.pathname.match(/\bcs_test_[A-Za-z0-9]+\b/)?.[0];
|
|
112
117
|
if (checkoutUrl.origin !== 'https://checkout.stripe.com' || !providerSessionId)
|