@signa-so/sdk 0.2.2 → 0.7.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 (137) hide show
  1. package/README.md +22 -14
  2. package/dist/_internals/fetch-with-retry.d.ts.map +1 -1
  3. package/dist/_internals/fetch-with-retry.js +11 -3
  4. package/dist/_internals/fetch-with-retry.js.map +1 -1
  5. package/dist/_internals/query-string.d.ts +5 -4
  6. package/dist/_internals/query-string.d.ts.map +1 -1
  7. package/dist/_internals/query-string.js +6 -14
  8. package/dist/_internals/query-string.js.map +1 -1
  9. package/dist/category-nice.d.ts +22 -0
  10. package/dist/category-nice.d.ts.map +1 -0
  11. package/dist/category-nice.js +109 -0
  12. package/dist/category-nice.js.map +1 -0
  13. package/dist/client.d.ts +80 -10
  14. package/dist/client.d.ts.map +1 -1
  15. package/dist/client.js +110 -13
  16. package/dist/client.js.map +1 -1
  17. package/dist/errors.d.ts +7 -0
  18. package/dist/errors.d.ts.map +1 -1
  19. package/dist/errors.js +10 -1
  20. package/dist/errors.js.map +1 -1
  21. package/dist/generated/api-types.d.ts +9700 -2920
  22. package/dist/generated/api-types.d.ts.map +1 -1
  23. package/dist/index.d.ts +6 -1
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +5 -0
  26. package/dist/index.js.map +1 -1
  27. package/dist/pagination.d.ts +24 -2
  28. package/dist/pagination.d.ts.map +1 -1
  29. package/dist/pagination.js +28 -1
  30. package/dist/pagination.js.map +1 -1
  31. package/dist/resources/alerts.d.ts +18 -13
  32. package/dist/resources/alerts.d.ts.map +1 -1
  33. package/dist/resources/alerts.js +28 -20
  34. package/dist/resources/alerts.js.map +1 -1
  35. package/dist/resources/analytics.d.ts +8 -0
  36. package/dist/resources/analytics.d.ts.map +1 -0
  37. package/dist/resources/analytics.js +13 -0
  38. package/dist/resources/analytics.js.map +1 -0
  39. package/dist/resources/assignments.d.ts +25 -0
  40. package/dist/resources/assignments.d.ts.map +1 -0
  41. package/dist/resources/assignments.js +33 -0
  42. package/dist/resources/assignments.js.map +1 -0
  43. package/dist/resources/attorneys.d.ts +7 -3
  44. package/dist/resources/attorneys.d.ts.map +1 -1
  45. package/dist/resources/attorneys.js +10 -5
  46. package/dist/resources/attorneys.js.map +1 -1
  47. package/dist/resources/compare.d.ts +29 -0
  48. package/dist/resources/compare.d.ts.map +1 -0
  49. package/dist/resources/compare.js +30 -0
  50. package/dist/resources/compare.js.map +1 -0
  51. package/dist/resources/deadlines.d.ts +24 -0
  52. package/dist/resources/deadlines.d.ts.map +1 -0
  53. package/dist/resources/deadlines.js +26 -0
  54. package/dist/resources/deadlines.js.map +1 -0
  55. package/dist/resources/entities.d.ts +53 -0
  56. package/dist/resources/entities.d.ts.map +1 -0
  57. package/dist/resources/entities.js +74 -0
  58. package/dist/resources/entities.js.map +1 -0
  59. package/dist/resources/events.d.ts +2 -2
  60. package/dist/resources/events.d.ts.map +1 -1
  61. package/dist/resources/events.js +2 -2
  62. package/dist/resources/events.js.map +1 -1
  63. package/dist/resources/feedback.d.ts +19 -0
  64. package/dist/resources/feedback.d.ts.map +1 -0
  65. package/dist/resources/feedback.js +29 -0
  66. package/dist/resources/feedback.js.map +1 -0
  67. package/dist/resources/firms.d.ts +7 -6
  68. package/dist/resources/firms.d.ts.map +1 -1
  69. package/dist/resources/firms.js +9 -5
  70. package/dist/resources/firms.js.map +1 -1
  71. package/dist/resources/goods-services.d.ts +56 -0
  72. package/dist/resources/goods-services.d.ts.map +1 -0
  73. package/dist/resources/goods-services.js +60 -0
  74. package/dist/resources/goods-services.js.map +1 -0
  75. package/dist/resources/oppositions.d.ts +18 -0
  76. package/dist/resources/oppositions.d.ts.map +1 -0
  77. package/dist/resources/oppositions.js +20 -0
  78. package/dist/resources/oppositions.js.map +1 -0
  79. package/dist/resources/organization.d.ts +56 -0
  80. package/dist/resources/organization.d.ts.map +1 -0
  81. package/dist/resources/organization.js +89 -0
  82. package/dist/resources/organization.js.map +1 -0
  83. package/dist/resources/owners.d.ts +7 -3
  84. package/dist/resources/owners.d.ts.map +1 -1
  85. package/dist/resources/owners.js +10 -5
  86. package/dist/resources/owners.js.map +1 -1
  87. package/dist/resources/portfolios.d.ts +3 -3
  88. package/dist/resources/portfolios.d.ts.map +1 -1
  89. package/dist/resources/portfolios.js +4 -4
  90. package/dist/resources/portfolios.js.map +1 -1
  91. package/dist/resources/proceedings.d.ts +1 -1
  92. package/dist/resources/proceedings.js +1 -1
  93. package/dist/resources/reconcile.d.ts +22 -0
  94. package/dist/resources/reconcile.d.ts.map +1 -0
  95. package/dist/resources/reconcile.js +24 -0
  96. package/dist/resources/reconcile.js.map +1 -0
  97. package/dist/resources/references.d.ts +51 -12
  98. package/dist/resources/references.d.ts.map +1 -1
  99. package/dist/resources/references.js +33 -15
  100. package/dist/resources/references.js.map +1 -1
  101. package/dist/resources/screening.d.ts +63 -0
  102. package/dist/resources/screening.d.ts.map +1 -0
  103. package/dist/resources/screening.js +66 -0
  104. package/dist/resources/screening.js.map +1 -0
  105. package/dist/resources/suggest.d.ts +16 -0
  106. package/dist/resources/suggest.d.ts.map +1 -0
  107. package/dist/resources/suggest.js +18 -0
  108. package/dist/resources/suggest.js.map +1 -0
  109. package/dist/resources/trademarks.d.ts +82 -6
  110. package/dist/resources/trademarks.d.ts.map +1 -1
  111. package/dist/resources/trademarks.js +132 -5
  112. package/dist/resources/trademarks.js.map +1 -1
  113. package/dist/resources/watches.d.ts +68 -9
  114. package/dist/resources/watches.d.ts.map +1 -1
  115. package/dist/resources/watches.js +111 -12
  116. package/dist/resources/watches.js.map +1 -1
  117. package/dist/resources/webhooks.d.ts +57 -0
  118. package/dist/resources/webhooks.d.ts.map +1 -0
  119. package/dist/resources/webhooks.js +86 -0
  120. package/dist/resources/webhooks.js.map +1 -0
  121. package/dist/types.d.ts +2781 -239
  122. package/dist/types.d.ts.map +1 -1
  123. package/dist/version.d.ts +1 -1
  124. package/dist/version.js +1 -1
  125. package/dist/webhooks.d.ts +57 -0
  126. package/dist/webhooks.d.ts.map +1 -0
  127. package/dist/webhooks.js +76 -0
  128. package/dist/webhooks.js.map +1 -0
  129. package/package.json +9 -3
  130. package/dist/resources/platform.d.ts +0 -29
  131. package/dist/resources/platform.d.ts.map +0 -1
  132. package/dist/resources/platform.js +0 -50
  133. package/dist/resources/platform.js.map +0 -1
  134. package/dist/resources/search.d.ts +0 -27
  135. package/dist/resources/search.d.ts.map +0 -1
  136. package/dist/resources/search.js +0 -36
  137. package/dist/resources/search.js.map +0 -1
package/dist/client.js CHANGED
@@ -1,17 +1,28 @@
1
1
  import { SignaError, SignaAPIError, BadRequestError, AuthenticationError, PermissionError, NotFoundError, ConflictError, RateLimitError, InternalServerError, ConnectionError, TimeoutError, } from './errors.js';
2
2
  import { Trademarks } from './resources/trademarks.js';
3
3
  import { Owners } from './resources/owners.js';
4
+ import { Entities } from './resources/entities.js';
4
5
  import { Attorneys } from './resources/attorneys.js';
5
6
  import { Firms } from './resources/firms.js';
6
7
  import { Proceedings } from './resources/proceedings.js';
7
- import { Search } from './resources/search.js';
8
+ import { Assignments } from './resources/assignments.js';
9
+ import { Suggest } from './resources/suggest.js';
8
10
  import { References } from './resources/references.js';
11
+ import { Analytics } from './resources/analytics.js';
12
+ import { Deadlines } from './resources/deadlines.js';
13
+ import { Oppositions } from './resources/oppositions.js';
14
+ import { Reconcile } from './resources/reconcile.js';
15
+ import { GoodsServices } from './resources/goods-services.js';
9
16
  import { Portfolios } from './resources/portfolios.js';
10
17
  import { SavedSearches } from './resources/saved-searches.js';
18
+ import { FeedbackResource } from './resources/feedback.js';
11
19
  import { Watches } from './resources/watches.js';
12
20
  import { Alerts } from './resources/alerts.js';
21
+ import { Webhooks } from './resources/webhooks.js';
13
22
  import { Events } from './resources/events.js';
14
- import { Platform } from './resources/platform.js';
23
+ import { Screening } from './resources/screening.js';
24
+ import { Compare } from './resources/compare.js';
25
+ import { Organization } from './resources/organization.js';
15
26
  const DEFAULT_BASE_URL = 'https://api.signa.so';
16
27
  const DEFAULT_TIMEOUT = 30_000;
17
28
  const DEFAULT_MAX_RETRIES = 2;
@@ -21,9 +32,25 @@ const DEFAULT_MAX_RETRIES = 2;
21
32
  * ```typescript
22
33
  * import Signa from '@signa-so/sdk';
23
34
  *
24
- * const signa = new Signa({ api_key: 'sig_live_xxx' });
35
+ * const signa = new Signa({ api_key: 'sig_xxx' });
25
36
  * const tm = await signa.trademarks.retrieve('tm_abc123');
26
37
  * ```
38
+ *
39
+ * ## Browser usage
40
+ *
41
+ * The Signa SDK is designed for **server-side use**. A Signa API key grants
42
+ * full access to the org's trademark data and usage — putting one in browser
43
+ * code exposes it to every visitor (including hostile ones) via the page
44
+ * source, the Network tab, and any third-party script running on the page.
45
+ * The correct architecture is to proxy Signa requests through your own
46
+ * backend and authenticate end-users with your own session layer.
47
+ *
48
+ * If the SDK is instantiated in an environment where `window` is defined it
49
+ * emits a single `console.warn` on construction. You can silence this warning
50
+ * in two ways (both signal you understand the risk and have accepted it):
51
+ *
52
+ * - pass `{ allowBrowser: true }` to the constructor, or
53
+ * - set the `SIGNA_ALLOW_BROWSER=1` environment variable at build time.
27
54
  */
28
55
  export class Signa {
29
56
  // ── Static error classes (enables Signa.NotFoundError pattern) ────
@@ -42,34 +69,93 @@ export class Signa {
42
69
  trademarks;
43
70
  /** Owner operations: retrieve, list, trademarks. */
44
71
  owners;
72
+ /** Entity operations: retrieve, list, trademarks, family (PLN-118). */
73
+ entities;
45
74
  /** Attorney operations: retrieve, list, trademarks. */
46
75
  attorneys;
47
76
  /** Firm operations: retrieve, list, attorneys, trademarks. */
48
77
  firms;
49
78
  /** Proceeding operations: retrieve, list. */
50
79
  proceedings;
51
- /** Search operations: query, suggest. */
52
- search;
53
- /** Reference data: classifications, offices, jurisdictions, statuses, event types, design codes. */
80
+ /** Assignment operations: retrieve, list. */
81
+ assignments;
82
+ /** Suggest operations: cross-entity typeahead. */
83
+ suggest;
84
+ /** Reference data: classifications, offices, jurisdictions, event types, design codes. */
54
85
  references;
86
+ analytics;
87
+ /** Deadline computation: batch maintenance deadline calculations. */
88
+ deadlines;
89
+ /** Opposition windows: batch opposition deadline calculations. */
90
+ oppositions;
91
+ /** Reconciliation: compare caller records against register data. */
92
+ reconcile;
93
+ /**
94
+ * Goods & services: accepted-terms catalog (browse/search) and AI-assisted
95
+ * G&S specification drafting.
96
+ */
97
+ goodsServices;
55
98
  /** Portfolio management: CRUD, marks, deadlines. */
56
99
  portfolios;
57
100
  /** Saved search management: CRUD, re-execute. */
58
101
  savedSearches;
59
- /** Watch management: CRUD, watch-scoped alerts. */
102
+ /** Customer feedback: submit data issues, bug reports, and feature requests. */
103
+ feedback;
104
+ /**
105
+ * Watch management — monitoring v1 (TSK-111).
106
+ *
107
+ * Five watch types (mark / portfolio / owner / class / similarity)
108
+ * compile to a single query DSL. Lifecycle: create, list, retrieve,
109
+ * update, pause/resume, replay, preview, bulk, soft-delete, plus
110
+ * per-watch alert listing.
111
+ */
60
112
  watches;
61
- /** Alert operations: list, retrieve, acknowledge, dismiss, batch. */
113
+ /**
114
+ * Alerts — read-only. Alerts are immutable in monitoring v1
115
+ * (VAL-API-018b). Use `list`, `retrieve`, or `lookup(ids)` for
116
+ * polling. Track open work in your own systems.
117
+ */
62
118
  alerts;
119
+ /**
120
+ * Webhook endpoints — monitoring v1 push delivery. Standard Webhooks
121
+ * signed POSTs with rotation overlap and per-endpoint auto-disable on
122
+ * sustained 4xx/5xx. Verify deliveries with `verifyWebhookSignature`
123
+ * exported from the SDK root.
124
+ */
125
+ webhooks;
63
126
  /** Event stream: list, retrieve with diffs. */
64
127
  events;
65
- /** Platform: identity, usage, API key management. */
66
- platform;
128
+ /**
129
+ * Screening — INTERNAL/beta (`screening:read` scope). `checkListing` extracts
130
+ * candidate marks from listing text and returns a listing-level verdict.
131
+ */
132
+ screening;
133
+ /** Pair comparison — PUBLIC beta (`screening:read` scope). */
134
+ compare;
135
+ /** Organization: identity, usage, API key management. */
136
+ organization;
67
137
  /** @internal */
68
138
  _config;
69
139
  constructor(opts = {}) {
70
140
  const apiKey = opts.api_key ?? readEnv('SIGNA_API_KEY');
71
141
  if (!apiKey) {
72
- throw new SignaError('API key is required. Pass { api_key: "sig_live_..." } or set the SIGNA_API_KEY environment variable.');
142
+ throw new SignaError('API key is required. Pass { api_key: "sig_..." } or set the SIGNA_API_KEY environment variable.');
143
+ }
144
+ // Browser-use warning. Signa API keys are long-lived secrets; using
145
+ // them in a browser exposes the key to every page visitor. The
146
+ // correct architecture is a server-side proxy. Opt out with
147
+ // `{ allowBrowser: true }` or SIGNA_ALLOW_BROWSER=1 if you know what
148
+ // you're doing (e.g. a trusted internal dashboard behind SSO where
149
+ // the "key" is really a scoped session token).
150
+ //
151
+ // We probe `globalThis.window` rather than the bare `window`
152
+ // identifier so the SDK's tsconfig can stay on a node-only `lib`
153
+ // without needing DOM types just for this check.
154
+ if (typeof globalThis.window !== 'undefined') {
155
+ const allowBrowser = opts.allowBrowser === true || readEnv('SIGNA_ALLOW_BROWSER') === '1';
156
+ if (!allowBrowser) {
157
+ console.warn('[signa] The Signa SDK is designed for server-side use. Using a secret API key in the browser exposes it to any visitor. Proxy requests through your backend.');
158
+ }
73
159
  }
74
160
  // Validate max_retries
75
161
  const maxRetries = opts.max_retries ?? DEFAULT_MAX_RETRIES;
@@ -91,17 +177,28 @@ export class Signa {
91
177
  };
92
178
  this.trademarks = new Trademarks(this._config);
93
179
  this.owners = new Owners(this._config);
180
+ this.entities = new Entities(this._config);
94
181
  this.attorneys = new Attorneys(this._config);
95
182
  this.firms = new Firms(this._config);
96
183
  this.proceedings = new Proceedings(this._config);
97
- this.search = new Search(this._config);
184
+ this.assignments = new Assignments(this._config);
185
+ this.suggest = new Suggest(this._config);
98
186
  this.references = new References(this._config);
187
+ this.analytics = new Analytics(this._config);
188
+ this.deadlines = new Deadlines(this._config);
189
+ this.oppositions = new Oppositions(this._config);
190
+ this.reconcile = new Reconcile(this._config);
191
+ this.goodsServices = new GoodsServices(this._config);
99
192
  this.portfolios = new Portfolios(this._config);
100
193
  this.savedSearches = new SavedSearches(this._config);
194
+ this.feedback = new FeedbackResource(this._config);
101
195
  this.watches = new Watches(this._config);
102
196
  this.alerts = new Alerts(this._config);
197
+ this.webhooks = new Webhooks(this._config);
103
198
  this.events = new Events(this._config);
104
- this.platform = new Platform(this._config);
199
+ this.screening = new Screening(this._config);
200
+ this.compare = new Compare(this._config);
201
+ this.organization = new Organization(this._config);
105
202
  }
106
203
  }
107
204
  /** Safely read an env var (works in Node, Bun, Deno; no-op in browsers/edge). */
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/errors.d.ts CHANGED
@@ -61,6 +61,13 @@ export declare function createAPIError(status: number, body: {
61
61
  }, headers: Headers): SignaAPIError;
62
62
  /**
63
63
  * Returns true if this error is retryable (connection, timeout, 429, 5xx).
64
+ *
65
+ * PLN-119 C6b: the server's parsed error envelope is nested at
66
+ * `error.error` (see {@link createAPIError}) and may carry an explicit
67
+ * `retryable: false` verdict (e.g. the preview `504 preview_timeout`
68
+ * envelope — a blind retry re-runs the exact same over-budget work). That
69
+ * verdict is honored BEFORE the status-based heuristic, so the SDK no
70
+ * longer re-hammers deterministic failures just because they are 5xx.
64
71
  */
65
72
  export declare function isRetryable(error: unknown): boolean;
66
73
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C;;;GAGG;AACH,qBAAa,UAAW,SAAQ,KAAK;gBACvB,OAAO,EAAE,MAAM;CAI5B;AAED;;;GAGG;AACH,qBAAa,aAAc,SAAQ,UAAU;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;gBAGxB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO;CASnB;AAID,qBAAa,eAAgB,SAAQ,aAAa;gBACpC,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;CAIrE;AAED,qBAAa,mBAAoB,SAAQ,aAAa;gBACxC,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;CAIrE;AAED,qBAAa,eAAgB,SAAQ,aAAa;gBACpC,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;CAIrE;AAED,qBAAa,aAAc,SAAQ,aAAa;gBAClC,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;CAIrE;AAED,uEAAuE;AACvE,qBAAa,aAAc,SAAQ,aAAa;gBAClC,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;CAIrE;AAED,qBAAa,cAAe,SAAQ,aAAa;IAC/C,2EAA2E;IAC3E,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;gBAEjB,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;CAKrE;AAED,qBAAa,mBAAoB,SAAQ,aAAa;gBACxC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;CAIrF;AAED,6DAA6D;AAC7D,qBAAa,eAAgB,SAAQ,UAAU;IAC7C,SAAkB,KAAK,CAAC,EAAE,KAAK,CAAC;gBAEpB,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK;CAK3C;AAED,yCAAyC;AACzC,qBAAa,YAAa,SAAQ,UAAU;gBAC9B,SAAS,EAAE,MAAM;CAI9B;AAgBD;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE;IAAE,KAAK,EAAE,YAAY,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,EACjD,OAAO,EAAE,OAAO,GACf,aAAa,CAoBf;AAgBD;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAMnD"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C;;;GAGG;AACH,qBAAa,UAAW,SAAQ,KAAK;gBACvB,OAAO,EAAE,MAAM;CAI5B;AAED;;;GAGG;AACH,qBAAa,aAAc,SAAQ,UAAU;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;gBAGxB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO;CASnB;AAID,qBAAa,eAAgB,SAAQ,aAAa;gBACpC,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;CAIrE;AAED,qBAAa,mBAAoB,SAAQ,aAAa;gBACxC,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;CAIrE;AAED,qBAAa,eAAgB,SAAQ,aAAa;gBACpC,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;CAIrE;AAED,qBAAa,aAAc,SAAQ,aAAa;gBAClC,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;CAIrE;AAED,uEAAuE;AACvE,qBAAa,aAAc,SAAQ,aAAa;gBAClC,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;CAIrE;AAED,qBAAa,cAAe,SAAQ,aAAa;IAC/C,2EAA2E;IAC3E,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;gBAEjB,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;CAKrE;AAED,qBAAa,mBAAoB,SAAQ,aAAa;gBACxC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;CAIrF;AAED,6DAA6D;AAC7D,qBAAa,eAAgB,SAAQ,UAAU;IAC7C,SAAkB,KAAK,CAAC,EAAE,KAAK,CAAC;gBAEpB,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK;CAK3C;AAED,yCAAyC;AACzC,qBAAa,YAAa,SAAQ,UAAU;gBAC9B,SAAS,EAAE,MAAM;CAI9B;AAgBD;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE;IAAE,KAAK,EAAE,YAAY,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,EACjD,OAAO,EAAE,OAAO,GACf,aAAa,CAoBf;AAgBD;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAOnD"}
package/dist/errors.js CHANGED
@@ -108,7 +108,7 @@ export function createAPIError(status, body, headers) {
108
108
  const error = (body?.error && typeof body.error.type === 'string')
109
109
  ? body.error
110
110
  : {
111
- type: `https://api.signa.so/errors/unknown`,
111
+ type: 'unknown',
112
112
  title: 'Error',
113
113
  status,
114
114
  detail: body?.error?.message ?? body?.error?.detail ?? body?.message ?? body?.detail ?? `HTTP ${status}`,
@@ -139,11 +139,20 @@ function parseRetryAfter(headers) {
139
139
  }
140
140
  /**
141
141
  * Returns true if this error is retryable (connection, timeout, 429, 5xx).
142
+ *
143
+ * PLN-119 C6b: the server's parsed error envelope is nested at
144
+ * `error.error` (see {@link createAPIError}) and may carry an explicit
145
+ * `retryable: false` verdict (e.g. the preview `504 preview_timeout`
146
+ * envelope — a blind retry re-runs the exact same over-budget work). That
147
+ * verdict is honored BEFORE the status-based heuristic, so the SDK no
148
+ * longer re-hammers deterministic failures just because they are 5xx.
142
149
  */
143
150
  export function isRetryable(error) {
144
151
  if (error instanceof ConnectionError || error instanceof TimeoutError)
145
152
  return true;
146
153
  if (error instanceof SignaAPIError) {
154
+ if (error.error?.retryable === false)
155
+ return false;
147
156
  return error.status === 429 || error.status >= 500;
148
157
  }
149
158
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}