@attestry/sdk 0.6.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 (99) hide show
  1. package/LICENSE +190 -0
  2. package/README.md +1269 -0
  3. package/dist/client.d.ts +58 -0
  4. package/dist/client.d.ts.map +1 -0
  5. package/dist/client.js +74 -0
  6. package/dist/client.js.map +1 -0
  7. package/dist/constants.d.ts +7 -0
  8. package/dist/constants.d.ts.map +1 -0
  9. package/dist/constants.js +43 -0
  10. package/dist/constants.js.map +1 -0
  11. package/dist/errors.d.ts +16 -0
  12. package/dist/errors.d.ts.map +1 -0
  13. package/dist/errors.js +41 -0
  14. package/dist/errors.js.map +1 -0
  15. package/dist/index.d.ts +17 -0
  16. package/dist/index.d.ts.map +1 -0
  17. package/dist/index.js +20 -0
  18. package/dist/index.js.map +1 -0
  19. package/dist/lines-parser.d.ts +50 -0
  20. package/dist/lines-parser.d.ts.map +1 -0
  21. package/dist/lines-parser.js +211 -0
  22. package/dist/lines-parser.js.map +1 -0
  23. package/dist/ndjson-parser.d.ts +57 -0
  24. package/dist/ndjson-parser.d.ts.map +1 -0
  25. package/dist/ndjson-parser.js +245 -0
  26. package/dist/ndjson-parser.js.map +1 -0
  27. package/dist/resources/abac-policies.d.ts +1034 -0
  28. package/dist/resources/abac-policies.d.ts.map +1 -0
  29. package/dist/resources/abac-policies.js +1519 -0
  30. package/dist/resources/abac-policies.js.map +1 -0
  31. package/dist/resources/audit-log.d.ts +588 -0
  32. package/dist/resources/audit-log.d.ts.map +1 -0
  33. package/dist/resources/audit-log.js +629 -0
  34. package/dist/resources/audit-log.js.map +1 -0
  35. package/dist/resources/batch.d.ts +845 -0
  36. package/dist/resources/batch.d.ts.map +1 -0
  37. package/dist/resources/batch.js +1074 -0
  38. package/dist/resources/batch.js.map +1 -0
  39. package/dist/resources/chat.d.ts +151 -0
  40. package/dist/resources/chat.d.ts.map +1 -0
  41. package/dist/resources/chat.js +124 -0
  42. package/dist/resources/chat.js.map +1 -0
  43. package/dist/resources/check.d.ts +348 -0
  44. package/dist/resources/check.d.ts.map +1 -0
  45. package/dist/resources/check.js +543 -0
  46. package/dist/resources/check.js.map +1 -0
  47. package/dist/resources/compliance-check.d.ts +330 -0
  48. package/dist/resources/compliance-check.d.ts.map +1 -0
  49. package/dist/resources/compliance-check.js +402 -0
  50. package/dist/resources/compliance-check.js.map +1 -0
  51. package/dist/resources/decisions.d.ts +1208 -0
  52. package/dist/resources/decisions.d.ts.map +1 -0
  53. package/dist/resources/decisions.js +1362 -0
  54. package/dist/resources/decisions.js.map +1 -0
  55. package/dist/resources/evidence-pack.d.ts +1080 -0
  56. package/dist/resources/evidence-pack.d.ts.map +1 -0
  57. package/dist/resources/evidence-pack.js +1789 -0
  58. package/dist/resources/evidence-pack.js.map +1 -0
  59. package/dist/resources/gate.d.ts +613 -0
  60. package/dist/resources/gate.d.ts.map +1 -0
  61. package/dist/resources/gate.js +737 -0
  62. package/dist/resources/gate.js.map +1 -0
  63. package/dist/resources/incidents.d.ts +136 -0
  64. package/dist/resources/incidents.d.ts.map +1 -0
  65. package/dist/resources/incidents.js +229 -0
  66. package/dist/resources/incidents.js.map +1 -0
  67. package/dist/resources/regulatory-changes.d.ts +307 -0
  68. package/dist/resources/regulatory-changes.d.ts.map +1 -0
  69. package/dist/resources/regulatory-changes.js +365 -0
  70. package/dist/resources/regulatory-changes.js.map +1 -0
  71. package/dist/resources/safe-input-read.d.ts +21 -0
  72. package/dist/resources/safe-input-read.d.ts.map +1 -0
  73. package/dist/resources/safe-input-read.js +57 -0
  74. package/dist/resources/safe-input-read.js.map +1 -0
  75. package/dist/resources/ship-gate.d.ts +475 -0
  76. package/dist/resources/ship-gate.d.ts.map +1 -0
  77. package/dist/resources/ship-gate.js +727 -0
  78. package/dist/resources/ship-gate.js.map +1 -0
  79. package/dist/resources/vision.d.ts +540 -0
  80. package/dist/resources/vision.d.ts.map +1 -0
  81. package/dist/resources/vision.js +1036 -0
  82. package/dist/resources/vision.js.map +1 -0
  83. package/dist/retry.d.ts +103 -0
  84. package/dist/retry.d.ts.map +1 -0
  85. package/dist/retry.js +224 -0
  86. package/dist/retry.js.map +1 -0
  87. package/dist/sse-parser.d.ts +64 -0
  88. package/dist/sse-parser.d.ts.map +1 -0
  89. package/dist/sse-parser.js +271 -0
  90. package/dist/sse-parser.js.map +1 -0
  91. package/dist/transport.d.ts +142 -0
  92. package/dist/transport.d.ts.map +1 -0
  93. package/dist/transport.js +455 -0
  94. package/dist/transport.js.map +1 -0
  95. package/dist/types.d.ts +61 -0
  96. package/dist/types.d.ts.map +1 -0
  97. package/dist/types.js +3 -0
  98. package/dist/types.js.map +1 -0
  99. package/package.json +44 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gate.js","sourceRoot":"","sources":["../../src/resources/gate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,136 @@
1
+ import type { AttestryClient } from "../client.js";
2
+ import type { FrameworkCode, IncidentType, Severity } from "../constants.js";
3
+ import type { RequestOptions } from "../types.js";
4
+ export interface IncidentReportInput {
5
+ incidentType: IncidentType;
6
+ severity: Severity;
7
+ /** Defaults to `[]` when omitted. */
8
+ frameworksAffected?: FrameworkCode[];
9
+ /** 1-10_000 chars. RAW caller text — server runs anonymizer at write time. */
10
+ description: string;
11
+ context?: Record<string, unknown>;
12
+ /**
13
+ * System / agent / model names to be hashed (not redacted) so cross-row
14
+ * correlation is preserved. ≤50 entries, each ≤200 chars.
15
+ */
16
+ systemNames?: string[];
17
+ /** Default false — explicit opt-in to share into the cross-tenant corpus. */
18
+ optInShare?: boolean;
19
+ /** Default false. */
20
+ resolved?: boolean;
21
+ }
22
+ export interface Incident {
23
+ id: string;
24
+ incidentType: IncidentType;
25
+ severity: Severity;
26
+ frameworksAffected: FrameworkCode[];
27
+ /**
28
+ * Anonymized description AFTER the server's PII scrub. SDK callers see
29
+ * this; raw input is never returned.
30
+ */
31
+ anonymizedDescription: string;
32
+ patternHash: string;
33
+ resolved: boolean;
34
+ optInShare: boolean;
35
+ createdAt: string;
36
+ }
37
+ export interface IncidentListInput {
38
+ /**
39
+ * `mine` returns the auth org's incidents (any opt-in state). `shared`
40
+ * (default) returns the cross-tenant corpus filtered to opt-in rows.
41
+ */
42
+ scope?: "mine" | "shared";
43
+ incidentType?: IncidentType;
44
+ severity?: Severity;
45
+ framework?: FrameworkCode;
46
+ resolved?: boolean;
47
+ /** ISO timestamp lower bound (inclusive). */
48
+ from?: string;
49
+ /** ISO timestamp upper bound (exclusive). */
50
+ to?: string;
51
+ cursor?: string;
52
+ /** 1-200, default 50. */
53
+ limit?: number;
54
+ }
55
+ export interface IncidentListResponse {
56
+ items: Incident[];
57
+ /**
58
+ * Cursor for the next page. `null` (NOT undefined) when no more pages
59
+ * — matches the kernel wire shape exactly. The kernel emits the field
60
+ * even on the last page (with value `null`), so the SDK type reflects
61
+ * that contract literally. Pass as `input.cursor` on the next call to
62
+ * fetch the following page.
63
+ *
64
+ * Note: this is `string | null` not `string | undefined`; consumers
65
+ * comparing should use `nextCursor !== null` rather than truthy
66
+ * coercion. (Truthy works too — null is falsy — but the explicit
67
+ * comparison documents intent better.)
68
+ */
69
+ nextCursor: string | null;
70
+ }
71
+ export interface IncidentPatchInput {
72
+ optInShare?: boolean;
73
+ resolved?: boolean;
74
+ }
75
+ export interface IncidentSearchInput {
76
+ query?: string;
77
+ patternHashes?: string[];
78
+ incidentTypes?: IncidentType[];
79
+ frameworks?: FrameworkCode[];
80
+ /** 1-50, default 20. */
81
+ limit?: number;
82
+ }
83
+ export interface IncidentClusterSeverityCounts {
84
+ low: number;
85
+ medium: number;
86
+ high: number;
87
+ critical: number;
88
+ }
89
+ export interface IncidentCluster {
90
+ patternHash: string;
91
+ incidentType: IncidentType;
92
+ frameworksAffected: FrameworkCode[];
93
+ count: number;
94
+ resolvedCount: number;
95
+ unresolvedCount: number;
96
+ earliestAt: string;
97
+ latestAt: string;
98
+ representativeDescription: string;
99
+ severityCounts: IncidentClusterSeverityCounts;
100
+ }
101
+ export interface IncidentSearchResponse {
102
+ clusters: IncidentCluster[];
103
+ count: number;
104
+ /** True when the underlying corpus was bigger than the search cap pulled. */
105
+ truncated: boolean;
106
+ }
107
+ export declare class IncidentsResource {
108
+ private readonly client;
109
+ constructor(client: AttestryClient);
110
+ /** Submit a new incident. Server-side PII scrub runs before insert. */
111
+ create(input: IncidentReportInput, options?: RequestOptions): Promise<Incident>;
112
+ /**
113
+ * Cursor-paginated list of incidents the caller can see.
114
+ *
115
+ * Response-shape validation (P2 hardening):
116
+ * - Rejects with `AttestryError` if the kernel response isn't a
117
+ * non-null object, lacks an `items` array, or has a `nextCursor`
118
+ * that isn't a string-or-null. Per-row shape is faithful-courier
119
+ * (NOT validated — P4 candidate).
120
+ *
121
+ * Transport-shape validation (P3 hardening):
122
+ * - Rejects with `AttestryAPIError` if the kernel responds with a
123
+ * non-`application/json` Content-Type — protects against
124
+ * proxy-injected HTML 200 pages parsing into junk consumer state.
125
+ */
126
+ list(input?: IncidentListInput, options?: RequestOptions): Promise<IncidentListResponse>;
127
+ /** Toggle the customer-controlled flags. Anonymized payload is immutable. */
128
+ update(id: string, input: IncidentPatchInput, options?: RequestOptions): Promise<Incident>;
129
+ /**
130
+ * Cross-tenant pattern search. Returns CLUSTERS — never raw rows. Wraps
131
+ * `POST /api/ai/incidents/search`. At least one of `query`,
132
+ * `patternHashes`, `incidentTypes`, `frameworks` must be present.
133
+ */
134
+ search(input: IncidentSearchInput, options?: RequestOptions): Promise<IncidentSearchResponse>;
135
+ }
136
+ //# sourceMappingURL=incidents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"incidents.d.ts","sourceRoot":"","sources":["../../src/resources/incidents.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,229 @@
1
+ // ─── Incidents resource ─────────────────────────────────────────────────────
2
+ //
3
+ // Wraps the AI Incident Database surface (Prompt 16.5 + B.5):
4
+ //
5
+ // - POST /api/v1/incidents create
6
+ // - GET /api/v1/incidents list (cursor + filters)
7
+ // - PATCH /api/v1/incidents/:id update (optInShare / resolved)
8
+ // - POST /api/ai/incidents/search cluster search
9
+ //
10
+ // The SDK's public input/output types are decoupled from the kernel's
11
+ // internal Zod schemas. Drift detection lives in a follow-on pin (kernel
12
+ // reads packages/attestry-sdk/src/constants.ts and asserts the enum
13
+ // arrays match). Adding a new field to the kernel surface = explicit SDK
14
+ // release; we don't proxy unknown fields.
15
+ import { AttestryError } from "../errors.js";
16
+ import { readInputField } from "./safe-input-read.js";
17
+ export class IncidentsResource {
18
+ client;
19
+ constructor(client) {
20
+ this.client = client;
21
+ }
22
+ /** Submit a new incident. Server-side PII scrub runs before insert. */
23
+ create(input, options) {
24
+ return this.client._request({
25
+ method: "POST",
26
+ path: "/api/v1/incidents",
27
+ body: input,
28
+ options,
29
+ });
30
+ }
31
+ /**
32
+ * Cursor-paginated list of incidents the caller can see.
33
+ *
34
+ * Response-shape validation (P2 hardening):
35
+ * - Rejects with `AttestryError` if the kernel response isn't a
36
+ * non-null object, lacks an `items` array, or has a `nextCursor`
37
+ * that isn't a string-or-null. Per-row shape is faithful-courier
38
+ * (NOT validated — P4 candidate).
39
+ *
40
+ * Transport-shape validation (P3 hardening):
41
+ * - Rejects with `AttestryAPIError` if the kernel responds with a
42
+ * non-`application/json` Content-Type — protects against
43
+ * proxy-injected HTML 200 pages parsing into junk consumer state.
44
+ */
45
+ list(input = {}, options) {
46
+ // Snapshot each query field via `readInputField` — a throwing
47
+ // accessor surfaces as the documented synchronous `TypeError`
48
+ // rather than the getter's raw exception (session-22 hostile
49
+ // review #1 — the SDK-wide MEDIUM-1 getter-throws fix). The `as`
50
+ // cast restores each field's declared `IncidentListInput` type for
51
+ // the typed query construction below; it re-asserts only what the
52
+ // consumer's own TypeScript type already claims.
53
+ const scope = readInputField(input, "scope", "incidents.list");
54
+ const incidentType = readInputField(input, "incidentType", "incidents.list");
55
+ const severity = readInputField(input, "severity", "incidents.list");
56
+ const framework = readInputField(input, "framework", "incidents.list");
57
+ const resolved = readInputField(input, "resolved", "incidents.list");
58
+ const from = readInputField(input, "from", "incidents.list");
59
+ const to = readInputField(input, "to", "incidents.list");
60
+ const cursor = readInputField(input, "cursor", "incidents.list");
61
+ const limit = readInputField(input, "limit", "incidents.list");
62
+ // Synchronous lone-surrogate guard: the underlying transport runs
63
+ // encodeURIComponent over each query value, which throws raw
64
+ // URIError for malformed UTF-16. Without this check the URIError
65
+ // leaks into the consumer (inconsistent with `incidents.update`'s
66
+ // path-segment guard above and with the decisions.* resources
67
+ // hardened in commits 0428777 / 85064c0). Same defect-class
68
+ // sweep — close incidents.list now to keep the URIError surface
69
+ // uniform across the SDK.
70
+ if (scope !== undefined) {
71
+ assertEncodableIncidentQueryString(scope, "scope");
72
+ }
73
+ if (incidentType !== undefined) {
74
+ assertEncodableIncidentQueryString(incidentType, "incidentType");
75
+ }
76
+ if (severity !== undefined) {
77
+ assertEncodableIncidentQueryString(severity, "severity");
78
+ }
79
+ if (framework !== undefined) {
80
+ assertEncodableIncidentQueryString(framework, "framework");
81
+ }
82
+ if (from !== undefined) {
83
+ assertEncodableIncidentQueryString(from, "from");
84
+ }
85
+ if (to !== undefined) {
86
+ assertEncodableIncidentQueryString(to, "to");
87
+ }
88
+ if (cursor !== undefined) {
89
+ assertEncodableIncidentQueryString(cursor, "cursor");
90
+ }
91
+ return this.client
92
+ ._request({
93
+ method: "GET",
94
+ path: "/api/v1/incidents",
95
+ query: {
96
+ scope,
97
+ incidentType,
98
+ severity,
99
+ framework,
100
+ resolved,
101
+ from,
102
+ to,
103
+ cursor,
104
+ limit,
105
+ },
106
+ options,
107
+ })
108
+ .then((result) => {
109
+ // P2 hardening: validate response shape (mirrors decisions.list
110
+ // and regulatoryChanges.list). The kernel emits
111
+ // `{success:true, data:{items: Incident[], nextCursor: string|null}}`
112
+ // and the transport unwraps `data`. A regression to scalar/null
113
+ // would let consumers crash; throw AttestryError at the SDK
114
+ // boundary instead.
115
+ assertIncidentsListResponse(result);
116
+ return result;
117
+ });
118
+ }
119
+ /** Toggle the customer-controlled flags. Anonymized payload is immutable. */
120
+ update(id, input, options) {
121
+ if (typeof id !== "string" || id.length === 0) {
122
+ throw new TypeError("incidents.update: `id` is required");
123
+ }
124
+ let encoded;
125
+ try {
126
+ encoded = encodeURIComponent(id);
127
+ }
128
+ catch (err) {
129
+ // encodeURIComponent throws URIError on lone surrogates (malformed
130
+ // UTF-16). Surface that as the same TypeError shape consumers
131
+ // already expect from id-validation, instead of leaking the raw
132
+ // platform error class. Hostile round L1 (decisions resource) —
133
+ // symmetric carry-forward.
134
+ throw new TypeError(`incidents.update: \`id\` contains invalid UTF-16 sequences (${
135
+ // `encodeURIComponent` always throws URIError (an Error
136
+ // subclass), so the String(err) branch is unreachable.
137
+ // Defense-in-depth marker for the v8 coverage tool.
138
+ /* v8 ignore next */
139
+ err instanceof Error ? err.message : String(err)})`, { cause: err });
140
+ }
141
+ return this.client._request({
142
+ method: "PATCH",
143
+ path: `/api/v1/incidents/${encoded}`,
144
+ body: input,
145
+ options,
146
+ });
147
+ }
148
+ /**
149
+ * Cross-tenant pattern search. Returns CLUSTERS — never raw rows. Wraps
150
+ * `POST /api/ai/incidents/search`. At least one of `query`,
151
+ * `patternHashes`, `incidentTypes`, `frameworks` must be present.
152
+ */
153
+ search(input, options) {
154
+ return this.client._request({
155
+ method: "POST",
156
+ path: "/api/ai/incidents/search",
157
+ body: input,
158
+ options,
159
+ });
160
+ }
161
+ }
162
+ /**
163
+ * Synchronously verify a query-string value is encodable via
164
+ * `encodeURIComponent`. The platform throws `URIError` for malformed
165
+ * UTF-16 (lone surrogates such as `\uD800` / `\uDFFF`); the transport's
166
+ * `encodeQuery` does NOT catch it, so without this guard the failure
167
+ * leaks into `incidents.list` as a raw `URIError` — inconsistent with
168
+ * `incidents.update` (which already converts URIError → TypeError on
169
+ * the path-segment encoding) and with the decisions.* resources hardened
170
+ * in commits 0428777 / 85064c0.
171
+ *
172
+ * Cause-chained for debugging. Mirrors `assertEncodableQueryString` in
173
+ * resources/decisions.ts (deliberately duplicated rather than shared
174
+ * via a new helpers module — small function, two call sites today,
175
+ * extracting on a third).
176
+ */
177
+ function assertEncodableIncidentQueryString(value, fieldName) {
178
+ try {
179
+ encodeURIComponent(value);
180
+ }
181
+ catch (err) {
182
+ throw new TypeError(`incidents.list: \`${fieldName}\` contains invalid UTF-16 sequences (${
183
+ // encodeURIComponent always throws URIError (an Error subclass),
184
+ // so the String(err) branch is unreachable. Defense-in-depth
185
+ // marker for the v8 coverage tool.
186
+ /* v8 ignore next */
187
+ err instanceof Error ? err.message : String(err)})`, { cause: err });
188
+ }
189
+ }
190
+ /**
191
+ * Human-readable type description for response-shape error messages.
192
+ * Distinguishes `null` and `array` from generic `object`.
193
+ *
194
+ * Duplicated in `decisions.ts` and `regulatory-changes.ts` per
195
+ * project pattern (small helper, leaf-resource modules).
196
+ */
197
+ function describeType(value) {
198
+ if (value === null)
199
+ return "null";
200
+ if (Array.isArray(value))
201
+ return "array";
202
+ return typeof value;
203
+ }
204
+ /**
205
+ * P2 hardening: validate the kernel's `incidents.list` response
206
+ * shape. Mirrors `assertDecisionsListResponse` in `decisions.ts`.
207
+ *
208
+ * The kernel emits `{success:true, data:{items: Incident[],
209
+ * nextCursor: string|null}}`. After transport envelope-unwrap, we
210
+ * receive `{items, nextCursor}`. Asserts:
211
+ * - non-null, non-array object
212
+ * - `items` is an array
213
+ * - `nextCursor` is string OR null
214
+ *
215
+ * Per-row item shape NOT validated (faithful-courier).
216
+ */
217
+ function assertIncidentsListResponse(raw) {
218
+ if (raw === null || typeof raw !== "object" || Array.isArray(raw)) {
219
+ throw new AttestryError(`incidents.list: expected an object response from the kernel (got ${describeType(raw)})`);
220
+ }
221
+ const obj = raw;
222
+ if (!Array.isArray(obj.items)) {
223
+ throw new AttestryError(`incidents.list: kernel response missing or invalid \`items\` array (got ${describeType(obj.items)})`);
224
+ }
225
+ if (obj.nextCursor !== null && typeof obj.nextCursor !== "string") {
226
+ throw new AttestryError(`incidents.list: kernel response \`nextCursor\` must be string or null (got ${describeType(obj.nextCursor)})`);
227
+ }
228
+ }
229
+ //# sourceMappingURL=incidents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"incidents.js","sourceRoot":"","sources":["../../src/resources/incidents.ts"],"names":[],"mappings":"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"}