sinfactura-types 1.10.78 → 1.10.79

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 (2) hide show
  1. package/dist/platform.d.ts +36 -0
  2. package/package.json +47 -47
@@ -265,3 +265,39 @@ export interface PlatformOverridesRosterResponse {
265
265
  /** Unix ms. */
266
266
  builtAt: number;
267
267
  }
268
+ /**
269
+ * Why a plan's marketing copy disagrees with the entitlements actually backing
270
+ * that tier. Advisory only — `PATCH /platform/billing/plans/{tier}` reports
271
+ * these and still applies the write. It never blocks: tiers are hand-tuned
272
+ * between pricing decisions, so a mismatch is routinely the intended
273
+ * intermediate state rather than an error.
274
+ *
275
+ * - `NUMERIC_MISMATCH` — a bullet advertises a number that differs from the
276
+ * numeric entitlement it maps to.
277
+ * - `UNLIMITED_ADVERTISED_AS_CAPPED` — the entitlement is `-1` (unlimited) but
278
+ * the copy advertises a finite cap. Reported separately because the equality
279
+ * compare would otherwise render it as a nonsense mismatch against `-1`.
280
+ * - `UNBACKED_CAPABILITY` — the copy names a capability the tier does not have
281
+ * `status: 'live'` and `enabled: true` for.
282
+ */
283
+ export type CatalogWarningCode = 'NUMERIC_MISMATCH' | 'UNLIMITED_ADVERTISED_AS_CAPPED' | 'UNBACKED_CAPABILITY';
284
+ /**
285
+ * One disagreement between a plan's copy and its entitlements.
286
+ *
287
+ * ⚠️ Absence of a warning is NOT a claim that the copy is correct. The matcher
288
+ * pairs a bullet to a feature only on a single unambiguous keyword; a bullet
289
+ * matching two keywords or none is skipped rather than guessed, so it
290
+ * deliberately understates. Reading an empty array as "this tier's copy is
291
+ * verified" inverts that design.
292
+ */
293
+ export interface CatalogWarning {
294
+ code: CatalogWarningCode;
295
+ /** Which piece of copy produced it — one of the `bullets`, or the `description`. */
296
+ source: 'bullets' | 'description';
297
+ /** The offending bullet, or the description, verbatim. */
298
+ text: string;
299
+ /** The entitlement the copy was checked against. */
300
+ featureKey: FeatureKey;
301
+ /** Human-readable, already safe to render as-is. */
302
+ message: string;
303
+ }
package/package.json CHANGED
@@ -1,49 +1,49 @@
1
1
  {
2
- "name": "sinfactura-types",
3
- "version": "1.10.78",
4
- "main": "dist/index.js",
5
- "type": "module",
6
- "types": "./dist/index.d.ts",
7
- "exports": {
8
- ".": {
9
- "types": "./dist/index.d.ts",
10
- "import": "./dist/index.js",
11
- "require": "./dist/cjs/index.js"
12
- }
13
- },
14
- "scripts": {
15
- "build": "tsc && tsc -p tsconfig.cjs.json && node -e \"require('fs').writeFileSync('dist/cjs/package.json', JSON.stringify({ type: 'commonjs' }) + '\\n')\"",
16
- "prepublishOnly": "npm run build",
17
- "login": "npm login",
18
- "release": "npm version patch --no-git-tag-version",
19
- "lint": "eslint ."
20
- },
21
- "publishConfig": {
22
- "access": "public",
23
- "registry": "https://registry.npmjs.org/"
24
- },
25
- "repository": {
26
- "type": "git",
27
- "url": "git+https://github.com/sinfactura/types"
28
- },
29
- "keywords": [],
30
- "author": "Moises Samuel Maison Maison",
31
- "license": "MIT",
32
- "homepage": "https://sinfactura.com",
33
- "files": [
34
- "./dist"
35
- ],
36
- "release": {
37
- "branches": [
38
- "main"
39
- ]
40
- },
41
- "devDependencies": {
42
- "@eslint/js": "^10.0.1",
43
- "eslint": "^10.8.0",
44
- "globals": "^17.9.0",
45
- "typescript": "^6.0.3",
46
- "typescript-eslint": "^8.66.0"
47
- },
48
- "packageManager": "yarn@4.6.0+sha512.5383cc12567a95f1d668fbe762dfe0075c595b4bfff433be478dbbe24e05251a8e8c3eb992a986667c1d53b6c3a9c85b8398c35a960587fbd9fa3a0915406728"
2
+ "name": "sinfactura-types",
3
+ "version": "1.10.79",
4
+ "main": "dist/index.js",
5
+ "type": "module",
6
+ "types": "./dist/index.d.ts",
7
+ "exports": {
8
+ ".": {
9
+ "types": "./dist/index.d.ts",
10
+ "import": "./dist/index.js",
11
+ "require": "./dist/cjs/index.js"
12
+ }
13
+ },
14
+ "scripts": {
15
+ "build": "tsc && tsc -p tsconfig.cjs.json && node -e \"require('fs').writeFileSync('dist/cjs/package.json', JSON.stringify({ type: 'commonjs' }) + '\\n')\"",
16
+ "prepublishOnly": "npm run build",
17
+ "login": "npm login",
18
+ "release": "npm version patch --no-git-tag-version",
19
+ "lint": "eslint ."
20
+ },
21
+ "publishConfig": {
22
+ "access": "public",
23
+ "registry": "https://registry.npmjs.org/"
24
+ },
25
+ "repository": {
26
+ "type": "git",
27
+ "url": "git+https://github.com/sinfactura/types"
28
+ },
29
+ "keywords": [],
30
+ "author": "Moises Samuel Maison Maison",
31
+ "license": "MIT",
32
+ "homepage": "https://sinfactura.com",
33
+ "files": [
34
+ "./dist"
35
+ ],
36
+ "release": {
37
+ "branches": [
38
+ "main"
39
+ ]
40
+ },
41
+ "devDependencies": {
42
+ "@eslint/js": "^10.0.1",
43
+ "eslint": "^10.8.0",
44
+ "globals": "^17.9.0",
45
+ "typescript": "^6.0.3",
46
+ "typescript-eslint": "^8.66.0"
47
+ },
48
+ "packageManager": "yarn@4.6.0+sha512.5383cc12567a95f1d668fbe762dfe0075c595b4bfff433be478dbbe24e05251a8e8c3eb992a986667c1d53b6c3a9c85b8398c35a960587fbd9fa3a0915406728"
49
49
  }