@uluops/ops-sdk 5.11.0 → 5.11.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/CHANGELOG.md CHANGED
@@ -6,6 +6,34 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [5.11.1] - 2026-08-02
10
+
11
+ ### Fixed
12
+
13
+ - **Failure-code examples in TSDoc, error messages and README now use canonical codes.**
14
+ `SEM-VAL` was the worked example in five source sites and two README examples, and it is
15
+ not a valid code — `VAL` is an `EPI` mode, so `EPI-VAL` exists and `SEM-VAL` does not.
16
+ Codes are drawn from a closed set rather than composed from a domain and a mode
17
+ independently — 24 at the time of this fix, 28 since failure-taxonomy v1.1.0 added
18
+ `STR-ORG`, `SEM-CAT`, `PRA-ACT` and `EPI-SCP`. The count is stated as a range because
19
+ this entry is a record of a fix, not a live mode list; the authority is the
20
+ `failure_taxonomy` catalog served by `GET /taxonomy`.
21
+
22
+ These are TSDoc, so they surface in consumer IDE tooltips and the generated API docs —
23
+ the invalid example reached every downstream developer at the point of use. Affected:
24
+ `types/schemas.ts` (the "invalid failure code format" message), `types/enums.ts` ×2,
25
+ `config/validators.ts`, `operations/runs.ts` (`@example`), and README.
26
+
27
+ Two further non-canonical codes were found in README examples while verifying and are also
28
+ corrected: `PRA-SEC/C` (`SEC` is not a mode) on a SQL-injection example, now `SEM-INC/C`
29
+ to match `security-analyst`'s own convention, and a `STR-OMI/M` on a missing-error-handling
30
+ example, now `PRA-FRA/M`. The `runs.ts` `@example` pairing "Missing null check" now reads
31
+ `SEM-COM/M`, matching the worked example in the agent render template.
32
+
33
+ No behaviour change — the validation regex is unchanged and still checks format, not
34
+ membership. This corrects what the SDK *teaches*, not what it accepts.
35
+
36
+
9
37
  ## [5.11.0] - 2026-08-02
10
38
 
11
39
  ### Changed
package/README.md CHANGED
@@ -811,7 +811,7 @@ const result = await client.runs.save({
811
811
  filePath: 'src/api/client.ts',
812
812
  lineNumber: 42,
813
813
  description: 'Add try-catch for network errors',
814
- failureCode: 'SEM-VAL/M',
814
+ failureCode: 'PRA-FRA/M',
815
815
  },
816
816
  ],
817
817
  summary: {
@@ -1121,7 +1121,7 @@ Create a user-submitted issue.
1121
1121
  | `filePath` | `string` | No | File path where issue exists |
1122
1122
  | `lineNumber` | `number` | No | Line number |
1123
1123
  | `description` | `string` | No | Detailed description |
1124
- | `failureCode` | `string` | No | Taxonomy code (e.g., `'SEM-VAL/H'`) |
1124
+ | `failureCode` | `string` | No | Taxonomy code (e.g., `'STR-OMI/H'`) |
1125
1125
  | `agent` | `string` | No | Agent name (defaults to `'user-submitted'`) |
1126
1126
 
1127
1127
  ```typescript
@@ -1134,7 +1134,7 @@ const issue = await client.issues.create({
1134
1134
  filePath: 'src/auth/login.ts',
1135
1135
  lineNumber: 45,
1136
1136
  description: 'SQL injection vulnerability in login query',
1137
- failureCode: 'PRA-SEC/C',
1137
+ failureCode: 'SEM-INC/C',
1138
1138
  });
1139
1139
  ```
1140
1140
 
@@ -35,5 +35,5 @@ export { SDK_VERSION };
35
35
  /**
36
36
  * User agent string for requests
37
37
  */
38
- export declare const USER_AGENT = "@uluops/ops-sdk/5.11.0";
38
+ export declare const USER_AGENT = "@uluops/ops-sdk/5.11.1";
39
39
  //# sourceMappingURL=constants.d.ts.map
@@ -1,2 +1,2 @@
1
- export declare const SDK_VERSION = "5.11.0";
1
+ export declare const SDK_VERSION = "5.11.1";
2
2
  //# sourceMappingURL=generated-version.d.ts.map
@@ -1,3 +1,3 @@
1
1
  // Auto-generated by prebuild — do not edit
2
- export const SDK_VERSION = '5.11.0';
2
+ export const SDK_VERSION = '5.11.1';
3
3
  //# sourceMappingURL=generated-version.js.map
@@ -138,7 +138,7 @@ export declare function validateUpdateRunInput(data: unknown): z.infer<typeof Up
138
138
  * @param data - Raw input with required: `project` (1-200), `title` (1-500),
139
139
  * `priority` ('critical' | 'high' | 'suggested' | 'backlog').
140
140
  * Optional: `severity`, `category`, `description` (max 10000), `filePath`, `lineNumber`,
141
- * `failureCode` (e.g. 'SEM-VAL/H'), `failureDomain`, `failureMode`, `agent`, `type`.
141
+ * `failureCode` (e.g. 'STR-OMI/H'), `failureDomain`, `failureMode`, `agent`, `type`.
142
142
  * @returns Validated `CreateUserIssueInput`
143
143
  * @throws {InputValidationError} If required fields missing or constraints violated
144
144
  */
@@ -202,7 +202,7 @@ export function validateUpdateRunInput(data) {
202
202
  * @param data - Raw input with required: `project` (1-200), `title` (1-500),
203
203
  * `priority` ('critical' | 'high' | 'suggested' | 'backlog').
204
204
  * Optional: `severity`, `category`, `description` (max 10000), `filePath`, `lineNumber`,
205
- * `failureCode` (e.g. 'SEM-VAL/H'), `failureDomain`, `failureMode`, `agent`, `type`.
205
+ * `failureCode` (e.g. 'STR-OMI/H'), `failureDomain`, `failureMode`, `agent`, `type`.
206
206
  * @returns Validated `CreateUserIssueInput`
207
207
  * @throws {InputValidationError} If required fields missing or constraints violated
208
208
  */
@@ -18,7 +18,7 @@ import { RunSummaryResponseSchema, RunAnalysisResponseSchema, ProjectAnalysisLis
18
18
  * project: 'my-project',
19
19
  * workflowType: 'post-implementation',
20
20
  * agents: [{ name: 'code-validator', score: 85, decision: 'PASS' }],
21
- * recommendations: [{ agent: 'code-validator', title: 'Missing null check', priority: 'suggested', failureCode: 'SEM-VAL/M' }],
21
+ * recommendations: [{ agent: 'code-validator', title: 'Missing null check', priority: 'suggested', failureCode: 'SEM-COM/M' }],
22
22
  * });
23
23
  * console.log(result.run.runNumber, result.correlation.newIssues);
24
24
  * ```
@@ -18,7 +18,7 @@ import { validateSaveRunInput, validateArchiveRunsInput, validateUpdateRunInput,
18
18
  * project: 'my-project',
19
19
  * workflowType: 'post-implementation',
20
20
  * agents: [{ name: 'code-validator', score: 85, decision: 'PASS' }],
21
- * recommendations: [{ agent: 'code-validator', title: 'Missing null check', priority: 'suggested', failureCode: 'SEM-VAL/M' }],
21
+ * recommendations: [{ agent: 'code-validator', title: 'Missing null check', priority: 'suggested', failureCode: 'SEM-COM/M' }],
22
22
  * });
23
23
  * console.log(result.run.runNumber, result.correlation.newIssues);
24
24
  * ```
@@ -186,13 +186,13 @@ export declare const BulkFailureReason: {
186
186
  export type BulkFailureReason = (typeof BulkFailureReason)[keyof typeof BulkFailureReason];
187
187
  /**
188
188
  * Failure code regex pattern
189
- * Format: DOMAIN-MODE/SEVERITY (e.g., SEM-VAL/H)
189
+ * Format: DOMAIN-MODE/SEVERITY (e.g., STR-OMI/H)
190
190
  * Accepts any uppercase 3-letter domain — not restricted to well-known domains.
191
191
  */
192
192
  export declare const FAILURE_CODE_PATTERN: RegExp;
193
193
  /**
194
194
  * Failure mode pattern (without severity)
195
- * Format: DOMAIN-MODE (e.g., SEM-VAL)
195
+ * Format: DOMAIN-MODE (e.g., STR-OMI)
196
196
  * Accepts any uppercase 3-letter domain — not restricted to well-known domains.
197
197
  */
198
198
  export declare const FAILURE_MODE_PATTERN: RegExp;
@@ -178,13 +178,13 @@ export const BulkFailureReason = {
178
178
  };
179
179
  /**
180
180
  * Failure code regex pattern
181
- * Format: DOMAIN-MODE/SEVERITY (e.g., SEM-VAL/H)
181
+ * Format: DOMAIN-MODE/SEVERITY (e.g., STR-OMI/H)
182
182
  * Accepts any uppercase 3-letter domain — not restricted to well-known domains.
183
183
  */
184
184
  export const FAILURE_CODE_PATTERN = /^[A-Z]{3}-[A-Z]{3}\/[CHMLI]$/;
185
185
  /**
186
186
  * Failure mode pattern (without severity)
187
- * Format: DOMAIN-MODE (e.g., SEM-VAL)
187
+ * Format: DOMAIN-MODE (e.g., STR-OMI)
188
188
  * Accepts any uppercase 3-letter domain — not restricted to well-known domains.
189
189
  */
190
190
  export const FAILURE_MODE_PATTERN = /^[A-Z]{3}-[A-Z]{3}$/;
@@ -32,7 +32,7 @@ export const IssueTypeSchema = z.enum(ISSUE_TYPES);
32
32
  export const NoteTypeSchema = z.enum(NOTE_TYPES);
33
33
  export const AvatarMimeTypeSchema = z.enum(AVATAR_MIME_TYPES);
34
34
  export const FailureCodeSchema = z.string().regex(FAILURE_CODE_PATTERN, {
35
- message: 'Invalid failure code format. Expected: DOMAIN-MODE/SEVERITY (e.g., SEM-VAL/H)',
35
+ message: 'Invalid failure code format. Expected: DOMAIN-MODE/SEVERITY (e.g., STR-OMI/H)',
36
36
  });
37
37
  // ============================================
38
38
  // AUTH SCHEMAS
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uluops/ops-sdk",
3
- "version": "5.11.0",
3
+ "version": "5.11.1",
4
4
  "description": "SDK for the UluOps platform API — execution tracking, analytics, and auth",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",