@boboddy/sdk 0.2.14-alpha → 0.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.
package/dist/client.js CHANGED
@@ -867,6 +867,18 @@ class Api extends HeyApiClient {
867
867
  }
868
868
 
869
869
  class Projects extends HeyApiClient {
870
+ resolveProjectBySlug(options) {
871
+ return (options.client ?? this.client).get({ url: "/api/projects/resolve", ...options });
872
+ }
873
+ listProjectWorkItems(options) {
874
+ return (options.client ?? this.client).get({ url: "/api/projects/{projectId}/work-items", ...options });
875
+ }
876
+ listProjectWorkItemFieldOptions(options) {
877
+ return (options.client ?? this.client).get({ url: "/api/projects/{projectId}/work-item-field-options", ...options });
878
+ }
879
+ getProject(options) {
880
+ return (options.client ?? this.client).get({ url: "/api/projects/{projectId}", ...options });
881
+ }
870
882
  listProjects(options) {
871
883
  return (options?.client ?? this.client).get({ url: "/api/projects", ...options });
872
884
  }
@@ -880,18 +892,6 @@ class Projects extends HeyApiClient {
880
892
  }
881
893
  });
882
894
  }
883
- resolveProjectBySlug(options) {
884
- return (options.client ?? this.client).get({ url: "/api/projects/resolve", ...options });
885
- }
886
- listProjectWorkItems(options) {
887
- return (options.client ?? this.client).get({ url: "/api/projects/{projectId}/work-items", ...options });
888
- }
889
- listProjectWorkItemFieldOptions(options) {
890
- return (options.client ?? this.client).get({ url: "/api/projects/{projectId}/work-item-field-options", ...options });
891
- }
892
- getProject(options) {
893
- return (options.client ?? this.client).get({ url: "/api/projects/{projectId}", ...options });
894
- }
895
895
  updateProjectDefaultPipelineAssignment(options) {
896
896
  return (options.client ?? this.client).put({
897
897
  url: "/api/projects/{projectId}/default-pipeline-assignment",
@@ -950,32 +950,6 @@ class StepDefinitions extends HeyApiClient {
950
950
  }
951
951
 
952
952
  class StepExecutions extends HeyApiClient {
953
- createArtifactUploadUrl(options) {
954
- return (options.client ?? this.client).post({
955
- url: "/api/step-executions/{stepExecutionId}/artifact-upload-url",
956
- ...options,
957
- headers: {
958
- "Content-Type": "application/json",
959
- ...options.headers
960
- }
961
- });
962
- }
963
- listStepExecutionArtifacts(options) {
964
- return (options.client ?? this.client).get({ url: "/api/step-executions/{stepExecutionId}/artifacts", ...options });
965
- }
966
- recordStepExecutionArtifact(options) {
967
- return (options.client ?? this.client).post({
968
- url: "/api/step-executions/{stepExecutionId}/artifacts",
969
- ...options,
970
- headers: {
971
- "Content-Type": "application/json",
972
- ...options.headers
973
- }
974
- });
975
- }
976
- getArtifactDownloadUrl(options) {
977
- return (options.client ?? this.client).get({ url: "/api/step-executions/{stepExecutionId}/artifacts/{artifactId}/download-url", ...options });
978
- }
979
953
  claimStepExecutions(options) {
980
954
  return (options.client ?? this.client).post({
981
955
  url: "/api/step-executions/claims",
@@ -1045,9 +1019,6 @@ class StepExecutions extends HeyApiClient {
1045
1019
  extractStepExecutionSignals(options) {
1046
1020
  return (options.client ?? this.client).post({ url: "/api/step-execution-results/{stepExecutionResultId}/signals/extract", ...options });
1047
1021
  }
1048
- getStepExecution(options) {
1049
- return (options.client ?? this.client).get({ url: "/api/step-executions/{stepExecutionId}", ...options });
1050
- }
1051
1022
  readStepExecutionLogs(options) {
1052
1023
  return (options.client ?? this.client).get({ url: "/api/step-executions/{stepExecutionId}/logs", ...options });
1053
1024
  }
@@ -1061,9 +1032,38 @@ class StepExecutions extends HeyApiClient {
1061
1032
  }
1062
1033
  });
1063
1034
  }
1035
+ getStepExecution(options) {
1036
+ return (options.client ?? this.client).get({ url: "/api/step-executions/{stepExecutionId}", ...options });
1037
+ }
1064
1038
  getStepExecutionLogArchive(options) {
1065
1039
  return (options.client ?? this.client).get({ url: "/api/step-executions/{stepExecutionId}/logs/archive", ...options });
1066
1040
  }
1041
+ createArtifactUploadUrl(options) {
1042
+ return (options.client ?? this.client).post({
1043
+ url: "/api/step-executions/{stepExecutionId}/artifact-upload-url",
1044
+ ...options,
1045
+ headers: {
1046
+ "Content-Type": "application/json",
1047
+ ...options.headers
1048
+ }
1049
+ });
1050
+ }
1051
+ listStepExecutionArtifacts(options) {
1052
+ return (options.client ?? this.client).get({ url: "/api/step-executions/{stepExecutionId}/artifacts", ...options });
1053
+ }
1054
+ recordStepExecutionArtifact(options) {
1055
+ return (options.client ?? this.client).post({
1056
+ url: "/api/step-executions/{stepExecutionId}/artifacts",
1057
+ ...options,
1058
+ headers: {
1059
+ "Content-Type": "application/json",
1060
+ ...options.headers
1061
+ }
1062
+ });
1063
+ }
1064
+ getArtifactDownloadUrl(options) {
1065
+ return (options.client ?? this.client).get({ url: "/api/step-executions/{stepExecutionId}/artifacts/{artifactId}/download-url", ...options });
1066
+ }
1067
1067
  }
1068
1068
 
1069
1069
  class PipelineDefinitions extends HeyApiClient {
@@ -1087,12 +1087,6 @@ class PipelineDefinitions extends HeyApiClient {
1087
1087
  }
1088
1088
  });
1089
1089
  }
1090
- getPipelineDefinition(options) {
1091
- return (options.client ?? this.client).get({ url: "/api/linear-pipeline-definitions/{linearPipelineDefinitionId}", ...options });
1092
- }
1093
- listPipelineDefinitions(options) {
1094
- return (options.client ?? this.client).get({ url: "/api/projects/{projectId}/linear-pipeline-definitions", ...options });
1095
- }
1096
1090
  archivePipelineDefinition(options) {
1097
1091
  return (options.client ?? this.client).put({ url: "/api/linear-pipeline-definitions/{linearPipelineDefinitionId}/archive", ...options });
1098
1092
  }
@@ -1132,6 +1126,12 @@ class PipelineDefinitions extends HeyApiClient {
1132
1126
  }
1133
1127
  });
1134
1128
  }
1129
+ getPipelineDefinition(options) {
1130
+ return (options.client ?? this.client).get({ url: "/api/linear-pipeline-definitions/{linearPipelineDefinitionId}", ...options });
1131
+ }
1132
+ listPipelineDefinitions(options) {
1133
+ return (options.client ?? this.client).get({ url: "/api/projects/{projectId}/linear-pipeline-definitions", ...options });
1134
+ }
1135
1135
  }
1136
1136
 
1137
1137
  class PipelineExecutions extends HeyApiClient {
@@ -1205,6 +1205,12 @@ class PipelineExecutions extends HeyApiClient {
1205
1205
  }
1206
1206
 
1207
1207
  class WorkItems extends HeyApiClient {
1208
+ deleteWorkItem(options) {
1209
+ return (options.client ?? this.client).delete({ url: "/api/work-items/{workItemId}", ...options });
1210
+ }
1211
+ getWorkItem(options) {
1212
+ return (options.client ?? this.client).get({ url: "/api/work-items/{workItemId}", ...options });
1213
+ }
1208
1214
  createWorkItem(options) {
1209
1215
  return (options.client ?? this.client).post({
1210
1216
  url: "/api/work-items",
@@ -1255,12 +1261,6 @@ class WorkItems extends HeyApiClient {
1255
1261
  }
1256
1262
  });
1257
1263
  }
1258
- deleteWorkItem(options) {
1259
- return (options.client ?? this.client).delete({ url: "/api/work-items/{workItemId}", ...options });
1260
- }
1261
- getWorkItem(options) {
1262
- return (options.client ?? this.client).get({ url: "/api/work-items/{workItemId}", ...options });
1263
- }
1264
1264
  }
1265
1265
 
1266
1266
  class WorkItemComments extends HeyApiClient {
@@ -6,9 +6,38 @@ export interface AuthProfile {
6
6
  }
7
7
  export interface AuthFile {
8
8
  profiles: Record<string, AuthProfile>;
9
+ /**
10
+ * A random id generated on first read and persisted here, alongside (not
11
+ * inside) any per-baseUrl profile — it identifies this machine/install
12
+ * before any account exists, so pre-auth CLI telemetry (init started,
13
+ * requirements verified) has a stable distinct id to key events to. See
14
+ * `getOrCreateAnonymousId`.
15
+ */
16
+ anonymousId?: string;
17
+ /**
18
+ * User-level telemetry opt-out, set via `boboddy telemetry disable` (or the
19
+ * `BOBODDY_TELEMETRY_DISABLED` env var, checked separately at the call
20
+ * site). Global — unlike `profiles`, it is not scoped to a `baseUrl`.
21
+ */
22
+ telemetryDisabled?: boolean;
9
23
  }
24
+ /** Test-only. Redirects every read/write in this module under `dir`. */
25
+ export declare function setHomeDirForTests(dir: string | undefined): void;
10
26
  export declare const getAuthFilePath: () => string;
11
27
  export declare const loadAuthFile: () => AuthFile;
12
28
  export declare const loadAuthProfile: (baseUrl: string) => AuthProfile | null;
13
29
  export declare const saveAuthProfile: (baseUrl: string, profile: AuthProfile) => void;
14
30
  export declare const deleteAuthProfile: (baseUrl: string) => void;
31
+ /**
32
+ * The persisted pre-auth distinct id for this machine/install, creating and
33
+ * persisting one the first time it is read. Stable across every command
34
+ * invocation until `~/.boboddy.json` is deleted (e.g. by `boboddy auth
35
+ * logout` clearing the last profile — see `deleteAuthProfile` above, which
36
+ * only removes the file once no profiles remain; a bare id-only file is left
37
+ * alone by that path since it always re-reads via `loadAuthFile`).
38
+ */
39
+ export declare const getOrCreateAnonymousId: () => string;
40
+ /** The persisted telemetry opt-out flag. Defaults to `false` (enabled). */
41
+ export declare const isTelemetryDisabled: () => boolean;
42
+ /** Persist the telemetry opt-out flag, leaving profiles/anonymousId intact. */
43
+ export declare const setTelemetryDisabled: (disabled: boolean) => void;
@@ -1,4 +1,4 @@
1
- export { deleteAuthProfile, getAuthFilePath, loadAuthFile, loadAuthProfile, saveAuthProfile, } from "./auth-file";
1
+ export { deleteAuthProfile, getAuthFilePath, getOrCreateAnonymousId, isTelemetryDisabled, loadAuthFile, loadAuthProfile, saveAuthProfile, setTelemetryDisabled, } from "./auth-file";
2
2
  export type { AuthFile, AuthProfile } from "./auth-file";
3
3
  export { resolveBoboddyBaseUrl } from "./base-url";
4
4
  export { loadProjectConfig, PROJECT_CONFIG_RELATIVE_PATH, } from "./project-config";
@@ -141,8 +141,11 @@ import {
141
141
  } from "fs";
142
142
  import { dirname, join } from "path";
143
143
  import { homedir } from "os";
144
- var LEGACY_AUTH_FILE_PATH = join(homedir(), ".boboddy");
145
- var AUTH_FILE_PATH = join(homedir(), ".boboddy.json");
144
+ import { randomUUID } from "crypto";
145
+ var homeDirOverrideForTests;
146
+ var resolveHomeDir = () => homeDirOverrideForTests ?? homedir();
147
+ var legacyAuthFilePath = () => join(resolveHomeDir(), ".boboddy");
148
+ var authFilePath = () => join(resolveHomeDir(), ".boboddy.json");
146
149
  var EMPTY_AUTH_FILE = {
147
150
  profiles: {}
148
151
  };
@@ -162,13 +165,20 @@ function isAuthProfile(value) {
162
165
  function isAuthFile(value) {
163
166
  if (typeof value !== "object" || value === null)
164
167
  return false;
165
- const profiles = value["profiles"];
168
+ const obj = value;
169
+ const profiles = obj["profiles"];
166
170
  if (typeof profiles !== "object" || profiles === null)
167
171
  return false;
168
172
  for (const profile of Object.values(profiles)) {
169
173
  if (!isAuthProfile(profile))
170
174
  return false;
171
175
  }
176
+ if (obj["anonymousId"] !== undefined && typeof obj["anonymousId"] !== "string") {
177
+ return false;
178
+ }
179
+ if (obj["telemetryDisabled"] !== undefined && typeof obj["telemetryDisabled"] !== "boolean") {
180
+ return false;
181
+ }
172
182
  return true;
173
183
  }
174
184
  var ensureFilePermissions = (filePath) => {
@@ -176,7 +186,7 @@ var ensureFilePermissions = (filePath) => {
176
186
  chmodSync(filePath, 384);
177
187
  } catch {}
178
188
  };
179
- var getAuthFilePath = () => AUTH_FILE_PATH;
189
+ var getAuthFilePath = () => authFilePath();
180
190
  var loadAuthFileFromPath = (filePath) => {
181
191
  if (!existsSync(filePath))
182
192
  return EMPTY_AUTH_FILE;
@@ -196,22 +206,27 @@ var loadAuthFileFromPath = (filePath) => {
196
206
  return parsed;
197
207
  };
198
208
  var loadAuthFile = () => {
199
- if (existsSync(AUTH_FILE_PATH)) {
200
- return loadAuthFileFromPath(AUTH_FILE_PATH);
209
+ const authFile = authFilePath();
210
+ if (existsSync(authFile)) {
211
+ return loadAuthFileFromPath(authFile);
201
212
  }
202
- return loadAuthFileFromPath(LEGACY_AUTH_FILE_PATH);
213
+ return loadAuthFileFromPath(legacyAuthFilePath());
203
214
  };
204
215
  var writeAuthFile = (data) => {
205
- const parentDirectory = dirname(AUTH_FILE_PATH);
216
+ const authFile = authFilePath();
217
+ const parentDirectory = dirname(authFile);
206
218
  if (!existsSync(parentDirectory)) {
207
219
  mkdirSync(parentDirectory, { recursive: true });
208
220
  }
209
- const temporaryPath = `${AUTH_FILE_PATH}.${String(process.pid)}.${String(Date.now())}.tmp`;
221
+ const temporaryPath = `${authFile}.${String(process.pid)}.${String(Date.now())}.tmp`;
210
222
  writeFileSync(temporaryPath, `${JSON.stringify(data, null, 2)}
211
- `, { encoding: "utf8", mode: 384 });
223
+ `, {
224
+ encoding: "utf8",
225
+ mode: 384
226
+ });
212
227
  ensureFilePermissions(temporaryPath);
213
- renameSync(temporaryPath, AUTH_FILE_PATH);
214
- ensureFilePermissions(AUTH_FILE_PATH);
228
+ renameSync(temporaryPath, authFile);
229
+ ensureFilePermissions(authFile);
215
230
  };
216
231
  var loadAuthProfile = (baseUrl) => {
217
232
  const authFile = loadAuthFile();
@@ -228,14 +243,28 @@ var deleteAuthProfile = (baseUrl) => {
228
243
  return;
229
244
  const remainingProfiles = Object.fromEntries(Object.entries(authFile.profiles).filter(([profileBaseUrl]) => profileBaseUrl !== baseUrl));
230
245
  if (Object.keys(remainingProfiles).length === 0) {
231
- rmSync(AUTH_FILE_PATH, { force: true });
232
- if (existsSync(LEGACY_AUTH_FILE_PATH) && lstatSync(LEGACY_AUTH_FILE_PATH).isFile()) {
233
- rmSync(LEGACY_AUTH_FILE_PATH, { force: true });
246
+ rmSync(authFilePath(), { force: true });
247
+ const legacyPath = legacyAuthFilePath();
248
+ if (existsSync(legacyPath) && lstatSync(legacyPath).isFile()) {
249
+ rmSync(legacyPath, { force: true });
234
250
  }
235
251
  return;
236
252
  }
237
253
  writeAuthFile({ profiles: remainingProfiles });
238
254
  };
255
+ var getOrCreateAnonymousId = () => {
256
+ const authFile = loadAuthFile();
257
+ if (authFile.anonymousId)
258
+ return authFile.anonymousId;
259
+ const anonymousId = randomUUID();
260
+ writeAuthFile({ ...authFile, anonymousId });
261
+ return anonymousId;
262
+ };
263
+ var isTelemetryDisabled = () => loadAuthFile().telemetryDisabled === true;
264
+ var setTelemetryDisabled = (disabled) => {
265
+ const authFile = loadAuthFile();
266
+ writeAuthFile({ ...authFile, telemetryDisabled: disabled });
267
+ };
239
268
  // src/defaults/base-url.ts
240
269
  var DEFAULT_BASE_URL = "https://app.boboddy.dev";
241
270
  var trimTrailingSlashes = (value) => {
@@ -309,12 +338,15 @@ async function loadPushDefaults(opts) {
309
338
  return { baseUrl, projectId, accessToken };
310
339
  }
311
340
  export {
341
+ setTelemetryDisabled,
312
342
  saveAuthProfile,
313
343
  resolveBoboddyBaseUrl,
314
344
  loadPushDefaults,
315
345
  loadProjectConfig,
316
346
  loadAuthProfile,
317
347
  loadAuthFile,
348
+ isTelemetryDisabled,
349
+ getOrCreateAnonymousId,
318
350
  getAuthFilePath,
319
351
  deleteAuthProfile,
320
352
  PROJECT_CONFIG_RELATIVE_PATH
@@ -15689,6 +15689,18 @@ class Api extends HeyApiClient {
15689
15689
  }
15690
15690
 
15691
15691
  class Projects extends HeyApiClient {
15692
+ resolveProjectBySlug(options) {
15693
+ return (options.client ?? this.client).get({ url: "/api/projects/resolve", ...options });
15694
+ }
15695
+ listProjectWorkItems(options) {
15696
+ return (options.client ?? this.client).get({ url: "/api/projects/{projectId}/work-items", ...options });
15697
+ }
15698
+ listProjectWorkItemFieldOptions(options) {
15699
+ return (options.client ?? this.client).get({ url: "/api/projects/{projectId}/work-item-field-options", ...options });
15700
+ }
15701
+ getProject(options) {
15702
+ return (options.client ?? this.client).get({ url: "/api/projects/{projectId}", ...options });
15703
+ }
15692
15704
  listProjects(options) {
15693
15705
  return (options?.client ?? this.client).get({ url: "/api/projects", ...options });
15694
15706
  }
@@ -15702,18 +15714,6 @@ class Projects extends HeyApiClient {
15702
15714
  }
15703
15715
  });
15704
15716
  }
15705
- resolveProjectBySlug(options) {
15706
- return (options.client ?? this.client).get({ url: "/api/projects/resolve", ...options });
15707
- }
15708
- listProjectWorkItems(options) {
15709
- return (options.client ?? this.client).get({ url: "/api/projects/{projectId}/work-items", ...options });
15710
- }
15711
- listProjectWorkItemFieldOptions(options) {
15712
- return (options.client ?? this.client).get({ url: "/api/projects/{projectId}/work-item-field-options", ...options });
15713
- }
15714
- getProject(options) {
15715
- return (options.client ?? this.client).get({ url: "/api/projects/{projectId}", ...options });
15716
- }
15717
15717
  updateProjectDefaultPipelineAssignment(options) {
15718
15718
  return (options.client ?? this.client).put({
15719
15719
  url: "/api/projects/{projectId}/default-pipeline-assignment",
@@ -15772,32 +15772,6 @@ class StepDefinitions extends HeyApiClient {
15772
15772
  }
15773
15773
 
15774
15774
  class StepExecutions extends HeyApiClient {
15775
- createArtifactUploadUrl(options) {
15776
- return (options.client ?? this.client).post({
15777
- url: "/api/step-executions/{stepExecutionId}/artifact-upload-url",
15778
- ...options,
15779
- headers: {
15780
- "Content-Type": "application/json",
15781
- ...options.headers
15782
- }
15783
- });
15784
- }
15785
- listStepExecutionArtifacts(options) {
15786
- return (options.client ?? this.client).get({ url: "/api/step-executions/{stepExecutionId}/artifacts", ...options });
15787
- }
15788
- recordStepExecutionArtifact(options) {
15789
- return (options.client ?? this.client).post({
15790
- url: "/api/step-executions/{stepExecutionId}/artifacts",
15791
- ...options,
15792
- headers: {
15793
- "Content-Type": "application/json",
15794
- ...options.headers
15795
- }
15796
- });
15797
- }
15798
- getArtifactDownloadUrl(options) {
15799
- return (options.client ?? this.client).get({ url: "/api/step-executions/{stepExecutionId}/artifacts/{artifactId}/download-url", ...options });
15800
- }
15801
15775
  claimStepExecutions(options) {
15802
15776
  return (options.client ?? this.client).post({
15803
15777
  url: "/api/step-executions/claims",
@@ -15867,9 +15841,6 @@ class StepExecutions extends HeyApiClient {
15867
15841
  extractStepExecutionSignals(options) {
15868
15842
  return (options.client ?? this.client).post({ url: "/api/step-execution-results/{stepExecutionResultId}/signals/extract", ...options });
15869
15843
  }
15870
- getStepExecution(options) {
15871
- return (options.client ?? this.client).get({ url: "/api/step-executions/{stepExecutionId}", ...options });
15872
- }
15873
15844
  readStepExecutionLogs(options) {
15874
15845
  return (options.client ?? this.client).get({ url: "/api/step-executions/{stepExecutionId}/logs", ...options });
15875
15846
  }
@@ -15883,9 +15854,38 @@ class StepExecutions extends HeyApiClient {
15883
15854
  }
15884
15855
  });
15885
15856
  }
15857
+ getStepExecution(options) {
15858
+ return (options.client ?? this.client).get({ url: "/api/step-executions/{stepExecutionId}", ...options });
15859
+ }
15886
15860
  getStepExecutionLogArchive(options) {
15887
15861
  return (options.client ?? this.client).get({ url: "/api/step-executions/{stepExecutionId}/logs/archive", ...options });
15888
15862
  }
15863
+ createArtifactUploadUrl(options) {
15864
+ return (options.client ?? this.client).post({
15865
+ url: "/api/step-executions/{stepExecutionId}/artifact-upload-url",
15866
+ ...options,
15867
+ headers: {
15868
+ "Content-Type": "application/json",
15869
+ ...options.headers
15870
+ }
15871
+ });
15872
+ }
15873
+ listStepExecutionArtifacts(options) {
15874
+ return (options.client ?? this.client).get({ url: "/api/step-executions/{stepExecutionId}/artifacts", ...options });
15875
+ }
15876
+ recordStepExecutionArtifact(options) {
15877
+ return (options.client ?? this.client).post({
15878
+ url: "/api/step-executions/{stepExecutionId}/artifacts",
15879
+ ...options,
15880
+ headers: {
15881
+ "Content-Type": "application/json",
15882
+ ...options.headers
15883
+ }
15884
+ });
15885
+ }
15886
+ getArtifactDownloadUrl(options) {
15887
+ return (options.client ?? this.client).get({ url: "/api/step-executions/{stepExecutionId}/artifacts/{artifactId}/download-url", ...options });
15888
+ }
15889
15889
  }
15890
15890
 
15891
15891
  class PipelineDefinitions extends HeyApiClient {
@@ -15909,12 +15909,6 @@ class PipelineDefinitions extends HeyApiClient {
15909
15909
  }
15910
15910
  });
15911
15911
  }
15912
- getPipelineDefinition(options) {
15913
- return (options.client ?? this.client).get({ url: "/api/linear-pipeline-definitions/{linearPipelineDefinitionId}", ...options });
15914
- }
15915
- listPipelineDefinitions(options) {
15916
- return (options.client ?? this.client).get({ url: "/api/projects/{projectId}/linear-pipeline-definitions", ...options });
15917
- }
15918
15912
  archivePipelineDefinition(options) {
15919
15913
  return (options.client ?? this.client).put({ url: "/api/linear-pipeline-definitions/{linearPipelineDefinitionId}/archive", ...options });
15920
15914
  }
@@ -15954,6 +15948,12 @@ class PipelineDefinitions extends HeyApiClient {
15954
15948
  }
15955
15949
  });
15956
15950
  }
15951
+ getPipelineDefinition(options) {
15952
+ return (options.client ?? this.client).get({ url: "/api/linear-pipeline-definitions/{linearPipelineDefinitionId}", ...options });
15953
+ }
15954
+ listPipelineDefinitions(options) {
15955
+ return (options.client ?? this.client).get({ url: "/api/projects/{projectId}/linear-pipeline-definitions", ...options });
15956
+ }
15957
15957
  }
15958
15958
 
15959
15959
  class PipelineExecutions extends HeyApiClient {
@@ -16027,6 +16027,12 @@ class PipelineExecutions extends HeyApiClient {
16027
16027
  }
16028
16028
 
16029
16029
  class WorkItems extends HeyApiClient {
16030
+ deleteWorkItem(options) {
16031
+ return (options.client ?? this.client).delete({ url: "/api/work-items/{workItemId}", ...options });
16032
+ }
16033
+ getWorkItem(options) {
16034
+ return (options.client ?? this.client).get({ url: "/api/work-items/{workItemId}", ...options });
16035
+ }
16030
16036
  createWorkItem(options) {
16031
16037
  return (options.client ?? this.client).post({
16032
16038
  url: "/api/work-items",
@@ -16077,12 +16083,6 @@ class WorkItems extends HeyApiClient {
16077
16083
  }
16078
16084
  });
16079
16085
  }
16080
- deleteWorkItem(options) {
16081
- return (options.client ?? this.client).delete({ url: "/api/work-items/{workItemId}", ...options });
16082
- }
16083
- getWorkItem(options) {
16084
- return (options.client ?? this.client).get({ url: "/api/work-items/{workItemId}", ...options });
16085
- }
16086
16086
  }
16087
16087
 
16088
16088
  class WorkItemComments extends HeyApiClient {
@@ -12933,6 +12933,18 @@ class Api extends HeyApiClient {
12933
12933
  }
12934
12934
 
12935
12935
  class Projects extends HeyApiClient {
12936
+ resolveProjectBySlug(options) {
12937
+ return (options.client ?? this.client).get({ url: "/api/projects/resolve", ...options });
12938
+ }
12939
+ listProjectWorkItems(options) {
12940
+ return (options.client ?? this.client).get({ url: "/api/projects/{projectId}/work-items", ...options });
12941
+ }
12942
+ listProjectWorkItemFieldOptions(options) {
12943
+ return (options.client ?? this.client).get({ url: "/api/projects/{projectId}/work-item-field-options", ...options });
12944
+ }
12945
+ getProject(options) {
12946
+ return (options.client ?? this.client).get({ url: "/api/projects/{projectId}", ...options });
12947
+ }
12936
12948
  listProjects(options) {
12937
12949
  return (options?.client ?? this.client).get({ url: "/api/projects", ...options });
12938
12950
  }
@@ -12946,18 +12958,6 @@ class Projects extends HeyApiClient {
12946
12958
  }
12947
12959
  });
12948
12960
  }
12949
- resolveProjectBySlug(options) {
12950
- return (options.client ?? this.client).get({ url: "/api/projects/resolve", ...options });
12951
- }
12952
- listProjectWorkItems(options) {
12953
- return (options.client ?? this.client).get({ url: "/api/projects/{projectId}/work-items", ...options });
12954
- }
12955
- listProjectWorkItemFieldOptions(options) {
12956
- return (options.client ?? this.client).get({ url: "/api/projects/{projectId}/work-item-field-options", ...options });
12957
- }
12958
- getProject(options) {
12959
- return (options.client ?? this.client).get({ url: "/api/projects/{projectId}", ...options });
12960
- }
12961
12961
  updateProjectDefaultPipelineAssignment(options) {
12962
12962
  return (options.client ?? this.client).put({
12963
12963
  url: "/api/projects/{projectId}/default-pipeline-assignment",
@@ -13016,32 +13016,6 @@ class StepDefinitions extends HeyApiClient {
13016
13016
  }
13017
13017
 
13018
13018
  class StepExecutions extends HeyApiClient {
13019
- createArtifactUploadUrl(options) {
13020
- return (options.client ?? this.client).post({
13021
- url: "/api/step-executions/{stepExecutionId}/artifact-upload-url",
13022
- ...options,
13023
- headers: {
13024
- "Content-Type": "application/json",
13025
- ...options.headers
13026
- }
13027
- });
13028
- }
13029
- listStepExecutionArtifacts(options) {
13030
- return (options.client ?? this.client).get({ url: "/api/step-executions/{stepExecutionId}/artifacts", ...options });
13031
- }
13032
- recordStepExecutionArtifact(options) {
13033
- return (options.client ?? this.client).post({
13034
- url: "/api/step-executions/{stepExecutionId}/artifacts",
13035
- ...options,
13036
- headers: {
13037
- "Content-Type": "application/json",
13038
- ...options.headers
13039
- }
13040
- });
13041
- }
13042
- getArtifactDownloadUrl(options) {
13043
- return (options.client ?? this.client).get({ url: "/api/step-executions/{stepExecutionId}/artifacts/{artifactId}/download-url", ...options });
13044
- }
13045
13019
  claimStepExecutions(options) {
13046
13020
  return (options.client ?? this.client).post({
13047
13021
  url: "/api/step-executions/claims",
@@ -13111,9 +13085,6 @@ class StepExecutions extends HeyApiClient {
13111
13085
  extractStepExecutionSignals(options) {
13112
13086
  return (options.client ?? this.client).post({ url: "/api/step-execution-results/{stepExecutionResultId}/signals/extract", ...options });
13113
13087
  }
13114
- getStepExecution(options) {
13115
- return (options.client ?? this.client).get({ url: "/api/step-executions/{stepExecutionId}", ...options });
13116
- }
13117
13088
  readStepExecutionLogs(options) {
13118
13089
  return (options.client ?? this.client).get({ url: "/api/step-executions/{stepExecutionId}/logs", ...options });
13119
13090
  }
@@ -13127,9 +13098,38 @@ class StepExecutions extends HeyApiClient {
13127
13098
  }
13128
13099
  });
13129
13100
  }
13101
+ getStepExecution(options) {
13102
+ return (options.client ?? this.client).get({ url: "/api/step-executions/{stepExecutionId}", ...options });
13103
+ }
13130
13104
  getStepExecutionLogArchive(options) {
13131
13105
  return (options.client ?? this.client).get({ url: "/api/step-executions/{stepExecutionId}/logs/archive", ...options });
13132
13106
  }
13107
+ createArtifactUploadUrl(options) {
13108
+ return (options.client ?? this.client).post({
13109
+ url: "/api/step-executions/{stepExecutionId}/artifact-upload-url",
13110
+ ...options,
13111
+ headers: {
13112
+ "Content-Type": "application/json",
13113
+ ...options.headers
13114
+ }
13115
+ });
13116
+ }
13117
+ listStepExecutionArtifacts(options) {
13118
+ return (options.client ?? this.client).get({ url: "/api/step-executions/{stepExecutionId}/artifacts", ...options });
13119
+ }
13120
+ recordStepExecutionArtifact(options) {
13121
+ return (options.client ?? this.client).post({
13122
+ url: "/api/step-executions/{stepExecutionId}/artifacts",
13123
+ ...options,
13124
+ headers: {
13125
+ "Content-Type": "application/json",
13126
+ ...options.headers
13127
+ }
13128
+ });
13129
+ }
13130
+ getArtifactDownloadUrl(options) {
13131
+ return (options.client ?? this.client).get({ url: "/api/step-executions/{stepExecutionId}/artifacts/{artifactId}/download-url", ...options });
13132
+ }
13133
13133
  }
13134
13134
 
13135
13135
  class PipelineDefinitions extends HeyApiClient {
@@ -13153,12 +13153,6 @@ class PipelineDefinitions extends HeyApiClient {
13153
13153
  }
13154
13154
  });
13155
13155
  }
13156
- getPipelineDefinition(options) {
13157
- return (options.client ?? this.client).get({ url: "/api/linear-pipeline-definitions/{linearPipelineDefinitionId}", ...options });
13158
- }
13159
- listPipelineDefinitions(options) {
13160
- return (options.client ?? this.client).get({ url: "/api/projects/{projectId}/linear-pipeline-definitions", ...options });
13161
- }
13162
13156
  archivePipelineDefinition(options) {
13163
13157
  return (options.client ?? this.client).put({ url: "/api/linear-pipeline-definitions/{linearPipelineDefinitionId}/archive", ...options });
13164
13158
  }
@@ -13198,6 +13192,12 @@ class PipelineDefinitions extends HeyApiClient {
13198
13192
  }
13199
13193
  });
13200
13194
  }
13195
+ getPipelineDefinition(options) {
13196
+ return (options.client ?? this.client).get({ url: "/api/linear-pipeline-definitions/{linearPipelineDefinitionId}", ...options });
13197
+ }
13198
+ listPipelineDefinitions(options) {
13199
+ return (options.client ?? this.client).get({ url: "/api/projects/{projectId}/linear-pipeline-definitions", ...options });
13200
+ }
13201
13201
  }
13202
13202
 
13203
13203
  class PipelineExecutions extends HeyApiClient {
@@ -13271,6 +13271,12 @@ class PipelineExecutions extends HeyApiClient {
13271
13271
  }
13272
13272
 
13273
13273
  class WorkItems extends HeyApiClient {
13274
+ deleteWorkItem(options) {
13275
+ return (options.client ?? this.client).delete({ url: "/api/work-items/{workItemId}", ...options });
13276
+ }
13277
+ getWorkItem(options) {
13278
+ return (options.client ?? this.client).get({ url: "/api/work-items/{workItemId}", ...options });
13279
+ }
13274
13280
  createWorkItem(options) {
13275
13281
  return (options.client ?? this.client).post({
13276
13282
  url: "/api/work-items",
@@ -13321,12 +13327,6 @@ class WorkItems extends HeyApiClient {
13321
13327
  }
13322
13328
  });
13323
13329
  }
13324
- deleteWorkItem(options) {
13325
- return (options.client ?? this.client).delete({ url: "/api/work-items/{workItemId}", ...options });
13326
- }
13327
- getWorkItem(options) {
13328
- return (options.client ?? this.client).get({ url: "/api/work-items/{workItemId}", ...options });
13329
- }
13330
13330
  }
13331
13331
 
13332
13332
  class WorkItemComments extends HeyApiClient {