@boboddy/sdk 0.1.17-alpha → 0.1.19-alpha

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/index.js CHANGED
@@ -1008,9 +1008,6 @@ class StepExecutions extends HeyApiClient {
1008
1008
  }
1009
1009
 
1010
1010
  class PipelineDefinitions extends HeyApiClient {
1011
- listPipelineDefinitions(options) {
1012
- return (options?.client ?? this.client).get({ url: "/api/linear-pipeline-definitions", ...options });
1013
- }
1014
1011
  createPipelineDefinition(options) {
1015
1012
  return (options.client ?? this.client).post({
1016
1013
  url: "/api/linear-pipeline-definitions",
@@ -1034,6 +1031,9 @@ class PipelineDefinitions extends HeyApiClient {
1034
1031
  getPipelineDefinition(options) {
1035
1032
  return (options.client ?? this.client).get({ url: "/api/linear-pipeline-definitions/{linearPipelineDefinitionId}", ...options });
1036
1033
  }
1034
+ listPipelineDefinitions(options) {
1035
+ return (options.client ?? this.client).get({ url: "/api/projects/{projectId}/linear-pipeline-definitions", ...options });
1036
+ }
1037
1037
  archivePipelineDefinition(options) {
1038
1038
  return (options.client ?? this.client).put({ url: "/api/linear-pipeline-definitions/{linearPipelineDefinitionId}/archive", ...options });
1039
1039
  }
@@ -1263,7 +1263,14 @@ class ProjectIntegrations extends HeyApiClient {
1263
1263
  });
1264
1264
  }
1265
1265
  syncProjectIntegration(options) {
1266
- return (options.client ?? this.client).post({ url: "/api/projects/{projectId}/integrations/{integrationId}/sync", ...options });
1266
+ return (options.client ?? this.client).post({
1267
+ url: "/api/projects/{projectId}/integrations/{integrationId}/sync",
1268
+ ...options,
1269
+ headers: {
1270
+ "Content-Type": "application/json",
1271
+ ...options.headers
1272
+ }
1273
+ });
1267
1274
  }
1268
1275
  deleteProjectIntegration(options) {
1269
1276
  return (options.client ?? this.client).delete({ url: "/api/projects/{projectId}/integrations/{integrationId}", ...options });
@@ -13325,30 +13332,6 @@ class JSONSchemaGenerator {
13325
13332
  }
13326
13333
  // ../../../node_modules/.bun/zod@4.4.3/node_modules/zod/v4/core/json-schema.js
13327
13334
  var exports_json_schema = {};
13328
- // src/definitions/steps/prompt-template.ts
13329
- function createPromptInputProxy(path = []) {
13330
- const token = () => path.length ? `{{${path.join(".")}}}` : "";
13331
- return new Proxy(Object.freeze({}), {
13332
- get(_, key) {
13333
- if (key === Symbol.toPrimitive || key === "valueOf") {
13334
- return (_hint) => token();
13335
- }
13336
- if (key === "toString") {
13337
- return () => token();
13338
- }
13339
- if (typeof key !== "string")
13340
- return;
13341
- return createPromptInputProxy([...path, key]);
13342
- }
13343
- });
13344
- }
13345
- function renderPromptTemplate(template, inputJson) {
13346
- return template.replace(/\{\{([^}]+)\}\}/g, (_, path) => {
13347
- const value = path.split(".").reduce((curr, key) => curr != null ? curr[key] : undefined, inputJson);
13348
- return value != null ? String(value) : "";
13349
- });
13350
- }
13351
-
13352
13335
  // src/definitions/steps/define-step.ts
13353
13336
  var UNWRAP_TYPES = new Set(["optional", "nullable", "default"]);
13354
13337
  function unwrapZodType(schema) {
@@ -13394,7 +13377,7 @@ function defineStep(config2) {
13394
13377
  for (const feature of features) {
13395
13378
  effectiveResult = effectiveResult ? effectiveResult.extend(feature._resultExtension.shape) : feature._resultExtension;
13396
13379
  }
13397
- let effectivePrompt = typeof config2.prompt === "function" ? config2.prompt(createPromptInputProxy()) : config2.prompt ?? null;
13380
+ let effectivePrompt = config2.agentPrompt;
13398
13381
  for (const feature of features) {
13399
13382
  if (feature._promptAddition) {
13400
13383
  effectivePrompt = effectivePrompt ? `${effectivePrompt}
@@ -13411,7 +13394,7 @@ ${feature._promptAddition}` : feature._promptAddition;
13411
13394
  kind: "user_defined",
13412
13395
  status: config2.status ?? "active",
13413
13396
  prompt: effectivePrompt,
13414
- inputSchemaJson: config2.input ? toJSONSchema(config2.input) : null,
13397
+ inputSchemaJson: config2.additionalInput ? toJSONSchema(config2.additionalInput) : null,
13415
13398
  resultSchemaJson: effectiveResult ? toJSONSchema(effectiveResult) : null,
13416
13399
  signalExtractorDefinitions: [
13417
13400
  ...(config2.signals ?? []).map((s) => ({
@@ -13433,6 +13416,29 @@ ${feature._promptAddition}` : feature._promptAddition;
13433
13416
  };
13434
13417
  return spec;
13435
13418
  }
13419
+ // src/definitions/steps/prompt-template.ts
13420
+ function createPromptInputProxy(path = []) {
13421
+ const token = () => path.length ? `{{${path.join(".")}}}` : "";
13422
+ return new Proxy(Object.freeze({}), {
13423
+ get(_, key) {
13424
+ if (key === Symbol.toPrimitive || key === "valueOf") {
13425
+ return (_hint) => token();
13426
+ }
13427
+ if (key === "toString") {
13428
+ return () => token();
13429
+ }
13430
+ if (typeof key !== "string")
13431
+ return;
13432
+ return createPromptInputProxy([...path, key]);
13433
+ }
13434
+ });
13435
+ }
13436
+ function renderPromptTemplate(template, inputJson) {
13437
+ return template.replace(/\{\{([^}]+)\}\}/g, (_, path) => {
13438
+ const value = path.split(".").reduce((curr, key) => curr != null ? curr[key] : undefined, inputJson);
13439
+ return value != null ? String(value) : "";
13440
+ });
13441
+ }
13436
13442
  // src/definitions/steps/step-definitions-client.ts
13437
13443
  function createStepDefinitionsClient(baseUrl) {
13438
13444
  const client2 = createClient({ baseUrl });
@@ -16233,11 +16239,13 @@ class PipelineStepAdvancementBuilder {
16233
16239
  meta;
16234
16240
  steps;
16235
16241
  pipelineInputBindings;
16236
- constructor(inputSchema, meta3, steps, pipelineInputBindings = {}) {
16242
+ pipelineStepInputBindings;
16243
+ constructor(inputSchema, meta3, steps, pipelineInputBindings = {}, pipelineStepInputBindings = {}) {
16237
16244
  this.inputSchema = inputSchema;
16238
16245
  this.meta = meta3;
16239
16246
  this.steps = steps;
16240
16247
  this.pipelineInputBindings = pipelineInputBindings;
16248
+ this.pipelineStepInputBindings = pipelineStepInputBindings;
16241
16249
  }
16242
16250
  advance(callback) {
16243
16251
  const last = this.steps.at(-1);
@@ -16248,7 +16256,7 @@ class PipelineStepAdvancementBuilder {
16248
16256
  ...result.rules !== undefined ? { rules: result.rules } : {}
16249
16257
  };
16250
16258
  last.advancement = policy;
16251
- return new PipelineStepBuilder(this.inputSchema, this.meta, this.steps, this.pipelineInputBindings);
16259
+ return new PipelineStepBuilder(this.inputSchema, this.meta, this.steps, this.pipelineInputBindings, this.pipelineStepInputBindings);
16252
16260
  }
16253
16261
  }
16254
16262
 
@@ -16257,16 +16265,18 @@ class PipelineStepBuilder {
16257
16265
  meta;
16258
16266
  steps;
16259
16267
  pipelineInputBindings;
16260
- constructor(inputSchema, meta3, steps, pipelineInputBindings = {}) {
16268
+ pipelineStepInputBindings;
16269
+ constructor(inputSchema, meta3, steps, pipelineInputBindings = {}, pipelineStepInputBindings = {}) {
16261
16270
  this.inputSchema = inputSchema;
16262
16271
  this.meta = meta3;
16263
16272
  this.steps = steps;
16264
16273
  this.pipelineInputBindings = pipelineInputBindings;
16274
+ this.pipelineStepInputBindings = pipelineStepInputBindings;
16265
16275
  }
16266
16276
  step(step, mapper, configFn) {
16267
16277
  const ctx = makeStepInputCtx(this.inputSchema);
16268
- const rawInput = mapper(ctx);
16269
- const input = normalizeInputMapping(rawInput);
16278
+ const rawInput = mapper ? mapper(ctx) : {};
16279
+ const input = mergeStepBindings(this.pipelineStepInputBindings, normalizeInputMapping(rawInput));
16270
16280
  const stepConfig = { step, input };
16271
16281
  if (configFn) {
16272
16282
  const cfg = {};
@@ -16275,7 +16285,7 @@ class PipelineStepBuilder {
16275
16285
  stepConfig.timeout = cfg.timeout;
16276
16286
  }
16277
16287
  this.steps.push(stepConfig);
16278
- return new PipelineStepAdvancementBuilder(this.inputSchema, this.meta, this.steps, this.pipelineInputBindings);
16288
+ return new PipelineStepAdvancementBuilder(this.inputSchema, this.meta, this.steps, this.pipelineInputBindings, this.pipelineStepInputBindings);
16279
16289
  }
16280
16290
  build() {
16281
16291
  const config2 = {
@@ -16297,8 +16307,9 @@ class PipelineBuilder {
16297
16307
  meta;
16298
16308
  steps = [];
16299
16309
  pipelineInputBindings;
16310
+ pipelineStepInputBindings;
16300
16311
  constructor(meta3) {
16301
- const { additionalPipelineInput, ...rest } = meta3;
16312
+ const { additionalPipelineInput, additionalStepInput, ...rest } = meta3;
16302
16313
  this.inputSchema = additionalPipelineInput?.schema ?? exports_external.unknown();
16303
16314
  this.meta = rest;
16304
16315
  if (additionalPipelineInput) {
@@ -16317,11 +16328,12 @@ class PipelineBuilder {
16317
16328
  } else {
16318
16329
  this.pipelineInputBindings = {};
16319
16330
  }
16331
+ this.pipelineStepInputBindings = resolveAdditionalStepInputBindings("additionalStepInput", additionalStepInput);
16320
16332
  }
16321
16333
  step(step, mapper, configFn) {
16322
16334
  const ctx = makeStepInputCtx(this.inputSchema);
16323
- const rawInput = mapper(ctx);
16324
- const input = normalizeInputMapping(rawInput);
16335
+ const rawInput = mapper ? mapper(ctx) : {};
16336
+ const input = mergeStepBindings(this.pipelineStepInputBindings, normalizeInputMapping(rawInput));
16325
16337
  const stepConfig = { step, input };
16326
16338
  if (configFn) {
16327
16339
  const cfg = {};
@@ -16330,7 +16342,7 @@ class PipelineBuilder {
16330
16342
  stepConfig.timeout = cfg.timeout;
16331
16343
  }
16332
16344
  this.steps.push(stepConfig);
16333
- return new PipelineStepAdvancementBuilder(this.inputSchema, this.meta, this.steps, this.pipelineInputBindings);
16345
+ return new PipelineStepAdvancementBuilder(this.inputSchema, this.meta, this.steps, this.pipelineInputBindings, this.pipelineStepInputBindings);
16334
16346
  }
16335
16347
  }
16336
16348
  var WORK_ITEM_ACCESSOR = Object.freeze({
@@ -16380,6 +16392,33 @@ function normalizeInputMapping(mapping) {
16380
16392
  }
16381
16393
  return out;
16382
16394
  }
16395
+ function resolveAdditionalStepInputBindings(label, definition) {
16396
+ if (!definition) {
16397
+ return {};
16398
+ }
16399
+ const raw = definition.bindings({
16400
+ workItemField: (fieldName) => ({
16401
+ source: "work_item",
16402
+ field: `fields.${fieldName}`
16403
+ }),
16404
+ literal: literal2
16405
+ });
16406
+ if (definition.schema instanceof exports_external.ZodObject) {
16407
+ const validKeys = new Set(Object.keys(definition.schema.shape));
16408
+ const unknown2 = Object.keys(raw).filter((key) => !validKeys.has(key));
16409
+ if (unknown2.length > 0) {
16410
+ throw new Error(`${label}.bindings returned key${unknown2.length > 1 ? "s" : ""} not in schema: ${unknown2.map((key) => `"${key}"`).join(", ")}`);
16411
+ }
16412
+ }
16413
+ return normalizeInputMapping(raw) ?? {};
16414
+ }
16415
+ function mergeStepBindings(pipelineBindings, explicitBindings) {
16416
+ const merged = {
16417
+ ...pipelineBindings,
16418
+ ...explicitBindings ?? {}
16419
+ };
16420
+ return Object.keys(merged).length > 0 ? merged : undefined;
16421
+ }
16383
16422
  function pipeline(meta3) {
16384
16423
  return new PipelineBuilder(meta3);
16385
16424
  }
@@ -16392,7 +16431,7 @@ var buildPipelineDefinitionsClient = (pipelineDefinitions) => {
16392
16431
  return {
16393
16432
  listByProjectId: async (projectId, options) => {
16394
16433
  const result = await pipelineDefinitions.listPipelineDefinitions({
16395
- query: { projectId },
16434
+ path: { projectId },
16396
16435
  headers: options?.headers
16397
16436
  });
16398
16437
  if (result.error)
@@ -11947,30 +11947,6 @@ class JSONSchemaGenerator {
11947
11947
  }
11948
11948
  // ../../../node_modules/.bun/zod@4.4.3/node_modules/zod/v4/core/json-schema.js
11949
11949
  var exports_json_schema = {};
11950
- // src/definitions/steps/prompt-template.ts
11951
- function createPromptInputProxy(path = []) {
11952
- const token = () => path.length ? `{{${path.join(".")}}}` : "";
11953
- return new Proxy(Object.freeze({}), {
11954
- get(_, key) {
11955
- if (key === Symbol.toPrimitive || key === "valueOf") {
11956
- return (_hint) => token();
11957
- }
11958
- if (key === "toString") {
11959
- return () => token();
11960
- }
11961
- if (typeof key !== "string")
11962
- return;
11963
- return createPromptInputProxy([...path, key]);
11964
- }
11965
- });
11966
- }
11967
- function renderPromptTemplate(template, inputJson) {
11968
- return template.replace(/\{\{([^}]+)\}\}/g, (_, path) => {
11969
- const value = path.split(".").reduce((curr, key) => curr != null ? curr[key] : undefined, inputJson);
11970
- return value != null ? String(value) : "";
11971
- });
11972
- }
11973
-
11974
11950
  // src/definitions/steps/define-step.ts
11975
11951
  var UNWRAP_TYPES = new Set(["optional", "nullable", "default"]);
11976
11952
  function unwrapZodType(schema) {
@@ -12016,7 +11992,7 @@ function defineStep(config2) {
12016
11992
  for (const feature of features) {
12017
11993
  effectiveResult = effectiveResult ? effectiveResult.extend(feature._resultExtension.shape) : feature._resultExtension;
12018
11994
  }
12019
- let effectivePrompt = typeof config2.prompt === "function" ? config2.prompt(createPromptInputProxy()) : config2.prompt ?? null;
11995
+ let effectivePrompt = config2.agentPrompt;
12020
11996
  for (const feature of features) {
12021
11997
  if (feature._promptAddition) {
12022
11998
  effectivePrompt = effectivePrompt ? `${effectivePrompt}
@@ -12033,7 +12009,7 @@ ${feature._promptAddition}` : feature._promptAddition;
12033
12009
  kind: "user_defined",
12034
12010
  status: config2.status ?? "active",
12035
12011
  prompt: effectivePrompt,
12036
- inputSchemaJson: config2.input ? toJSONSchema(config2.input) : null,
12012
+ inputSchemaJson: config2.additionalInput ? toJSONSchema(config2.additionalInput) : null,
12037
12013
  resultSchemaJson: effectiveResult ? toJSONSchema(effectiveResult) : null,
12038
12014
  signalExtractorDefinitions: [
12039
12015
  ...(config2.signals ?? []).map((s) => ({
@@ -12055,6 +12031,29 @@ ${feature._promptAddition}` : feature._promptAddition;
12055
12031
  };
12056
12032
  return spec;
12057
12033
  }
12034
+ // src/definitions/steps/prompt-template.ts
12035
+ function createPromptInputProxy(path = []) {
12036
+ const token = () => path.length ? `{{${path.join(".")}}}` : "";
12037
+ return new Proxy(Object.freeze({}), {
12038
+ get(_, key) {
12039
+ if (key === Symbol.toPrimitive || key === "valueOf") {
12040
+ return (_hint) => token();
12041
+ }
12042
+ if (key === "toString") {
12043
+ return () => token();
12044
+ }
12045
+ if (typeof key !== "string")
12046
+ return;
12047
+ return createPromptInputProxy([...path, key]);
12048
+ }
12049
+ });
12050
+ }
12051
+ function renderPromptTemplate(template, inputJson) {
12052
+ return template.replace(/\{\{([^}]+)\}\}/g, (_, path) => {
12053
+ const value = path.split(".").reduce((curr, key) => curr != null ? curr[key] : undefined, inputJson);
12054
+ return value != null ? String(value) : "";
12055
+ });
12056
+ }
12058
12057
  // src/generated/core/bodySerializer.gen.ts
12059
12058
  var jsonBodySerializer = {
12060
12059
  bodySerializer: (body) => JSON.stringify(body, (_key, value) => typeof value === "bigint" ? value.toString() : value)
@@ -13049,9 +13048,6 @@ class StepExecutions extends HeyApiClient {
13049
13048
  }
13050
13049
 
13051
13050
  class PipelineDefinitions extends HeyApiClient {
13052
- listPipelineDefinitions(options) {
13053
- return (options?.client ?? this.client).get({ url: "/api/linear-pipeline-definitions", ...options });
13054
- }
13055
13051
  createPipelineDefinition(options) {
13056
13052
  return (options.client ?? this.client).post({
13057
13053
  url: "/api/linear-pipeline-definitions",
@@ -13075,6 +13071,9 @@ class PipelineDefinitions extends HeyApiClient {
13075
13071
  getPipelineDefinition(options) {
13076
13072
  return (options.client ?? this.client).get({ url: "/api/linear-pipeline-definitions/{linearPipelineDefinitionId}", ...options });
13077
13073
  }
13074
+ listPipelineDefinitions(options) {
13075
+ return (options.client ?? this.client).get({ url: "/api/projects/{projectId}/linear-pipeline-definitions", ...options });
13076
+ }
13078
13077
  archivePipelineDefinition(options) {
13079
13078
  return (options.client ?? this.client).put({ url: "/api/linear-pipeline-definitions/{linearPipelineDefinitionId}/archive", ...options });
13080
13079
  }
@@ -13304,7 +13303,14 @@ class ProjectIntegrations extends HeyApiClient {
13304
13303
  });
13305
13304
  }
13306
13305
  syncProjectIntegration(options) {
13307
- return (options.client ?? this.client).post({ url: "/api/projects/{projectId}/integrations/{integrationId}/sync", ...options });
13306
+ return (options.client ?? this.client).post({
13307
+ url: "/api/projects/{projectId}/integrations/{integrationId}/sync",
13308
+ ...options,
13309
+ headers: {
13310
+ "Content-Type": "application/json",
13311
+ ...options.headers
13312
+ }
13313
+ });
13308
13314
  }
13309
13315
  deleteProjectIntegration(options) {
13310
13316
  return (options.client ?? this.client).delete({ url: "/api/projects/{projectId}/integrations/{integrationId}", ...options });
@@ -16163,11 +16169,13 @@ class PipelineStepAdvancementBuilder {
16163
16169
  meta;
16164
16170
  steps;
16165
16171
  pipelineInputBindings;
16166
- constructor(inputSchema, meta3, steps, pipelineInputBindings = {}) {
16172
+ pipelineStepInputBindings;
16173
+ constructor(inputSchema, meta3, steps, pipelineInputBindings = {}, pipelineStepInputBindings = {}) {
16167
16174
  this.inputSchema = inputSchema;
16168
16175
  this.meta = meta3;
16169
16176
  this.steps = steps;
16170
16177
  this.pipelineInputBindings = pipelineInputBindings;
16178
+ this.pipelineStepInputBindings = pipelineStepInputBindings;
16171
16179
  }
16172
16180
  advance(callback) {
16173
16181
  const last = this.steps.at(-1);
@@ -16178,7 +16186,7 @@ class PipelineStepAdvancementBuilder {
16178
16186
  ...result.rules !== undefined ? { rules: result.rules } : {}
16179
16187
  };
16180
16188
  last.advancement = policy;
16181
- return new PipelineStepBuilder(this.inputSchema, this.meta, this.steps, this.pipelineInputBindings);
16189
+ return new PipelineStepBuilder(this.inputSchema, this.meta, this.steps, this.pipelineInputBindings, this.pipelineStepInputBindings);
16182
16190
  }
16183
16191
  }
16184
16192
 
@@ -16187,16 +16195,18 @@ class PipelineStepBuilder {
16187
16195
  meta;
16188
16196
  steps;
16189
16197
  pipelineInputBindings;
16190
- constructor(inputSchema, meta3, steps, pipelineInputBindings = {}) {
16198
+ pipelineStepInputBindings;
16199
+ constructor(inputSchema, meta3, steps, pipelineInputBindings = {}, pipelineStepInputBindings = {}) {
16191
16200
  this.inputSchema = inputSchema;
16192
16201
  this.meta = meta3;
16193
16202
  this.steps = steps;
16194
16203
  this.pipelineInputBindings = pipelineInputBindings;
16204
+ this.pipelineStepInputBindings = pipelineStepInputBindings;
16195
16205
  }
16196
16206
  step(step, mapper, configFn) {
16197
16207
  const ctx = makeStepInputCtx(this.inputSchema);
16198
- const rawInput = mapper(ctx);
16199
- const input = normalizeInputMapping(rawInput);
16208
+ const rawInput = mapper ? mapper(ctx) : {};
16209
+ const input = mergeStepBindings(this.pipelineStepInputBindings, normalizeInputMapping(rawInput));
16200
16210
  const stepConfig = { step, input };
16201
16211
  if (configFn) {
16202
16212
  const cfg = {};
@@ -16205,7 +16215,7 @@ class PipelineStepBuilder {
16205
16215
  stepConfig.timeout = cfg.timeout;
16206
16216
  }
16207
16217
  this.steps.push(stepConfig);
16208
- return new PipelineStepAdvancementBuilder(this.inputSchema, this.meta, this.steps, this.pipelineInputBindings);
16218
+ return new PipelineStepAdvancementBuilder(this.inputSchema, this.meta, this.steps, this.pipelineInputBindings, this.pipelineStepInputBindings);
16209
16219
  }
16210
16220
  build() {
16211
16221
  const config2 = {
@@ -16227,8 +16237,9 @@ class PipelineBuilder {
16227
16237
  meta;
16228
16238
  steps = [];
16229
16239
  pipelineInputBindings;
16240
+ pipelineStepInputBindings;
16230
16241
  constructor(meta3) {
16231
- const { additionalPipelineInput, ...rest } = meta3;
16242
+ const { additionalPipelineInput, additionalStepInput, ...rest } = meta3;
16232
16243
  this.inputSchema = additionalPipelineInput?.schema ?? exports_external.unknown();
16233
16244
  this.meta = rest;
16234
16245
  if (additionalPipelineInput) {
@@ -16247,11 +16258,12 @@ class PipelineBuilder {
16247
16258
  } else {
16248
16259
  this.pipelineInputBindings = {};
16249
16260
  }
16261
+ this.pipelineStepInputBindings = resolveAdditionalStepInputBindings("additionalStepInput", additionalStepInput);
16250
16262
  }
16251
16263
  step(step, mapper, configFn) {
16252
16264
  const ctx = makeStepInputCtx(this.inputSchema);
16253
- const rawInput = mapper(ctx);
16254
- const input = normalizeInputMapping(rawInput);
16265
+ const rawInput = mapper ? mapper(ctx) : {};
16266
+ const input = mergeStepBindings(this.pipelineStepInputBindings, normalizeInputMapping(rawInput));
16255
16267
  const stepConfig = { step, input };
16256
16268
  if (configFn) {
16257
16269
  const cfg = {};
@@ -16260,7 +16272,7 @@ class PipelineBuilder {
16260
16272
  stepConfig.timeout = cfg.timeout;
16261
16273
  }
16262
16274
  this.steps.push(stepConfig);
16263
- return new PipelineStepAdvancementBuilder(this.inputSchema, this.meta, this.steps, this.pipelineInputBindings);
16275
+ return new PipelineStepAdvancementBuilder(this.inputSchema, this.meta, this.steps, this.pipelineInputBindings, this.pipelineStepInputBindings);
16264
16276
  }
16265
16277
  }
16266
16278
  var WORK_ITEM_ACCESSOR = Object.freeze({
@@ -16310,6 +16322,33 @@ function normalizeInputMapping(mapping) {
16310
16322
  }
16311
16323
  return out;
16312
16324
  }
16325
+ function resolveAdditionalStepInputBindings(label, definition) {
16326
+ if (!definition) {
16327
+ return {};
16328
+ }
16329
+ const raw = definition.bindings({
16330
+ workItemField: (fieldName) => ({
16331
+ source: "work_item",
16332
+ field: `fields.${fieldName}`
16333
+ }),
16334
+ literal: literal2
16335
+ });
16336
+ if (definition.schema instanceof exports_external.ZodObject) {
16337
+ const validKeys = new Set(Object.keys(definition.schema.shape));
16338
+ const unknown2 = Object.keys(raw).filter((key) => !validKeys.has(key));
16339
+ if (unknown2.length > 0) {
16340
+ throw new Error(`${label}.bindings returned key${unknown2.length > 1 ? "s" : ""} not in schema: ${unknown2.map((key) => `"${key}"`).join(", ")}`);
16341
+ }
16342
+ }
16343
+ return normalizeInputMapping(raw) ?? {};
16344
+ }
16345
+ function mergeStepBindings(pipelineBindings, explicitBindings) {
16346
+ const merged = {
16347
+ ...pipelineBindings,
16348
+ ...explicitBindings ?? {}
16349
+ };
16350
+ return Object.keys(merged).length > 0 ? merged : undefined;
16351
+ }
16313
16352
  function pipeline(meta3) {
16314
16353
  return new PipelineBuilder(meta3);
16315
16354
  }
@@ -16322,7 +16361,7 @@ var buildPipelineDefinitionsClient = (pipelineDefinitions) => {
16322
16361
  return {
16323
16362
  listByProjectId: async (projectId, options) => {
16324
16363
  const result = await pipelineDefinitions.listPipelineDefinitions({
16325
- query: { projectId },
16364
+ path: { projectId },
16326
16365
  headers: options?.headers
16327
16366
  });
16328
16367
  if (result.error)
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
3
  "name": "@boboddy/sdk",
4
- "version": "0.1.17-alpha",
4
+ "version": "0.1.19-alpha",
5
5
  "type": "module",
6
6
  "exports": {
7
7
  ".": {