@uluops/ops-sdk 6.1.0 → 6.3.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.
Files changed (41) hide show
  1. package/CHANGELOG.md +41 -1
  2. package/README.md +41 -1
  3. package/dist/client.d.ts +69 -78
  4. package/dist/client.d.ts.map +1 -1
  5. package/dist/client.js +70 -62
  6. package/dist/client.js.map +1 -1
  7. package/dist/config/constants.d.ts +3 -1
  8. package/dist/config/constants.d.ts.map +1 -1
  9. package/dist/config/constants.js +2 -0
  10. package/dist/config/constants.js.map +1 -1
  11. package/dist/config/generated-version.d.ts +1 -1
  12. package/dist/config/generated-version.js +1 -1
  13. package/dist/config/index.d.ts +1 -0
  14. package/dist/config/index.d.ts.map +1 -1
  15. package/dist/config/index.js +1 -0
  16. package/dist/config/index.js.map +1 -1
  17. package/dist/config/workspace-org.d.ts +77 -0
  18. package/dist/config/workspace-org.d.ts.map +1 -0
  19. package/dist/config/workspace-org.js +182 -0
  20. package/dist/config/workspace-org.js.map +1 -0
  21. package/dist/errors/errors.d.ts +47 -0
  22. package/dist/errors/errors.d.ts.map +1 -1
  23. package/dist/errors/errors.js +39 -0
  24. package/dist/errors/errors.js.map +1 -1
  25. package/dist/http/http-client.d.ts +46 -0
  26. package/dist/http/http-client.d.ts.map +1 -1
  27. package/dist/http/http-client.js +88 -5
  28. package/dist/http/http-client.js.map +1 -1
  29. package/dist/index.d.ts +1 -0
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +1 -0
  32. package/dist/index.js.map +1 -1
  33. package/dist/types/index.d.ts +1 -0
  34. package/dist/types/index.d.ts.map +1 -1
  35. package/dist/types/index.js +1 -0
  36. package/dist/types/index.js.map +1 -1
  37. package/dist/types/org.d.ts +25 -0
  38. package/dist/types/org.d.ts.map +1 -0
  39. package/dist/types/org.js +2 -0
  40. package/dist/types/org.js.map +1 -0
  41. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -4,6 +4,44 @@ All notable changes to `@uluops/ops-sdk` will be documented in this file.
4
4
 
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
6
6
 
7
+ ## [6.3.1] - 2026-09-13
8
+
9
+ ### Security
10
+
11
+ Security audit of the org-routing train (ops-uluops-api run #187, 2026-09-13). None of these was a bypass; each is a channel by which the wrong org could be chosen silently.
12
+
13
+ - **`resolveWorkspaceOrg` walk is bounded by the home directory** when `cwd` is under it: a `.uluops.json` at `/`, `/Users` or a container root can no longer become the default for every checkout beneath it (the single-default leak D13 exists to remove, one layer down). Outside home the walk still reaches the root. New `home` option (default `os.homedir()`), injectable for tests.
14
+ - **A workspace file owned by another user is refused**, not skipped — the planting vector is a shared parent directory. New `uid` option (default `process.getuid()`; `undefined` disables the check on platforms without uids).
15
+ - **The workspace file's key check is an allowlist** (`org`, `$schema`). It was a ten-name denylist while the error said "may carry only org"; `baseURL`, `apikey`, `token` passed. Inert (only `org` was read), but the stated invariant is now the enforced one.
16
+ - **`"personal"` is honoured as an explicit value** (`resolveWorkspaceOrg({ explicit: 'personal' })`, `withOrg('personal')`): no header, `source: 'explicit'`. It used to go to the wire as a slug (404 `ORG_NOT_FOUND`, or a real org if anyone registers the name). `withOrg('personal')` does not cancel a constructor `orgSlug`.
17
+ - **Per-call org header is set last, and an org header in `options.headers` is refused** on a scoped view. The spread order let a caller header win, and `X-Org-Id` outranks `X-Org-Slug` server-side — no live caller did this; the invariant held by luck.
18
+
19
+ ## [6.3.0] - 2026-09-13
20
+
21
+ ### Added
22
+
23
+ - **`resolveWorkspaceOrg()` — the D13 workspace default** (project-org-routing-and-rehome spec D13, §2.0). Walks upward from `cwd` to the nearest `.uluops.json` and honours only its `org`; the reserved value `"personal"` stops the walk and means "no org" (a personal repo cloned under a work tree carries it so the outer file does not win). Precedence: `explicit` (a `--org` flag, an MCP tool's `org` argument) > nearest workspace file > `ULUOPS_ORG_SLUG` (kept as the lowest fall-through for headless environments) > personal. Returns `{ org, source, path }` so a caller can print *why* a call landed where it did.
24
+
25
+ **The file may carry only `org`.** `apiKey`, `baseUrl`, `profile`, `credentials`, `sessionToken`, `email`, `password` are refused with `InputValidationError`, not ignored — a `.env` in cwd once retargeted the CLI's base URL, and the one guard that keeps that footgun from transferring is that this file cannot name a target or an identity. Malformed JSON and invalid slugs are refused loudly for the same reason: a silently ignored file is a silently wrong org. The slug is server-relative, so "where it landed" output should print the base URL beside the org.
26
+
27
+ Lives here, not in each consumer: the CLI and the tracker MCP both need it, and two copies of a walk-up function in two repos are the drift class the spec exists to remove. `findWorkspaceOrgFile` and `readWorkspaceOrgFile` are exported for tooling that wants to explain the answer. `ENV_VARS.ORG_SLUG` added. Tests build their own temp trees and pass `stopAt` so a real `.uluops.json` above the temp dir cannot leak in — this workspace will carry one.
28
+
29
+ ## [6.2.0] - 2026-09-13
30
+
31
+ ### Added
32
+
33
+ - **Per-call `org` on every project, run, issue and analytics operation** (project-org-routing-and-rehome spec §3.2, D12). Each method on `client.projects`, `client.runs`, `client.issues` and `client.analytics` takes a trailing `options?: { org?: string }` (run writes: `RunCallOptions`, which also carries the existing `_skipClientValidation`). `org` is the target org's slug and becomes `X-Org-Slug` on that one request, overriding the constructor-level `orgSlug`. **Precedence on the wire, lowest to highest: personal org (no header) < constructor `orgSlug` < per-call `org`; an API key BOUND to an org ignores both headers and returns `403 ORG_ACCESS_DENIED` if they name a different org** — the platform's rule, surfaced verbatim. The API never infers an org from a project name (spec D2): a call that names no org creates or targets the *personal* project of that name even when a work org has one by the same name.
34
+
35
+ **Mechanism, because it differs from the spec's plan and the difference is worth knowing.** The spec (§3.2) said every operation would migrate from sdk-core's verb helpers to `client.request(..., { headers })`. sdk-core's `get/post/patch/put/delete` all delegate to `this.request`, so instead `OpsHttpClient` overrides `request` and exposes `withOrg(slug)`, a prototype-chained VIEW of the client that merges the header on every request it makes. One seam, zero operation rewrites, and the view shares the root's auth strategy, so a session installed on the root is honoured. `OpsClient` mints the view per call. Same wire contract; the test file asserts on the outgoing request as nock sees it, including a `badheaders` control proving the root client sends no header and that minting a view does not mutate the root.
36
+
37
+ - **`OpsHttpClient.withOrg(slug)`** and **`scopedOrg`** (read-only, for diagnostics) on the low-level client; `ORG_SLUG_PATTERN` and `ORG_SLUG_HEADER` exported. `withOrg` validates the slug with the same pattern as `orgSlug` and throws `InputValidationError` — it is a header value, so CRLF and whitespace can never reach the wire.
38
+
39
+ - **Org-routing error codes and type guards**: `INSUFFICIENT_ORG_ROLE` / `isInsufficientOrgRoleError` (403 — below the org's write floor; on tracker writes the API's body carries `details.applied: false` and forbids retrying without `org`: **do not retry the same call org-less — that is not a fallback, it files the work in the caller's personal org**), `ORG_ACCESS_DENIED` / `isOrgAccessDeniedError` (403 — not a member, or a bound key naming another org), and `PROJECT_REHOMED` / `isProjectRehomedError` with `ProjectRehomedDetails` (410 — spec D14: the project this name once denoted in this org now lives in `details.target_org.slug`; pass it as `org` and the same call succeeds). The rehomed guard requires the details shape it promises, not only the code, so a narrowed error is safe to dereference. `InsufficientOrgRoleDetails` declared.
40
+
41
+ ### Changed
42
+
43
+ - `client.runs.*` write and preview options are typed `RunCallOptions` (`OrgScopedOptions & { _skipClientValidation? }`) instead of the inline `{ _skipClientValidation?: boolean }`. Structurally compatible; nothing a caller wrote breaks.
44
+
7
45
  ## [6.1.0] - 2026-09-10
8
46
 
9
47
  ### Added
@@ -115,7 +153,9 @@ deploys; SDK 6.0.0 (after the flip) re-pins the new shapes strictly.
115
153
 
116
154
  ### Added
117
155
 
118
- - **`runs.save()` surfaces the `analysisWrite` confirmation** (tool-sweep T21; API ≥1.71.0).
156
+ - **`runs.save()` surfaces the `analysisWrite` confirmation** (tool-sweep T21; API 2.0.0+, or a
157
+ 1.70.0 deploy after 2026-08-19 — this read "≥1.71.0" until 2026-09-13; no such version was
158
+ ever declared, see ops-uluops-api issue `aea76608`).
119
159
  The save response envelope now carries `analysisWrite` as a sibling of `data` — the same
120
160
  placement as the update envelope — read via `rawEnvelope` and returned on the result
121
161
  (`analysisWrite: AnalysisWriteEcho | null`; `recordMode: 'initial'` on this path). Like the
package/README.md CHANGED
@@ -307,7 +307,8 @@ const client = new OpsClient({
307
307
  debug: false, // Enable debug logging
308
308
 
309
309
  // Multi-tenancy
310
- orgSlug: 'my-org', // Org slug (sets X-Org-Slug header on all requests)
310
+ orgSlug: 'my-org', // Org slug (sets X-Org-Slug header on all requests);
311
+ // any method's trailing `{ org }` overrides it per call
311
312
 
312
313
  // Callbacks
313
314
  onTokenRefresh: (token) => { /* handle token refresh */ },
@@ -321,6 +322,45 @@ const client = new OpsClient({
321
322
  });
322
323
  ```
323
324
 
325
+ #### Org routing — which org a call lands in
326
+
327
+ Every project, run, issue and analytics method takes a trailing `options` with `org?: string`
328
+ (run writes: `RunCallOptions`, which also carries `_skipClientValidation`). It becomes the
329
+ `X-Org-Slug` header on that one request.
330
+
331
+ ```typescript
332
+ await client.runs.save(input, { org: 'ulu-labs' }); // this call → ulu-labs
333
+ await client.projects.list({ org: 'ulu-labs' }); // reads take it too
334
+ await client.projects.list(); // → constructor orgSlug, else your personal org
335
+ ```
336
+
337
+ **Precedence on the wire, lowest to highest:** personal org (no header) < constructor `orgSlug`
338
+ < per-call `org`. An API key **bound** to an org ignores both headers and answers
339
+ `403 ORG_ACCESS_DENIED` if they name a different org. The API never infers an org from a project
340
+ name: a call that names no org creates or targets the *personal* project of that name, even when
341
+ a work org has one by the same name (spec D2). Name the org.
342
+
343
+ Three org-routing errors are worth branching on (all exported with type guards):
344
+
345
+ | Code | Status | Guard | What to do |
346
+ |---|---|---|---|
347
+ | `INSUFFICIENT_ORG_ROLE` | 403 | `isInsufficientOrgRoleError` | Your role in that org is below `publisher`. **Do not retry without `org`** — an org-less retry files the work in your personal org; the API says so in the body (`details.applied: false`). |
348
+ | `ORG_ACCESS_DENIED` | 403 | `isOrgAccessDeniedError` | Not a member of that org, or your key is bound to a different one. Terminal. |
349
+ | `PROJECT_REHOMED` | 410 | `isProjectRehomedError` | The project moved orgs. `err.details.target_org.slug` is where it lives — pass it as `org` and retry the same call. |
350
+
351
+ Low-level: `new OpsHttpClient(cfg).withOrg('acme')` returns a view of the client scoped to that org.
352
+
353
+ **Where does the default come from?** For tools that run inside a checkout (the CLI, the tracker
354
+ MCP), `resolveWorkspaceOrg({ explicit, cwd })` implements the spec's D13 rule: an explicit value
355
+ wins; else the nearest `.uluops.json` above `cwd` (`{ "org": "ulu-labs" }`, or `{ "org": "personal" }`
356
+ to stop the walk in a personal repo nested under a work tree); else `ULUOPS_ORG_SLUG`; else your
357
+ personal org. The file may carry only `org` (and `$schema`) — any other key is refused, not ignored.
358
+ Two more refusals since 6.3.1 (security audit run #187): the walk never rises above your home
359
+ directory (a file at `/` or `/Users` cannot become everyone's default), and a file owned by another
360
+ user is refused (a shared parent directory is the planting vector). `"personal"` is also honoured as
361
+ an explicit value — `{ org: 'personal' }` sends no header. On a scoped call the per-call org header
362
+ is set last and an `X-Org-Slug`/`X-Org-Id` in `options.headers` is refused.
363
+
324
364
  ---
325
365
 
326
366
  ### Security Events
package/dist/client.d.ts CHANGED
@@ -6,6 +6,7 @@ import type { Run, RunSummary, RunAnalysis, ProjectAnalysisList, AnalysisRecords
6
6
  import type { Issue, CreateUserIssueInput, UpdateIssueInput, UpdateIssueStatusInput, CreateIssueNoteInput, IssueNote, IssueDetails, IssueHistoryEnvelope, IssueSearchQuery, ListIssuesQuery, BulkStatusUpdateItem, StatusUpdateResult } from './types/issues.js';
7
7
  import type { AnalyticsQuery, AgentPerformance, AgentInfo, AgentLifecycleEntry, AgentReliabilityQuery, BurndownQuery, VelocityQuery, DiscoveryQuery, AgentMatrixQuery, TaxonomyResponse, AgentReliabilityResult, ResolutionRateResult, FileHotspotResult, TaxonomyDistributionResult, FullTaxonomyAnalyticsResult, BurndownResultResponse, VelocityResultResponse, DiscoveryResultResponse, AgentMatrixResultResponse, TrendSummaryResult } from './types/analytics.js';
8
8
  import type { MessageResponse, DeleteResult } from './types/responses.js';
9
+ import type { OrgScopedOptions, RunCallOptions } from './types/org.js';
9
10
  /**
10
11
  * OpsClient configuration options.
11
12
  * All HTTP-level options (baseUrl, timeout, retries, debug, auth) are available.
@@ -67,6 +68,12 @@ export declare class OpsClient {
67
68
  * @returns `'api_key'`, `'session'`, or `null` if unauthenticated
68
69
  */
69
70
  getAuthType(): 'api_key' | 'session' | null;
71
+ /**
72
+ * The HTTP client for one call: a per-call `org` (spec §3.2) yields a view
73
+ * carrying `X-Org-Slug: <org>` on that request only; otherwise the root
74
+ * client (constructor `orgSlug`, else the personal org).
75
+ */
76
+ private scope;
70
77
  /** Authentication, API keys, sessions, and user profile management */
71
78
  readonly auth: {
72
79
  /** Register a new user account. */
@@ -116,174 +123,158 @@ export declare class OpsClient {
116
123
  /** Project CRUD, summaries, trends, issue listing, and bulk operations */
117
124
  readonly projects: {
118
125
  /** List all projects visible to the caller — {data, total} (6.0.0, T13). */
119
- list: () => Promise<{
126
+ list: (options?: OrgScopedOptions) => Promise<{
120
127
  data: Project[];
121
128
  total: number;
122
129
  }>;
123
130
  /** Get a project by id or name. */
124
- get: (idOrName: string) => Promise<Project>;
131
+ get: (idOrName: string, options?: OrgScopedOptions) => Promise<Project>;
125
132
  /** Create a new project. */
126
- create: (input: CreateProjectInput) => Promise<Project>;
133
+ create: (input: CreateProjectInput, options?: OrgScopedOptions) => Promise<Project>;
127
134
  /** Update a project's metadata. */
128
- update: (idOrName: string, input: UpdateProjectInput) => Promise<Project>;
135
+ update: (idOrName: string, input: UpdateProjectInput, options?: OrgScopedOptions) => Promise<Project>;
129
136
  /** Permanently delete a project (requires confirmation). */
130
- delete: (idOrName: string, input: DeleteProjectInput) => Promise<DeleteResult>;
137
+ delete: (idOrName: string, input: DeleteProjectInput, options?: OrgScopedOptions) => Promise<DeleteResult>;
131
138
  /** Soft-delete a project; reversible via `restore()`. */
132
- softDelete: (idOrName: string, input: DeleteProjectInput) => Promise<DeleteResult>;
139
+ softDelete: (idOrName: string, input: DeleteProjectInput, options?: OrgScopedOptions) => Promise<DeleteResult>;
133
140
  /** Restore a soft-deleted project. */
134
- restore: (idOrName: string) => Promise<Project>;
141
+ restore: (idOrName: string, options?: OrgScopedOptions) => Promise<Project>;
135
142
  /** Rename a project. */
136
- rename: (input: RenameProjectInput) => Promise<Project>;
143
+ rename: (input: RenameProjectInput, options?: OrgScopedOptions) => Promise<Project>;
137
144
  /** Get aggregate summary stats for a project. */
138
- getSummary: (idOrName: string) => Promise<ProjectSummaryResponse>;
145
+ getSummary: (idOrName: string, options?: OrgScopedOptions) => Promise<ProjectSummaryResponse>;
139
146
  /** Get time-series trends for a project. */
140
- getTrends: (idOrName: string, query?: ProjectTrendsQuery) => Promise<ProjectTrends>;
147
+ getTrends: (idOrName: string, query?: ProjectTrendsQuery, options?: OrgScopedOptions) => Promise<ProjectTrends>;
141
148
  /** List a project's issues (filtered) — {data, total} (6.0.0, T13).
142
149
  * Replaces listIssuesWithCount, which existed only to recover the count
143
150
  * the old array return dropped. */
144
- listIssues: (idOrName: string, query?: ListProjectIssuesQuery) => Promise<{
151
+ listIssues: (idOrName: string, query?: ListProjectIssuesQuery, options?: OrgScopedOptions) => Promise<{
145
152
  data: Issue[];
146
153
  total: number;
147
154
  }>;
148
155
  /** Bulk-update the status of many issues in a project. */
149
- bulkUpdateIssueStatus: (idOrName: string, updates: BulkIssueStatusUpdate[]) => Promise<BulkIssueStatusResult>;
156
+ bulkUpdateIssueStatus: (idOrName: string, updates: BulkIssueStatusUpdate[], options?: OrgScopedOptions) => Promise<BulkIssueStatusResult>;
150
157
  /** Merge duplicate issues within a project. */
151
- mergeIssues: (idOrName: string, input: MergeIssuesInput) => Promise<MergeIssuesResult>;
158
+ mergeIssues: (idOrName: string, input: MergeIssuesInput, options?: OrgScopedOptions) => Promise<MergeIssuesResult>;
152
159
  /**
153
160
  * Merge one project into another (merge-projects spec v0.3.4) — the
154
161
  * source's runs and issues are re-keyed into the target inside one
155
162
  * advisory-locked transaction; the source is soft-deleted by default.
156
163
  * Pairwise only. Dry-run first: `{ ...input, dryRun: true }`.
157
164
  */
158
- mergeProjects: (input: MergeProjectsInput) => Promise<MergeProjectsResult>;
165
+ mergeProjects: (input: MergeProjectsInput, options?: OrgScopedOptions) => Promise<MergeProjectsResult>;
159
166
  };
160
167
  /** Execution run save, preview, diff, archive, and retrieval */
161
168
  readonly runs: {
162
169
  /** Save an execution run (agents, scores, recommendations). */
163
- save: (input: SaveRunInput, options?: {
164
- _skipClientValidation?: boolean;
165
- }) => Promise<SaveRunResponse>;
170
+ save: (input: SaveRunInput, options?: RunCallOptions) => Promise<SaveRunResponse>;
166
171
  /** Preview a save without persisting (dry-run). */
167
- validate: (input: SaveRunInput, options?: {
168
- _skipClientValidation?: boolean;
169
- }) => Promise<ValidateRunResponse>;
172
+ validate: (input: SaveRunInput, options?: RunCallOptions) => Promise<ValidateRunResponse>;
170
173
  /** Diff two runs to surface regressions/improvements. */
171
- diff: (query: RunDiffQuery) => Promise<RunDiffResult>;
174
+ diff: (query: RunDiffQuery, options?: OrgScopedOptions) => Promise<RunDiffResult>;
172
175
  /** Archive old runs by number/date/keep-last filter. */
173
- archive: (input: ArchiveRunsInput) => Promise<ArchiveRunsResult>;
176
+ archive: (input: ArchiveRunsInput, options?: OrgScopedOptions) => Promise<ArchiveRunsResult>;
174
177
  /** Update a run (project + run number). Discards the analysis-write echo (use updateWithEcho); on analysis-bearing calls can throw AnalysisEchoMismatchError AFTER the write landed. */
175
- update: (input: UpdateRunByNumberInput, options?: {
176
- _skipClientValidation?: boolean;
177
- }) => Promise<RunWriteEcho>;
178
+ update: (input: UpdateRunByNumberInput, options?: RunCallOptions) => Promise<RunWriteEcho>;
178
179
  /** Read-only preview of an analysis-bearing update (project + run number): what a write under the requested record_write_mode would supersede, create, and retire. */
179
- previewUpdate: (input: UpdateRunPreviewByNumberInput, options?: {
180
- _skipClientValidation?: boolean;
181
- }) => Promise<RunUpdatePreview>;
180
+ previewUpdate: (input: UpdateRunPreviewByNumberInput, options?: RunCallOptions) => Promise<RunUpdatePreview>;
182
181
  /** Update (project + run number) returning the run AND the §3.9 analysis-write echo — success-path visibility of superseded/created counts (F17). */
183
- updateWithEcho: (input: UpdateRunByNumberInput, options?: {
184
- _skipClientValidation?: boolean;
185
- }) => Promise<UpdateRunWithEchoResult>;
182
+ updateWithEcho: (input: UpdateRunByNumberInput, options?: RunCallOptions) => Promise<UpdateRunWithEchoResult>;
186
183
  /** List run summaries for a project — {data, total} (6.0.0, T13). */
187
- listByProject: (projectId: string, query?: ListRunsQuery) => Promise<{
184
+ listByProject: (projectId: string, query?: ListRunsQuery, options?: OrgScopedOptions) => Promise<{
188
185
  data: RunSummary[];
189
186
  total: number;
190
187
  }>;
191
188
  /** Get the latest run for a project (optionally by workflow type). */
192
- getLatest: (projectId: string, workflowType?: string) => Promise<Run>;
189
+ getLatest: (projectId: string, workflowType?: string, options?: OrgScopedOptions) => Promise<Run>;
193
190
  /** Get full details for a run (defaults to latest when runNumber omitted). */
194
- getDetails: (projectId: string, runNumber?: number) => Promise<RunDetails>;
191
+ getDetails: (projectId: string, runNumber?: number, options?: OrgScopedOptions) => Promise<RunDetails>;
195
192
  /** Get a single run by its id. */
196
- get: (runId: string) => Promise<Run>;
193
+ get: (runId: string, options?: OrgScopedOptions) => Promise<Run>;
197
194
  /** Update a run by id. Discards the analysis-write echo (use updateByIdWithEcho); on analysis-bearing calls can throw AnalysisEchoMismatchError AFTER the write landed. */
198
- updateById: (runId: string, input: UpdateRunInput, options?: {
199
- _skipClientValidation?: boolean;
200
- }) => Promise<RunWriteEcho>;
195
+ updateById: (runId: string, input: UpdateRunInput, options?: RunCallOptions) => Promise<RunWriteEcho>;
201
196
  /** Read-only preview of an analysis-bearing update, by run id. See previewUpdate. */
202
- previewUpdateById: (runId: string, input: UpdateRunPreviewInput, options?: {
203
- _skipClientValidation?: boolean;
204
- }) => Promise<RunUpdatePreview>;
197
+ previewUpdateById: (runId: string, input: UpdateRunPreviewInput, options?: RunCallOptions) => Promise<RunUpdatePreview>;
205
198
  /** By-id sibling of updateWithEcho (F17). */
206
- updateByIdWithEcho: (runId: string, input: UpdateRunInput, options?: {
207
- _skipClientValidation?: boolean;
208
- }) => Promise<UpdateRunWithEchoResult>;
199
+ updateByIdWithEcho: (runId: string, input: UpdateRunInput, options?: RunCallOptions) => Promise<UpdateRunWithEchoResult>;
209
200
  /** Delete a run by id. */
210
- delete: (runId: string) => Promise<DeleteResult>;
201
+ delete: (runId: string, options?: OrgScopedOptions) => Promise<DeleteResult>;
211
202
  /** Get the structured analysis attached to a run. */
212
- getAnalysis: (runId: string) => Promise<RunAnalysis>;
203
+ getAnalysis: (runId: string, options?: OrgScopedOptions) => Promise<RunAnalysis>;
213
204
  /** List analyses across a project's runs. */
214
- getProjectAnalysis: (projectId: string, query?: ProjectAnalysisQuery) => Promise<ProjectAnalysisList>;
205
+ getProjectAnalysis: (projectId: string, query?: ProjectAnalysisQuery, options?: OrgScopedOptions) => Promise<ProjectAnalysisList>;
215
206
  /** Query individual analysis records across runs. */
216
- queryAnalysisRecords: (query?: AnalysisRecordsQuery) => Promise<AnalysisRecordsList>;
207
+ queryAnalysisRecords: (query?: AnalysisRecordsQuery, options?: OrgScopedOptions) => Promise<AnalysisRecordsList>;
217
208
  /** Get per-run analysis history for a single agent. */
218
- getAgentRunsAnalysis: (agentName: string, query: AgentRunsAnalysisQuery) => Promise<AgentRunsAnalysis>;
209
+ getAgentRunsAnalysis: (agentName: string, query: AgentRunsAnalysisQuery, options?: OrgScopedOptions) => Promise<AgentRunsAnalysis>;
219
210
  };
220
211
  /** Issue CRUD, search, status management, notes, and bulk operations */
221
212
  readonly issues: {
222
213
  /** Create a user-submitted issue. */
223
- create: (input: CreateUserIssueInput) => Promise<Issue>;
214
+ create: (input: CreateUserIssueInput, options?: OrgScopedOptions) => Promise<Issue>;
224
215
  /** Search issues by text/filters. */
225
- search: (query: IssueSearchQuery) => Promise<Issue[]>;
216
+ search: (query: IssueSearchQuery, options?: OrgScopedOptions) => Promise<Issue[]>;
226
217
  /** Get an issue by its fingerprint within a project. */
227
- getByFingerprint: (fingerprint: string, project: string) => Promise<Issue>;
218
+ getByFingerprint: (fingerprint: string, project: string, options?: OrgScopedOptions) => Promise<Issue>;
228
219
  /** Update an issue's status by fingerprint + project. */
229
- updateStatusByFingerprint: (fingerprint: string, project: string, input: UpdateIssueStatusInput) => Promise<StatusUpdateResult>;
220
+ updateStatusByFingerprint: (fingerprint: string, project: string, input: UpdateIssueStatusInput, options?: OrgScopedOptions) => Promise<StatusUpdateResult>;
230
221
  /** Get an issue by id. */
231
- get: (issueId: string) => Promise<Issue>;
222
+ get: (issueId: string, options?: OrgScopedOptions) => Promise<Issue>;
232
223
  /** Get an issue with notes and history detail. */
233
- getDetails: (issueId: string) => Promise<IssueDetails>;
224
+ getDetails: (issueId: string, options?: OrgScopedOptions) => Promise<IssueDetails>;
234
225
  /** Get an issue's change history. */
235
- getHistory: (issueId: string) => Promise<IssueHistoryEnvelope>;
226
+ getHistory: (issueId: string, options?: OrgScopedOptions) => Promise<IssueHistoryEnvelope>;
236
227
  /** Update an issue's status by id. */
237
- updateStatus: (issueId: string, input: UpdateIssueStatusInput) => Promise<Issue>;
228
+ updateStatus: (issueId: string, input: UpdateIssueStatusInput, options?: OrgScopedOptions) => Promise<Issue>;
238
229
  /** Update an issue's metadata by id. */
239
- update: (issueId: string, input: UpdateIssueInput) => Promise<Issue>;
230
+ update: (issueId: string, input: UpdateIssueInput, options?: OrgScopedOptions) => Promise<Issue>;
240
231
  /** Add a note to an issue. */
241
- addNote: (issueId: string, input: CreateIssueNoteInput) => Promise<IssueNote>;
232
+ addNote: (issueId: string, input: CreateIssueNoteInput, options?: OrgScopedOptions) => Promise<IssueNote>;
242
233
  /** Restore a soft-deleted issue. */
243
- restore: (issueId: string) => Promise<Issue>;
234
+ restore: (issueId: string, options?: OrgScopedOptions) => Promise<Issue>;
244
235
  /** Soft-delete an active issue; reversible via `restore()`. */
245
- softDelete: (issueId: string) => Promise<DeleteResult>;
236
+ softDelete: (issueId: string, options?: OrgScopedOptions) => Promise<DeleteResult>;
246
237
  /** Undo the most recent change to an issue. */
247
- undoLastChange: (issueId: string) => Promise<Issue>;
238
+ undoLastChange: (issueId: string, options?: OrgScopedOptions) => Promise<Issue>;
248
239
  /** Bulk-update issue statuses; returns `{ updated, failed }`. */
249
- bulkUpdateStatus: (updates: BulkStatusUpdateItem[]) => Promise<BulkIssueStatusResult>;
240
+ bulkUpdateStatus: (updates: BulkStatusUpdateItem[], options?: OrgScopedOptions) => Promise<BulkIssueStatusResult>;
250
241
  /** List a project's issues by project id (filtered). */
251
- listByProject: (projectId: string, query?: ListIssuesQuery) => Promise<Issue[]>;
242
+ listByProject: (projectId: string, query?: ListIssuesQuery, options?: OrgScopedOptions) => Promise<Issue[]>;
252
243
  };
253
244
  /** Agent performance, taxonomy analytics, burndown, velocity, and discovery */
254
245
  readonly analytics: {
255
246
  /** Get per-agent performance metrics. */
256
- getAgentPerformance: (query?: AnalyticsQuery) => Promise<AgentPerformance[]>;
247
+ getAgentPerformance: (query?: AnalyticsQuery, options?: OrgScopedOptions) => Promise<AgentPerformance[]>;
257
248
  /** Get agent reliability (convergence/recurrence) metrics. */
258
- getAgentReliability: (query?: AgentReliabilityQuery) => Promise<AgentReliabilityResult>;
249
+ getAgentReliability: (query?: AgentReliabilityQuery, options?: OrgScopedOptions) => Promise<AgentReliabilityResult>;
259
250
  /** Get an agent's lifecycle timeline. */
260
- getAgentLifecycle: (agentName: string, query?: AnalyticsQuery) => Promise<AgentLifecycleEntry[]>;
251
+ getAgentLifecycle: (agentName: string, query?: AnalyticsQuery, options?: OrgScopedOptions) => Promise<AgentLifecycleEntry[]>;
261
252
  /** Get issue resolution-rate metrics. */
262
- getResolutionRates: (query?: AnalyticsQuery) => Promise<ResolutionRateResult[]>;
253
+ getResolutionRates: (query?: AnalyticsQuery, options?: OrgScopedOptions) => Promise<ResolutionRateResult[]>;
263
254
  /** Get files with the most recurring issues. */
264
- getFileHotspots: (query?: AnalyticsQuery) => Promise<FileHotspotResult[]>;
255
+ getFileHotspots: (query?: AnalyticsQuery, options?: OrgScopedOptions) => Promise<FileHotspotResult[]>;
265
256
  /** Get the distribution of issues across the failure taxonomy. */
266
- getTaxonomyDistribution: (query?: AnalyticsQuery) => Promise<TaxonomyDistributionResult[]>;
257
+ getTaxonomyDistribution: (query?: AnalyticsQuery, options?: OrgScopedOptions) => Promise<TaxonomyDistributionResult[]>;
267
258
  /** Get the full taxonomy analytics breakdown. */
268
- getFullTaxonomy: (query?: AnalyticsQuery) => Promise<FullTaxonomyAnalyticsResult>;
259
+ getFullTaxonomy: (query?: AnalyticsQuery, options?: OrgScopedOptions) => Promise<FullTaxonomyAnalyticsResult>;
269
260
  /** Get issue burndown over time. */
270
- getBurndown: (query?: BurndownQuery) => Promise<BurndownResultResponse>;
261
+ getBurndown: (query?: BurndownQuery, options?: OrgScopedOptions) => Promise<BurndownResultResponse>;
271
262
  /** Get resolution velocity over time. */
272
- getVelocity: (query?: VelocityQuery) => Promise<VelocityResultResponse>;
263
+ getVelocity: (query?: VelocityQuery, options?: OrgScopedOptions) => Promise<VelocityResultResponse>;
273
264
  /** Get issue-discovery rate metrics. */
274
- getDiscovery: (query?: DiscoveryQuery) => Promise<DiscoveryResultResponse>;
265
+ getDiscovery: (query?: DiscoveryQuery, options?: OrgScopedOptions) => Promise<DiscoveryResultResponse>;
275
266
  /** Get the agent comparison matrix. */
276
- getAgentMatrix: (query?: AgentMatrixQuery) => Promise<AgentMatrixResultResponse>;
267
+ getAgentMatrix: (query?: AgentMatrixQuery, options?: OrgScopedOptions) => Promise<AgentMatrixResultResponse>;
277
268
  /** Get a high-level trend summary. */
278
- getTrendSummary: (query?: AnalyticsQuery) => Promise<TrendSummaryResult[]>;
269
+ getTrendSummary: (query?: AnalyticsQuery, options?: OrgScopedOptions) => Promise<TrendSummaryResult[]>;
279
270
  /**
280
271
  * Get analytics by metric name (generic endpoint).
281
272
  * Returns unvalidated data — use typed methods (getAgentPerformance, etc.) for validated responses.
282
273
  *
283
274
  */
284
- getByMetric: (metric: analyticsOps.AnalyticsMetric, query?: AnalyticsQuery) => Promise<unknown>;
275
+ getByMetric: (metric: analyticsOps.AnalyticsMetric, query?: AnalyticsQuery, options?: OrgScopedOptions) => Promise<unknown>;
285
276
  /** List agents known to the analytics layer. */
286
- listAgents: (query?: AnalyticsQuery) => Promise<AgentInfo[]>;
277
+ listAgents: (query?: AnalyticsQuery, options?: OrgScopedOptions) => Promise<AgentInfo[]>;
287
278
  };
288
279
  /** Failure taxonomy schema (domains, modes, severities) */
289
280
  readonly taxonomy: {
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}