@introspection-sdk/introspection-node 0.22.0 → 0.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -54,6 +54,52 @@ teardown.
54
54
  Interrupted runs resume through
55
55
  `runner.tasks.runs.resume(taskId, { resume: entries })`.
56
56
 
57
+ ### Annotations
58
+
59
+ Annotations capture what a domain expert found good or bad on an OTel span. They
60
+ are labels, comments, and assignments—not numeric scores. Writes require an
61
+ authenticated business-member token with `annotations:write`; project API
62
+ keys and sandbox credentials cannot write annotations.
63
+
64
+ ```typescript
65
+ const client = new IntrospectionClient({
66
+ token: memberAccessToken,
67
+ cpSession: encodedMemberSession,
68
+ advanced: {
69
+ baseApiUrl: "https://api.introspection.dev", // Control Plane
70
+ dpUrl: memberDataPlaneUrl,
71
+ },
72
+ });
73
+
74
+ const span = {
75
+ trace_id: "0123456789abcdef0123456789abcdef",
76
+ span_id: "0123456789abcdef",
77
+ };
78
+
79
+ await client.projectLabels.create({
80
+ slug: "strong-structure",
81
+ color: "#f97316",
82
+ description: "A useful structure to preserve during distillation",
83
+ });
84
+ await client.annotations.create(span, { labels: ["strong-structure"] });
85
+ await client.annotations.create(span, {
86
+ comment: "Keep the conclusion before the evidence.",
87
+ });
88
+ await client.annotations.create(span, {
89
+ reviewerEmails: ["expert@example.com"],
90
+ });
91
+ await client.annotations.create(span, { reviewerEmails: [] });
92
+ ```
93
+
94
+ Labels and reviewers are complete snapshots; pass `[]` to clear one. Comments
95
+ append. Every mutation gets a UUIDv7 `event_id` before its
96
+ first transport attempt, so an automatic retry remains one event. Supply
97
+ `{ event_id }` as the final method argument when retrying across processes.
98
+ `client.annotations.list()` and `client.projectLabels.list()` are both awaitable
99
+ for the first page and async-iterable across every cursor page.
100
+ Read immutable annotation history with
101
+ `client.events.list({ event_name: "introspection.annotation", trace_id, span_id })`.
102
+
57
103
  ## Pi instrumentation
58
104
 
59
105
  Pi is the supported agent-instrumentation path:
package/dist/client.d.ts CHANGED
@@ -12,6 +12,7 @@
12
12
  * `@introspection-sdk/introspection-node/otel`.
13
13
  */
14
14
  import type { AdvancedOptions } from "@introspection-sdk/types";
15
+ import { EventsApi } from "@introspection-sdk/http";
15
16
  import type { IntrospectionClientOptions } from "./types.js";
16
17
  import { type ServiceAccountTokenParams } from "./auth.js";
17
18
  import { HttpClient } from "./http.js";
@@ -19,6 +20,7 @@ import { type RuntimeHandleFactory, type RuntimesApi } from "./resources/runtime
19
20
  import { type ExperimentHandleFactory, type ExperimentsApi } from "./resources/experiments.js";
20
21
  import { type RecipesApi } from "./resources/recipes.js";
21
22
  import { type ConnectorsApi } from "./resources/connectors.js";
23
+ import { type AnnotationsApi, type ProjectLabelsApi } from "./resources/annotations.js";
22
24
  /**
23
25
  * Introspection REST client.
24
26
  *
@@ -42,6 +44,8 @@ import { type ConnectorsApi } from "./resources/connectors.js";
42
44
  export declare class IntrospectionClient {
43
45
  /** @internal — HTTP client pointed at the CP API with the customer key. */
44
46
  readonly cpHttp: HttpClient;
47
+ /** @internal — HTTP client pointed at the project Data Plane. */
48
+ readonly dpHttp: HttpClient;
45
49
  /** @internal — passed through to Runner so it can build its own DP HTTP client. */
46
50
  readonly advancedOptions: AdvancedOptions;
47
51
  /**
@@ -50,10 +54,7 @@ export declare class IntrospectionClient {
50
54
  * through the Introspection CLI and platform.
51
55
  */
52
56
  readonly runtimes: RuntimesApi & RuntimeHandleFactory;
53
- /**
54
- * Reads on `/v1/experiments` plus the `(id) => ExperimentHandle` factory
55
- * for run lifecycle. Authoring experiment definitions is a CLI action.
56
- */
57
+ /** CRUD on `/v1/experiments` plus the callable run-lifecycle handle. */
57
58
  readonly experiments: ExperimentsApi & ExperimentHandleFactory;
58
59
  /**
59
60
  * Reads on `/v1/recipes`. Recipes are immutable build artefacts
@@ -67,6 +68,12 @@ export declare class IntrospectionClient {
67
68
  * single-use consent URL a Business hands its customer.
68
69
  */
69
70
  readonly connectors: ConnectorsApi;
71
+ /** Read folded span annotations and append one annotation mutation. */
72
+ readonly annotations: AnnotationsApi;
73
+ /** Manage reusable project labels. */
74
+ readonly projectLabels: ProjectLabelsApi;
75
+ /** Read immutable annotation activity and other typed platform events. */
76
+ readonly events: EventsApi;
70
77
  constructor(options?: IntrospectionClientOptions);
71
78
  /**
72
79
  * Authenticate as a confidential service account and return a ready
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEhE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAuB,KAAK,yBAAyB,EAAE,MAAM,WAAW,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,WAAW,EACjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAEL,KAAK,uBAAuB,EAC5B,KAAK,cAAc,EACpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAEL,KAAK,aAAa,EACnB,MAAM,2BAA2B,CAAC;AAGnC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,mBAAmB;IAC9B,2EAA2E;IAC3E,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,mFAAmF;IACnF,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAE1C;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,WAAW,GAAG,oBAAoB,CAAC;IAEtD;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,cAAc,GAAG,uBAAuB,CAAC;IAE/D;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAE7B;;;;OAIG;IACH,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;gBAEvB,OAAO,GAAE,0BAA+B;IAmDpD;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;WACU,kBAAkB,CAC7B,MAAM,EAAE,yBAAyB,GAAG;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GAC3D,OAAO,CAAC,mBAAmB,CAAC;IAS/B,wCAAwC;IAClC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAKhC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEpD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAuB,KAAK,yBAAyB,EAAE,MAAM,WAAW,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,WAAW,EACjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAEL,KAAK,uBAAuB,EAC5B,KAAK,cAAc,EACpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAEL,KAAK,aAAa,EACnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACtB,MAAM,4BAA4B,CAAC;AAGpC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,mBAAmB;IAC9B,2EAA2E;IAC3E,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,iEAAiE;IACjE,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,mFAAmF;IACnF,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAE1C;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,WAAW,GAAG,oBAAoB,CAAC;IAEtD,wEAAwE;IACxE,QAAQ,CAAC,WAAW,EAAE,cAAc,GAAG,uBAAuB,CAAC;IAE/D;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAE7B;;;;OAIG;IACH,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;IAEnC,uEAAuE;IACvE,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAC;IAErC,sCAAsC;IACtC,QAAQ,CAAC,aAAa,EAAE,gBAAgB,CAAC;IAEzC,0EAA0E;IAC1E,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;gBAEf,OAAO,GAAE,0BAA+B;IAiEpD;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;WACU,kBAAkB,CAC7B,MAAM,EAAE,yBAAyB,GAAG;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GAC3D,OAAO,CAAC,mBAAmB,CAAC;IAa/B,wCAAwC;IAClC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAKhC"}
package/dist/client.js CHANGED
@@ -11,6 +11,7 @@
11
11
  * helpers, use {@link IntrospectionLogs} from
12
12
  * `@introspection-sdk/introspection-node/otel`.
13
13
  */
14
+ import { EventsApi } from "@introspection-sdk/http";
14
15
  import { logger as sdkLogger, USER_AGENT } from "./utils.js";
15
16
  import { serviceAccountToken } from "./auth.js";
16
17
  import { HttpClient } from "./http.js";
@@ -18,6 +19,7 @@ import { attachRuntimes, } from "./resources/runtimes.js";
18
19
  import { attachExperiments, } from "./resources/experiments.js";
19
20
  import { attachRecipes } from "./resources/recipes.js";
20
21
  import { attachConnectors, } from "./resources/connectors.js";
22
+ import { attachAnnotations, attachProjectLabels, } from "./resources/annotations.js";
21
23
  import { DEV_TARGET_HEADER, resolveDevTarget } from "./dev-target.js";
22
24
  /**
23
25
  * Introspection REST client.
@@ -42,6 +44,8 @@ import { DEV_TARGET_HEADER, resolveDevTarget } from "./dev-target.js";
42
44
  export class IntrospectionClient {
43
45
  /** @internal — HTTP client pointed at the CP API with the customer key. */
44
46
  cpHttp;
47
+ /** @internal — HTTP client pointed at the project Data Plane. */
48
+ dpHttp;
45
49
  /** @internal — passed through to Runner so it can build its own DP HTTP client. */
46
50
  advancedOptions;
47
51
  /**
@@ -50,10 +54,7 @@ export class IntrospectionClient {
50
54
  * through the Introspection CLI and platform.
51
55
  */
52
56
  runtimes;
53
- /**
54
- * Reads on `/v1/experiments` plus the `(id) => ExperimentHandle` factory
55
- * for run lifecycle. Authoring experiment definitions is a CLI action.
56
- */
57
+ /** CRUD on `/v1/experiments` plus the callable run-lifecycle handle. */
57
58
  experiments;
58
59
  /**
59
60
  * Reads on `/v1/recipes`. Recipes are immutable build artefacts
@@ -67,12 +68,22 @@ export class IntrospectionClient {
67
68
  * single-use consent URL a Business hands its customer.
68
69
  */
69
70
  connectors;
71
+ /** Read folded span annotations and append one annotation mutation. */
72
+ annotations;
73
+ /** Manage reusable project labels. */
74
+ projectLabels;
75
+ /** Read immutable annotation activity and other typed platform events. */
76
+ events;
70
77
  constructor(options = {}) {
71
78
  const token = options.token || process.env.INTROSPECTION_TOKEN || "";
72
79
  const advanced = options.advanced || {};
73
80
  const baseApiUrl = advanced.baseApiUrl ||
74
81
  process.env.INTROSPECTION_BASE_API_URL ||
75
82
  "https://api.introspection.dev";
83
+ // Self-hosted/local stacks commonly route both planes on one host. Hosted
84
+ // token exchanges return the regional DP URL explicitly; callers pass it
85
+ // as `dpUrl` and fromServiceAccount wires it automatically.
86
+ const dpUrl = advanced.dpUrl || baseApiUrl;
76
87
  if (!token) {
77
88
  sdkLogger.warn("IntrospectionClient: No token provided. REST calls will fail.");
78
89
  }
@@ -100,6 +111,13 @@ export class IntrospectionClient {
100
111
  this.cpHttp = new HttpClient({
101
112
  apiUrl: baseApiUrl,
102
113
  token,
114
+ cpSession: options.cpSession,
115
+ additionalHeaders: this.advancedOptions.additionalHeaders,
116
+ fetch: advanced.fetch,
117
+ });
118
+ this.dpHttp = new HttpClient({
119
+ apiUrl: dpUrl,
120
+ token,
103
121
  additionalHeaders: this.advancedOptions.additionalHeaders,
104
122
  fetch: advanced.fetch,
105
123
  });
@@ -107,6 +125,9 @@ export class IntrospectionClient {
107
125
  this.experiments = attachExperiments(this, this.cpHttp);
108
126
  this.recipes = attachRecipes(this.cpHttp);
109
127
  this.connectors = attachConnectors(this.cpHttp);
128
+ this.annotations = attachAnnotations(this.cpHttp, this.dpHttp);
129
+ this.projectLabels = attachProjectLabels(this.dpHttp);
130
+ this.events = new EventsApi(this.dpHttp);
110
131
  sdkLogger.info(`IntrospectionClient initialized: api=${baseApiUrl}`);
111
132
  }
112
133
  /**
@@ -136,11 +157,15 @@ export class IntrospectionClient {
136
157
  * re-mint (call this again) for long-lived processes once it lapses.
137
158
  */
138
159
  static async fromServiceAccount(params) {
139
- const { access_token } = await serviceAccountToken(params);
160
+ const { access_token, dp_url } = await serviceAccountToken(params);
140
161
  return new IntrospectionClient({
141
162
  token: access_token,
142
163
  serviceName: params.serviceName,
143
- advanced: { baseApiUrl: params.baseApiUrl, fetch: params.fetch },
164
+ advanced: {
165
+ baseApiUrl: params.baseApiUrl,
166
+ dpUrl: dp_url ?? undefined,
167
+ fetch: params.fetch,
168
+ },
144
169
  });
145
170
  }
146
171
  /** Close the underlying HTTP client. */
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/http.d.ts CHANGED
@@ -8,6 +8,8 @@ export interface ResolvedApiConfig {
8
8
  apiUrl: string;
9
9
  /** Bearer token. Customer API key for CP, runner JWT for DP. */
10
10
  token: string;
11
+ /** Encoded member session used instead of bearer auth on Control Plane calls. */
12
+ cpSession?: string;
11
13
  additionalHeaders?: Record<string, string>;
12
14
  fetch?: typeof fetch;
13
15
  /**
@@ -20,10 +22,9 @@ export interface ResolvedApiConfig {
20
22
  retryBaseMs?: number;
21
23
  }
22
24
  /**
23
- * Bearer-token HTTP client used by both the CP-bound IntrospectionClient
24
- * and each DP-bound Runner. The request/response machinery lives in the
25
- * shared {@link BaseHttpClient}; this only pins the auth strategy —
26
- * `Authorization: Bearer <token>` on every request, no cookie credentials.
25
+ * Authenticated HTTP client used by the CP-bound IntrospectionClient and each
26
+ * DP-bound Runner. A member-authored Node workflow may supply the encoded
27
+ * `intro_cp_session` for CP-only operations; all other calls use bearer auth.
27
28
  */
28
29
  export declare class HttpClient extends BaseHttpClient {
29
30
  constructor(cfg: ResolvedApiConfig);
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oEAAoE;IACpE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;GAKG;AACH,qBAAa,UAAW,SAAQ,cAAc;gBAChC,GAAG,EAAE,iBAAiB;CAYnC"}
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,KAAK,EAAE,MAAM,CAAC;IACd,iFAAiF;IACjF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oEAAoE;IACpE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,qBAAa,UAAW,SAAQ,cAAc;gBAChC,GAAG,EAAE,iBAAiB;CAiBnC"}
package/dist/http.js CHANGED
@@ -1,9 +1,8 @@
1
1
  import { BaseHttpClient } from "@introspection-sdk/http";
2
2
  /**
3
- * Bearer-token HTTP client used by both the CP-bound IntrospectionClient
4
- * and each DP-bound Runner. The request/response machinery lives in the
5
- * shared {@link BaseHttpClient}; this only pins the auth strategy —
6
- * `Authorization: Bearer <token>` on every request, no cookie credentials.
3
+ * Authenticated HTTP client used by the CP-bound IntrospectionClient and each
4
+ * DP-bound Runner. A member-authored Node workflow may supply the encoded
5
+ * `intro_cp_session` for CP-only operations; all other calls use bearer auth.
7
6
  */
8
7
  export class HttpClient extends BaseHttpClient {
9
8
  constructor(cfg) {
@@ -14,7 +13,12 @@ export class HttpClient extends BaseHttpClient {
14
13
  maxRetries: cfg.maxRetries,
15
14
  retryBaseMs: cfg.retryBaseMs,
16
15
  transport: {
17
- authHeaders: () => ({ Authorization: `Bearer ${cfg.token}` }),
16
+ authHeaders: () => {
17
+ if (cfg.cpSession) {
18
+ return { Cookie: `intro_cp_session=${cfg.cpSession}` };
19
+ }
20
+ return { Authorization: `Bearer ${cfg.token}` };
21
+ },
18
22
  },
19
23
  });
20
24
  }
package/dist/http.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAuBzD;;;;;GAKG;AACH,MAAM,OAAO,UAAW,SAAQ,cAAc;IAC5C,YAAY,GAAsB;QAChC,KAAK,CAAC;YACJ,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;YACxC,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,SAAS,EAAE;gBACT,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC;aAC9D;SACF,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAyBzD;;;;GAIG;AACH,MAAM,OAAO,UAAW,SAAQ,cAAc;IAC5C,YAAY,GAAsB;QAChC,KAAK,CAAC;YACJ,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;YACxC,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,SAAS,EAAE;gBACT,WAAW,EAAE,GAA2B,EAAE;oBACxC,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;wBAClB,OAAO,EAAE,MAAM,EAAE,oBAAoB,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC;oBACzD,CAAC;oBACD,OAAO,EAAE,aAAa,EAAE,UAAU,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC;gBAClD,CAAC;aACF;SACF,CAAC,CAAC;IACL,CAAC;CACF"}
package/dist/index.d.ts CHANGED
@@ -28,7 +28,8 @@ export { ExperimentsApi, ExperimentHandle, attachExperiments, } from "./resource
28
28
  export type { ExperimentHandleFactory } from "./resources/experiments.js";
29
29
  export { RecipesApi, attachRecipes } from "./resources/recipes.js";
30
30
  export { ConnectorsApi, ConnectionsApi, attachConnectors, } from "./resources/connectors.js";
31
- export type { AGUIEvent, BaseEvent, Interrupt, Message, ResumeEntry, RunAgentInput, Paginated, ListParams, Task, TaskCreateParams, TaskUpdateParams, TaskListParams, TaskKind, TaskStatus, TaskRunKind, TaskPrompt, TaskRun, TaskRunCreateParams, TaskRunResumeParams, TaskRunResponse, TaskCreateResponse, TaskFileRef, TaskRepoRequest, TaskCancelResponse, TaskCancelOptions, AgentInfo, File, FileType, FileListParams, FileUpdateParams, FileCreateTextParams, Runtime, RuntimeListParams, Experiment, ExperimentListParams, ExperimentStatus, ExperimentGoal, ExperimentGoalComponent, ExperimentGoalDirection, ExperimentGoalGuard, JudgeGoalComponent, TelemetryGoalComponent, ExperimentArm, Recipe, RecipeListParams, Connector, ConnectorAuthMode, ConnectorStatus, ConnectorPersonServerMode, ConnectorApprovalPolicy, ConnectorCreateParams, ConnectorUpdateParams, ConnectorListParams, ConnectorAuthorizeParams, ConnectorAuthorizeResponse, Connection, ConnectionStatus, ConnectionSubjectType, ConnectionCreateSubjectType, ConnectionBrokerSubjectType, ConnectionCreateParams, ConnectionMissionConstraints, ConnectionTokenParams, ConnectionToken, ConnectionAuthorizationPending, ConnectionTokenResult, RunnerSpec, RunnerDeployment, RunnerContext, RunnerRecipeSummary, RunnerIdentity, RunRequest, RunCaller, RunCallerLibrary, RunCallerPage, RunIdentityInput, GenAiSpan, GenAiSpanList, GenAiSpanAttributes, GenAiSpanStatus, Conversation, ConversationAgent, ConversationUsage, ConversationCost, ConversationMetrics, IntrospectionSpanAttributes, IntrospectionConversation, SpanAttributes, SpanResource, ConversationItemInclude, ConversationSortField, ConversationListParams, ConversationItemListParams, ConversationExportParams, Trajectory, TrajectoryRecord, TrajectoryToolCall, ConversationsMethod, SpanEvent, SpanKind, SpanStatus, ReadFormat, ReadWindowParams, IntrospectionEventName, IntrospectionEventEnvelope, ObservationPayload, PatternPayload, PatternAssignmentPayload, ClusteringRunPayload, FeedbackPayload, JudgementPayload, ObservationEvent, PatternEvent, PatternAssignmentEvent, ClusteringRunEvent, FeedbackEvent, JudgementEvent, Event, UnknownEvent, EventForName, EventSortField, EventListParams, MetricView, MetricAggregation, MetricFilterOperator, MetricInterval, MetricSpec, MetricDimension, MetricFilter, MetricTimeDimension, MetricOrderBy, MetricHaving, MetricQueryConfig, MetricQueryRequest, MetricDimensionValue, MetricResultValue, MetricResultRow, MetricEffectiveWindow, MetricQueryMeta, MetricQueryResponse, } from "@introspection-sdk/types";
31
+ export { AnnotationsApi, ProjectLabelsApi, attachAnnotations, attachProjectLabels, } from "./resources/annotations.js";
32
+ export type { AGUIEvent, BaseEvent, Interrupt, Message, ResumeEntry, RunAgentInput, Paginated, ListParams, Task, TaskCreateParams, TaskUpdateParams, TaskListParams, TaskKind, TaskStatus, TaskRunKind, TaskPrompt, TaskRun, TaskRunCreateParams, TaskRunResumeParams, TaskRunResponse, TaskCreateResponse, TaskFileRef, TaskRepoRequest, TaskCancelResponse, TaskCancelOptions, AgentInfo, File, FileType, FileListParams, FileUpdateParams, FileCreateTextParams, Runtime, RuntimeListParams, Experiment, ExperimentListParams, ExperimentStatus, ExperimentGoal, ExperimentGoalComponent, ExperimentGoalDirection, ExperimentGoalGuard, JudgeGoalComponent, TelemetryGoalComponent, ExperimentArm, Recipe, RecipeListParams, Connector, ConnectorApp, ConnectorAppListParams, ConnectorAuthMode, ConnectorStatus, ConnectorPersonServerMode, ConnectorApprovalPolicy, ConnectorCreateParams, ConnectorUpdateParams, ConnectorListParams, ConnectorAuthorizeParams, ConnectorAuthorizeResponse, Connection, ConnectionStatus, ConnectionSubjectType, ConnectionCreateSubjectType, ConnectionBrokerSubjectType, ConnectionCreateParams, ConnectionMissionConstraints, ConnectionTokenParams, ConnectionToken, ConnectionAuthorizationPending, ConnectionTokenResult, AnnotationTarget, AnnotationState, AnnotationListParams, AnnotationMutation, AnnotationEventOptions, ProjectLabel, ProjectLabelListParams, ProjectLabelCreate, ProjectLabelUpdate, RunnerSpec, RunnerDeployment, RunnerContext, RunnerRecipeSummary, RunnerIdentity, RunRequest, RunCaller, RunCallerLibrary, RunCallerPage, RunIdentityInput, GenAiSpan, GenAiSpanList, GenAiSpanAttributes, GenAiSpanStatus, Conversation, ConversationAgent, ConversationUsage, ConversationCost, ConversationMetrics, IntrospectionSpanAttributes, IntrospectionConversation, SpanAttributes, SpanResource, ConversationItemInclude, ConversationSortField, ConversationListParams, ConversationItemListParams, ConversationExportParams, Trajectory, TrajectoryRecord, TrajectoryToolCall, ConversationsMethod, SpanEvent, SpanKind, SpanStatus, ReadFormat, ReadWindowParams, IntrospectionEventName, IntrospectionEventEnvelope, ObservationPayload, PatternPayload, PatternAssignmentPayload, ClusteringRunPayload, FeedbackPayload, JudgementPayload, ObservationEvent, PatternEvent, PatternAssignmentEvent, ClusteringRunEvent, FeedbackEvent, JudgementEvent, Event, UnknownEvent, EventForName, EventSortField, EventListParams, MetricView, MetricAggregation, MetricFilterOperator, MetricInterval, MetricSpec, MetricDimension, MetricFilter, MetricTimeDimension, MetricOrderBy, MetricHaving, MetricQueryConfig, MetricQueryRequest, MetricDimensionValue, MetricResultValue, MetricResultRow, MetricEffectiveWindow, MetricQueryMeta, MetricQueryResponse, } from "@introspection-sdk/types";
32
33
  export { ConversationsMethods, IntrospectionEventNames, genAiConversationId, genAiInputMessages, genAiOutputMessages, isKnownEvent, } from "@introspection-sdk/types";
33
34
  export { IntrospectionAPIError, AuthenticationError, InsufficientScopeError, RunnerExpiredError, NotFoundError, ConflictError, ValidationError, RateLimitError, SandboxUnavailableError, NetworkError, apiErrorFromResponse, } from "@introspection-sdk/types";
34
35
  export type { GenAiAttributes, InputMessage, OutputMessage, SystemInstruction, ToolDefinition, TextPart, ToolCallRequestPart, ToolCallResponsePart, CompactionPart, MediaUrlPart, BinaryDataPart, MessagePart, } from "@introspection-sdk/types";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -26,6 +26,7 @@ export { RuntimesApi, RuntimeHandle, attachRuntimes, } from "./resources/runtime
26
26
  export { ExperimentsApi, ExperimentHandle, attachExperiments, } from "./resources/experiments.js";
27
27
  export { RecipesApi, attachRecipes } from "./resources/recipes.js";
28
28
  export { ConnectorsApi, ConnectionsApi, attachConnectors, } from "./resources/connectors.js";
29
+ export { AnnotationsApi, ProjectLabelsApi, attachAnnotations, attachProjectLabels, } from "./resources/annotations.js";
29
30
  export { ConversationsMethods, IntrospectionEventNames, genAiConversationId, genAiInputMessages, genAiOutputMessages, isKnownEvent, } from "@introspection-sdk/types";
30
31
  export { IntrospectionAPIError, AuthenticationError, InsufficientScopeError, RunnerExpiredError, NotFoundError, ConflictError, ValidationError, RateLimitError, SandboxUnavailableError, NetworkError, apiErrorFromResponse, } from "@introspection-sdk/types";
31
32
  export { toAttributes } from "@introspection-sdk/types";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,eAAe;AACf,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,0DAA0D;AAC1D,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,sBAAsB,GACvB,MAAM,WAAW,CAAC;AAiBnB,4DAA4D;AAC5D,gCAAgC;AAChC,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,SAAS,EACT,eAAe,EACf,QAAQ,EACR,UAAU,EACV,SAAS,EACT,SAAS,EACT,WAAW,EACX,QAAQ,GACT,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EACL,qBAAqB,EACrB,QAAQ,EACR,SAAS,EACT,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAQrD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,yBAAyB;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EACL,WAAW,EACX,aAAa,EACb,cAAc,GACf,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EACL,aAAa,EACb,cAAc,EACd,gBAAgB,GACjB,MAAM,2BAA2B,CAAC;AAiJnC,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,GACb,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,EAClB,aAAa,EACb,aAAa,EACb,eAAe,EACf,cAAc,EACd,uBAAuB,EACvB,YAAY,EACZ,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAiBlC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,eAAe;AACf,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,0DAA0D;AAC1D,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,sBAAsB,GACvB,MAAM,WAAW,CAAC;AAiBnB,4DAA4D;AAC5D,gCAAgC;AAChC,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,SAAS,EACT,eAAe,EACf,QAAQ,EACR,UAAU,EACV,SAAS,EACT,SAAS,EACT,WAAW,EACX,QAAQ,GACT,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EACL,qBAAqB,EACrB,QAAQ,EACR,SAAS,EACT,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAQrD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,yBAAyB;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EACL,WAAW,EACX,aAAa,EACb,cAAc,GACf,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EACL,aAAa,EACb,cAAc,EACd,gBAAgB,GACjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,4BAA4B,CAAC;AA4JpC,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,GACb,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,EAClB,aAAa,EACb,aAAa,EACb,eAAe,EACf,cAAc,EACd,uBAAuB,EACvB,YAAY,EACZ,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAiBlC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { type ProjectLabel, type ProjectLabelCreate, type ProjectLabelListParams, type ProjectLabelUpdate, type AnnotationListParams, type AnnotationEventOptions, type AnnotationMutation, type AnnotationState, type AnnotationTarget } from "@introspection-sdk/types";
2
+ import type { HttpClient } from "../http.js";
3
+ import { Paginator } from "../pagination.js";
4
+ /** Managed project label catalog used by annotations. */
5
+ export declare class ProjectLabelsApi {
6
+ private readonly dpHttp;
7
+ constructor(dpHttp: HttpClient);
8
+ list(params?: ProjectLabelListParams): Paginator<ProjectLabel>;
9
+ create(body: ProjectLabelCreate): Promise<ProjectLabel>;
10
+ get(slug: string): Promise<ProjectLabel>;
11
+ update(slug: string, body: ProjectLabelUpdate): Promise<ProjectLabel>;
12
+ }
13
+ /**
14
+ * Member-authored span annotations. Every create call appends exactly one
15
+ * event; labels and reviewers are complete snapshots.
16
+ */
17
+ export declare class AnnotationsApi {
18
+ private readonly cpHttp;
19
+ private readonly dpHttp;
20
+ constructor(cpHttp: HttpClient, dpHttp: HttpClient);
21
+ list(params?: AnnotationListParams): Paginator<AnnotationState>;
22
+ /** Append exactly one annotation mutation. */
23
+ create(target: AnnotationTarget, mutation: AnnotationMutation, options?: AnnotationEventOptions): Promise<void>;
24
+ private resolveReviewerIds;
25
+ }
26
+ export declare function attachAnnotations(cpHttp: HttpClient, dpHttp: HttpClient): AnnotationsApi;
27
+ export declare function attachProjectLabels(dpHttp: HttpClient): ProjectLabelsApi;
28
+ //# sourceMappingURL=annotations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"annotations.d.ts","sourceRoot":"","sources":["../../src/resources/annotations.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EAEtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAkB,MAAM,kBAAkB,CAAC;AAuD7D,yDAAyD;AACzD,qBAAa,gBAAgB;IACf,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,UAAU;IAE/C,IAAI,CAAC,MAAM,GAAE,sBAA2B,GAAG,SAAS,CAAC,YAAY,CAAC;IAYlE,MAAM,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,YAAY,CAAC;IA2BvD,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAOxC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,YAAY,CAAC;CAatE;AAED;;;GAGG;AACH,qBAAa,cAAc;IAEvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,UAAU;IAGrC,IAAI,CAAC,MAAM,GAAE,oBAAyB,GAAG,SAAS,CAAC,eAAe,CAAC;IAkDnE,8CAA8C;IACxC,MAAM,CACV,MAAM,EAAE,gBAAgB,EACxB,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,IAAI,CAAC;YAsBF,kBAAkB;CAyCjC;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,UAAU,GACjB,cAAc,CAEhB;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,UAAU,GAAG,gBAAgB,CAExE"}
@@ -0,0 +1,198 @@
1
+ import { randomBytes } from "node:crypto";
2
+ import { ConflictError, NotFoundError, ValidationError, } from "@introspection-sdk/types";
3
+ import { cursorPaginate } from "../pagination.js";
4
+ function clientValidationError(message, code) {
5
+ return new ValidationError({
6
+ message,
7
+ status: 422,
8
+ code,
9
+ body: null,
10
+ });
11
+ }
12
+ /** Mint a time-ordered UUIDv7 without adding a runtime dependency. */
13
+ function annotationEventId(now = Date.now()) {
14
+ const bytes = Buffer.allocUnsafe(16);
15
+ let timestamp = BigInt(now);
16
+ for (let index = 5; index >= 0; index--) {
17
+ bytes[index] = Number(timestamp & 0xffn);
18
+ timestamp >>= 8n;
19
+ }
20
+ randomBytes(10).copy(bytes, 6);
21
+ bytes[6] = (bytes[6] & 0x0f) | 0x70;
22
+ bytes[8] = (bytes[8] & 0x3f) | 0x80;
23
+ const hex = bytes.toString("hex");
24
+ return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`;
25
+ }
26
+ function normalizedEmails(emails) {
27
+ const values = typeof emails === "string" ? [emails] : emails;
28
+ const normalized = [
29
+ ...new Set(values.map((email) => email.trim().toLowerCase())),
30
+ ];
31
+ if (normalized.length === 0 ||
32
+ normalized.some((email) => email.length === 0)) {
33
+ throw clientValidationError("At least one non-empty reviewer email is required", "invalid_annotation_reviewer_email");
34
+ }
35
+ if (normalized.length > 64) {
36
+ throw clientValidationError("At most 64 reviewer emails are allowed", "too_many_annotation_reviewers");
37
+ }
38
+ return normalized;
39
+ }
40
+ /** Managed project label catalog used by annotations. */
41
+ export class ProjectLabelsApi {
42
+ dpHttp;
43
+ constructor(dpHttp) {
44
+ this.dpHttp = dpHttp;
45
+ }
46
+ list(params = {}) {
47
+ return cursorPaginate((next) => this.dpHttp.request({
48
+ method: "GET",
49
+ path: "/v1/project-labels",
50
+ query: { ...params, next },
51
+ }), params.next);
52
+ }
53
+ create(body) {
54
+ const slug = body.slug.trim();
55
+ if (!slug || slug.length > 128) {
56
+ throw clientValidationError("Project label slug must contain 1 to 128 characters", "invalid_project_label_slug");
57
+ }
58
+ if (!/^#[0-9a-f]{6}$/i.test(body.color)) {
59
+ throw clientValidationError("Project label color must be a six-digit hex color such as #f97316", "invalid_project_label_color");
60
+ }
61
+ if (body.description != null && body.description.length > 2_000) {
62
+ throw clientValidationError("Project label description must not exceed 2000 characters", "invalid_project_label_description");
63
+ }
64
+ return this.dpHttp.request({
65
+ method: "POST",
66
+ path: "/v1/project-labels",
67
+ body: { ...body, slug, color: body.color.toLowerCase() },
68
+ });
69
+ }
70
+ get(slug) {
71
+ return this.dpHttp.request({
72
+ method: "GET",
73
+ path: `/v1/project-labels/${encodeURIComponent(slug)}`,
74
+ });
75
+ }
76
+ update(slug, body) {
77
+ if (body.description != null && body.description.length > 2_000) {
78
+ throw clientValidationError("Project label description must not exceed 2000 characters", "invalid_project_label_description");
79
+ }
80
+ return this.dpHttp.request({
81
+ method: "PATCH",
82
+ path: `/v1/project-labels/${encodeURIComponent(slug)}`,
83
+ body,
84
+ });
85
+ }
86
+ }
87
+ /**
88
+ * Member-authored span annotations. Every create call appends exactly one
89
+ * event; labels and reviewers are complete snapshots.
90
+ */
91
+ export class AnnotationsApi {
92
+ cpHttp;
93
+ dpHttp;
94
+ constructor(cpHttp, dpHttp) {
95
+ this.cpHttp = cpHttp;
96
+ this.dpHttp = dpHttp;
97
+ }
98
+ list(params = {}) {
99
+ if (params.annotated_by_member_id && params.annotated_by_email) {
100
+ throw clientValidationError("Use annotated_by_member_id or annotated_by_email, not both", "conflicting_annotation_annotator_filters");
101
+ }
102
+ if (params.assignee_member_id && params.assigned_to_email) {
103
+ throw clientValidationError("Use assignee_member_id or assigned_to_email, not both", "conflicting_annotation_assignee_filters");
104
+ }
105
+ const { annotated_by_email, assigned_to_email, ...wireParams } = params;
106
+ let resolvedFilters;
107
+ const resolveFilters = () => {
108
+ resolvedFilters ??= (async () => {
109
+ const emails = [annotated_by_email, assigned_to_email].filter((email) => Boolean(email));
110
+ const ids = emails.length ? await this.resolveReviewerIds(emails) : [];
111
+ const sameEmail = annotated_by_email !== undefined &&
112
+ assigned_to_email !== undefined &&
113
+ annotated_by_email.trim().toLowerCase() ===
114
+ assigned_to_email.trim().toLowerCase();
115
+ return {
116
+ ...wireParams,
117
+ ...(annotated_by_email ? { annotated_by_member_id: ids[0] } : {}),
118
+ ...(assigned_to_email
119
+ ? {
120
+ assignee_member_id: ids[annotated_by_email && !sameEmail ? 1 : 0],
121
+ }
122
+ : {}),
123
+ };
124
+ })();
125
+ return resolvedFilters;
126
+ };
127
+ return cursorPaginate(async (next) => this.dpHttp.request({
128
+ method: "GET",
129
+ path: "/v1/annotations",
130
+ query: { ...(await resolveFilters()), next },
131
+ }), params.next);
132
+ }
133
+ /** Append exactly one annotation mutation. */
134
+ async create(target, mutation, options = {}) {
135
+ const wireMutation = mutation.reviewerEmails !== undefined
136
+ ? {
137
+ assignee_member_ids: mutation.reviewerEmails.length === 0
138
+ ? []
139
+ : await this.resolveReviewerIds(mutation.reviewerEmails),
140
+ }
141
+ : mutation;
142
+ return this.dpHttp.request({
143
+ method: "POST",
144
+ path: "/v1/annotations",
145
+ body: {
146
+ ...target,
147
+ event_id: options.event_id ?? annotationEventId(),
148
+ ...wireMutation,
149
+ },
150
+ expect: "empty",
151
+ });
152
+ }
153
+ async resolveReviewerIds(emails) {
154
+ const requested = normalizedEmails(emails);
155
+ const matches = new Map();
156
+ for (const email of requested)
157
+ matches.set(email, []);
158
+ const members = cursorPaginate((next) => this.cpHttp.request({
159
+ method: "GET",
160
+ path: "/v1/members",
161
+ query: { limit: 1000, member_type: "business", next },
162
+ }));
163
+ for await (const member of members) {
164
+ if (member.is_deactivated || !member.email)
165
+ continue;
166
+ matches.get(member.email.trim().toLowerCase())?.push(member);
167
+ }
168
+ const memberIds = [];
169
+ for (const email of requested) {
170
+ const candidates = matches.get(email) ?? [];
171
+ if (candidates.length === 0) {
172
+ throw new NotFoundError({
173
+ message: `No active domain expert found for '${email}'`,
174
+ status: 404,
175
+ code: "annotation_reviewer_not_found",
176
+ body: { email },
177
+ });
178
+ }
179
+ if (candidates.length > 1) {
180
+ throw new ConflictError({
181
+ message: `Multiple active domain experts found for '${email}'`,
182
+ status: 409,
183
+ code: "annotation_reviewer_ambiguous",
184
+ body: { email, member_ids: candidates.map((member) => member.id) },
185
+ });
186
+ }
187
+ memberIds.push(candidates[0].id);
188
+ }
189
+ return memberIds;
190
+ }
191
+ }
192
+ export function attachAnnotations(cpHttp, dpHttp) {
193
+ return new AnnotationsApi(cpHttp, dpHttp);
194
+ }
195
+ export function attachProjectLabels(dpHttp) {
196
+ return new ProjectLabelsApi(dpHttp);
197
+ }
198
+ //# sourceMappingURL=annotations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"annotations.js","sourceRoot":"","sources":["../../src/resources/annotations.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { Connection, ConnectionCreateParams, ConnectionTokenParams, ConnectionTokenResult, Connector, ConnectorAuthorizeParams, ConnectorAuthorizeResponse, ConnectorCreateParams, ConnectorListParams, ConnectorUpdateParams, CursorParams, Uuid } from "@introspection-sdk/types";
1
+ import type { Connection, ConnectionCreateParams, ConnectionTokenParams, ConnectionTokenResult, Connector, ConnectorApp, ConnectorAppListParams, ConnectorAuthorizeParams, ConnectorAuthorizeResponse, ConnectorCreateParams, ConnectorListParams, ConnectorUpdateParams, CursorParams, Uuid } from "@introspection-sdk/types";
2
2
  import type { HttpClient } from "../http.js";
3
3
  import { Paginator } from "../pagination.js";
4
4
  /**
@@ -65,6 +65,11 @@ export declare class ConnectorsApi {
65
65
  update(connectorId: Uuid, params: ConnectorUpdateParams): Promise<Connector>;
66
66
  /** Soft-delete a connector; the server revokes its connections. */
67
67
  delete(connectorId: Uuid): Promise<void>;
68
+ /**
69
+ * Search the provider's application catalogue. Pipedream connectors use
70
+ * the returned slug when minting an application-specific Connect Link.
71
+ */
72
+ listApps(connectorId: Uuid, params?: ConnectorAppListParams): Promise<ConnectorApp[]>;
68
73
  /**
69
74
  * Mint a consent URL for a connector — the link a Business hands its
70
75
  * customer to connect (e.g. install the Slack app into a workspace).
@@ -75,6 +80,10 @@ export declare class ConnectorsApi {
75
80
  * chat-provider connector (`connector.requires_runtime === true`) 422s
76
81
  * unless `runtime` names the agent that replies.
77
82
  *
83
+ * Pipedream connectors additionally require `app`, selected from
84
+ * {@link listApps}. `allow_progressive_scopes` is optional and defaults to
85
+ * false, matching Pipedream's Connect API.
86
+ *
78
87
  * Passing `params.identity` mints a `customer` member for the asserted
79
88
  * end user, so it can raise a {@link ConflictError} (409) when the org has
80
89
  * reached its member limit — a plan conflict, not back-pressure.
@@ -1 +1 @@
1
- {"version":3,"file":"connectors.d.ts","sourceRoot":"","sources":["../../src/resources/connectors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,SAAS,EACT,wBAAwB,EACxB,0BAA0B,EAC1B,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,YAAY,EAEZ,IAAI,EACL,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAkB,MAAM,kBAAkB,CAAC;AAE7D;;;;;;GAMG;AACH,qBAAa,cAAc;IACb,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAE7C;;;;OAIG;IACH,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,GAAE,YAAiB,GAAG,SAAS,CAAC,UAAU,CAAC;IAYzE;;;;;OAKG;IACH,MAAM,CACJ,WAAW,EAAE,IAAI,EACjB,MAAM,EAAE,sBAAsB,GAC7B,OAAO,CAAC,UAAU,CAAC;IAQtB,GAAG,CAAC,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;IAO/D;;;;OAIG;IACH,MAAM,CAAC,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ5D;;;;OAIG;IACH,QAAQ,CACN,WAAW,EAAE,IAAI,EACjB,MAAM,GAAE,qBAA0B,GACjC,OAAO,CAAC,qBAAqB,CAAC;CAOlC;AAED;;;;;;;;;GASG;AACH,qBAAa,aAAa;IAGZ,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFjC,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAC;gBAER,IAAI,EAAE,UAAU;IAI7C;;;;;OAKG;IACH,IAAI,CAAC,MAAM,GAAE,mBAAwB,GAAG,SAAS,CAAC,SAAS,CAAC;IAY5D,qFAAqF;IACrF,MAAM,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,SAAS,CAAC;IAQzD,GAAG,CAAC,WAAW,EAAE,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC;IAO1C,MAAM,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,SAAS,CAAC;IAQ5E,mEAAmE;IACnE,MAAM,CAAC,WAAW,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAQxC;;;;;;;;;;;;;OAaG;IACH,SAAS,CACP,WAAW,EAAE,IAAI,EACjB,MAAM,GAAE,wBAA6B,GACpC,OAAO,CAAC,0BAA0B,CAAC;CAOvC;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,aAAa,CAEhE"}
1
+ {"version":3,"file":"connectors.d.ts","sourceRoot":"","sources":["../../src/resources/connectors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,SAAS,EACT,YAAY,EACZ,sBAAsB,EACtB,wBAAwB,EACxB,0BAA0B,EAC1B,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,YAAY,EAEZ,IAAI,EACL,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAkB,MAAM,kBAAkB,CAAC;AAE7D;;;;;;GAMG;AACH,qBAAa,cAAc;IACb,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAE7C;;;;OAIG;IACH,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,GAAE,YAAiB,GAAG,SAAS,CAAC,UAAU,CAAC;IAYzE;;;;;OAKG;IACH,MAAM,CACJ,WAAW,EAAE,IAAI,EACjB,MAAM,EAAE,sBAAsB,GAC7B,OAAO,CAAC,UAAU,CAAC;IAQtB,GAAG,CAAC,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;IAO/D;;;;OAIG;IACH,MAAM,CAAC,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ5D;;;;OAIG;IACH,QAAQ,CACN,WAAW,EAAE,IAAI,EACjB,MAAM,GAAE,qBAA0B,GACjC,OAAO,CAAC,qBAAqB,CAAC;CAOlC;AAED;;;;;;;;;GASG;AACH,qBAAa,aAAa;IAGZ,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFjC,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAC;gBAER,IAAI,EAAE,UAAU;IAI7C;;;;;OAKG;IACH,IAAI,CAAC,MAAM,GAAE,mBAAwB,GAAG,SAAS,CAAC,SAAS,CAAC;IAY5D,qFAAqF;IACrF,MAAM,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,SAAS,CAAC;IAQzD,GAAG,CAAC,WAAW,EAAE,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC;IAO1C,MAAM,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,SAAS,CAAC;IAQ5E,mEAAmE;IACnE,MAAM,CAAC,WAAW,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAQxC;;;OAGG;IACG,QAAQ,CACZ,WAAW,EAAE,IAAI,EACjB,MAAM,GAAE,sBAA2B,GAClC,OAAO,CAAC,YAAY,EAAE,CAAC;IAS1B;;;;;;;;;;;;;;;;;OAiBG;IACH,SAAS,CACP,WAAW,EAAE,IAAI,EACjB,MAAM,GAAE,wBAA6B,GACpC,OAAO,CAAC,0BAA0B,CAAC;CAOvC;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,aAAa,CAEhE"}
@@ -126,6 +126,18 @@ export class ConnectorsApi {
126
126
  expect: "empty",
127
127
  });
128
128
  }
129
+ /**
130
+ * Search the provider's application catalogue. Pipedream connectors use
131
+ * the returned slug when minting an application-specific Connect Link.
132
+ */
133
+ async listApps(connectorId, params = {}) {
134
+ const response = await this.http.request({
135
+ method: "GET",
136
+ path: `/v1/connectors/${encodeURIComponent(connectorId)}/apps`,
137
+ query: params,
138
+ });
139
+ return response.data;
140
+ }
129
141
  /**
130
142
  * Mint a consent URL for a connector — the link a Business hands its
131
143
  * customer to connect (e.g. install the Slack app into a workspace).
@@ -136,6 +148,10 @@ export class ConnectorsApi {
136
148
  * chat-provider connector (`connector.requires_runtime === true`) 422s
137
149
  * unless `runtime` names the agent that replies.
138
150
  *
151
+ * Pipedream connectors additionally require `app`, selected from
152
+ * {@link listApps}. `allow_progressive_scopes` is optional and defaults to
153
+ * false, matching Pipedream's Connect API.
154
+ *
139
155
  * Passing `params.identity` mints a `customer` member for the asserted
140
156
  * end user, so it can raise a {@link ConflictError} (409) when the org has
141
157
  * reached its member limit — a plan conflict, not back-pressure.
@@ -1 +1 @@
1
- {"version":3,"file":"connectors.js","sourceRoot":"","sources":["../../src/resources/connectors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connectors.js","sourceRoot":"","sources":["../../src/resources/connectors.ts"],"names":[],"mappings":"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"}
@@ -4,12 +4,9 @@ import type { IntrospectionClient } from "../client.js";
4
4
  import { Paginator } from "../pagination.js";
5
5
  import { Runner } from "../runner.js";
6
6
  /**
7
- * Read access and lifecycle for `/v1/experiments` on the CP.
8
- *
9
- * Lookup and lifecycle only: a runner brackets its own execution, resolving
10
- * the experiment and then `start` / `end` / `cancel` around the work it is
11
- * being measured on. Authoring an experiment is a project-authoring act and
12
- * lives in the CLI.
7
+ * CRUD, lifecycle, and execution for `/v1/experiments` on the CP. Create and
8
+ * update accept the exact Control Plane request document so its schema remains
9
+ * the source of truth.
13
10
  */
14
11
  export declare class ExperimentsApi {
15
12
  private readonly http;
@@ -23,6 +20,9 @@ export declare class ExperimentsApi {
23
20
  */
24
21
  list(params?: ExperimentListParams): Paginator<Experiment>;
25
22
  get(id: Uuid): Promise<Experiment>;
23
+ create(document: Record<string, unknown>): Promise<Experiment>;
24
+ update(id: Uuid, document: Record<string, unknown>, project?: string): Promise<Experiment>;
25
+ delete(id: Uuid, project?: string): Promise<void>;
26
26
  startById(id: Uuid): Promise<Experiment>;
27
27
  endById(id: Uuid): Promise<Experiment>;
28
28
  cancelById(id: Uuid): Promise<Experiment>;
@@ -1 +1 @@
1
- {"version":3,"file":"experiments.d.ts","sourceRoot":"","sources":["../../src/resources/experiments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,oBAAoB,EAEpB,UAAU,EAEV,IAAI,EACL,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,SAAS,EAAkB,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAqB,MAAM,cAAc,CAAC;AAyBzD;;;;;;;GAOG;AACH,qBAAa,cAAc;IAEvB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,mBAAmB;IAG9C;;;;;OAKG;IACH,IAAI,CAAC,MAAM,GAAE,oBAAyB,GAAG,SAAS,CAAC,UAAU,CAAC;IAY9D,GAAG,CAAC,EAAE,EAAE,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;IAOlC,SAAS,CAAC,EAAE,EAAE,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;IAQxC,OAAO,CAAC,EAAE,EAAE,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;IAQtC,UAAU,CAAC,EAAE,EAAE,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;IAQnC,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;CAa5D;AAED,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,EAAE;gBADF,GAAG,EAAE,cAAc,EACnB,EAAE,EAAE,IAAI;IAG3B,GAAG,CAAC,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAIvC,KAAK,IAAI,OAAO,CAAC,UAAU,CAAC;IAI5B,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC;IAI1B,MAAM,IAAI,OAAO,CAAC,UAAU,CAAC;CAG9B;AAED,MAAM,MAAM,uBAAuB,GAAG,CAAC,EAAE,EAAE,IAAI,KAAK,gBAAgB,CAAC;AAErE,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,mBAAmB,EAC3B,IAAI,EAAE,UAAU,GACf,cAAc,GAAG,uBAAuB,CAY1C"}
1
+ {"version":3,"file":"experiments.d.ts","sourceRoot":"","sources":["../../src/resources/experiments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,oBAAoB,EAEpB,UAAU,EAEV,IAAI,EACL,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,SAAS,EAAkB,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAqB,MAAM,cAAc,CAAC;AAyBzD;;;;GAIG;AACH,qBAAa,cAAc;IAEvB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,mBAAmB;IAG9C;;;;;OAKG;IACH,IAAI,CAAC,MAAM,GAAE,oBAAyB,GAAG,SAAS,CAAC,UAAU,CAAC;IAY9D,GAAG,CAAC,EAAE,EAAE,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;IAOlC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;IAQ9D,MAAM,CACJ,EAAE,EAAE,IAAI,EACR,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,UAAU,CAAC;IAStB,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASjD,SAAS,CAAC,EAAE,EAAE,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;IAQxC,OAAO,CAAC,EAAE,EAAE,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;IAQtC,UAAU,CAAC,EAAE,EAAE,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;IAQnC,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;CAa5D;AAED,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,EAAE;gBADF,GAAG,EAAE,cAAc,EACnB,EAAE,EAAE,IAAI;IAG3B,GAAG,CAAC,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAIvC,KAAK,IAAI,OAAO,CAAC,UAAU,CAAC;IAI5B,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC;IAI1B,MAAM,IAAI,OAAO,CAAC,UAAU,CAAC;CAG9B;AAED,MAAM,MAAM,uBAAuB,GAAG,CAAC,EAAE,EAAE,IAAI,KAAK,gBAAgB,CAAC;AAErE,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,mBAAmB,EAC3B,IAAI,EAAE,UAAU,GACf,cAAc,GAAG,uBAAuB,CAe1C"}
@@ -17,12 +17,9 @@ function toRunBody(opts) {
17
17
  return out;
18
18
  }
19
19
  /**
20
- * Read access and lifecycle for `/v1/experiments` on the CP.
21
- *
22
- * Lookup and lifecycle only: a runner brackets its own execution, resolving
23
- * the experiment and then `start` / `end` / `cancel` around the work it is
24
- * being measured on. Authoring an experiment is a project-authoring act and
25
- * lives in the CLI.
20
+ * CRUD, lifecycle, and execution for `/v1/experiments` on the CP. Create and
21
+ * update accept the exact Control Plane request document so its schema remains
22
+ * the source of truth.
26
23
  */
27
24
  export class ExperimentsApi {
28
25
  http;
@@ -50,6 +47,29 @@ export class ExperimentsApi {
50
47
  path: `/v1/experiments/${encodeURIComponent(id)}`,
51
48
  });
52
49
  }
50
+ create(document) {
51
+ return this.http.request({
52
+ method: "POST",
53
+ path: "/v1/experiments",
54
+ body: document,
55
+ });
56
+ }
57
+ update(id, document, project) {
58
+ return this.http.request({
59
+ method: "PATCH",
60
+ path: `/v1/experiments/${encodeURIComponent(id)}`,
61
+ query: project ? { project } : undefined,
62
+ body: document,
63
+ });
64
+ }
65
+ delete(id, project) {
66
+ return this.http.request({
67
+ method: "DELETE",
68
+ path: `/v1/experiments/${encodeURIComponent(id)}`,
69
+ query: project ? { project } : undefined,
70
+ expect: "empty",
71
+ });
72
+ }
53
73
  startById(id) {
54
74
  return this.http.request({
55
75
  method: "POST",
@@ -111,6 +131,9 @@ export function attachExperiments(client, http) {
111
131
  const hybrid = factory;
112
132
  hybrid.list = api.list.bind(api);
113
133
  hybrid.get = api.get.bind(api);
134
+ hybrid.create = api.create.bind(api);
135
+ hybrid.update = api.update.bind(api);
136
+ hybrid.delete = api.delete.bind(api);
114
137
  hybrid.startById = api.startById.bind(api);
115
138
  hybrid.endById = api.endById.bind(api);
116
139
  hybrid.cancelById = api.cancelById.bind(api);
@@ -1 +1 @@
1
- {"version":3,"file":"experiments.js","sourceRoot":"","sources":["../../src/resources/experiments.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"experiments.js","sourceRoot":"","sources":["../../src/resources/experiments.ts"],"names":[],"mappings":"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"}
package/dist/utils.d.ts CHANGED
@@ -22,7 +22,7 @@ export declare const DEFAULT_SERVICE_NAME = "introspection-client";
22
22
  *
23
23
  * Caller headers are merged last so they can override either.
24
24
  */
25
- export declare const USER_AGENT = "introspection-sdk/0.22.0";
25
+ export declare const USER_AGENT = "introspection-sdk/0.23.0";
26
26
  /**
27
27
  * The OTLP HTTP transport takes the client's user agent as a dedicated option
28
28
  * rather than a header: it assigns `headers['User-Agent']` unconditionally
@@ -31,7 +31,7 @@ export declare const USER_AGENT = "introspection-sdk/0.22.0";
31
31
  * token, and exports arrive attributable to a client and a release.
32
32
  */
33
33
  export declare const otlpUserAgent: {
34
- readonly userAgent: "introspection-sdk/0.22.0";
34
+ readonly userAgent: "introspection-sdk/0.23.0";
35
35
  };
36
36
  export declare function exporterHeaders(token: string | undefined, additionalHeaders?: Record<string, string>): Record<string, string>;
37
37
  /**
package/dist/version.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  /** Version information for introspection-sdk package. */
2
- export declare const VERSION = "0.22.0";
2
+ export declare const VERSION = "0.23.0";
3
3
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -1,3 +1,3 @@
1
1
  /** Version information for introspection-sdk package. */
2
- export const VERSION = "0.22.0";
2
+ export const VERSION = "0.23.0";
3
3
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@introspection-sdk/introspection-node",
3
- "version": "0.22.0",
3
+ "version": "0.23.0",
4
4
  "license": "Apache-2.0",
5
5
  "description": "Introspection observability SDK for Node.js",
6
6
  "engines": {
@@ -31,7 +31,7 @@
31
31
  "dist/"
32
32
  ],
33
33
  "devDependencies": {
34
- "@earendil-works/pi-agent-core": "^0.84.1",
34
+ "@earendil-works/pi-agent-core": "^0.84.3",
35
35
  "@opentelemetry/api-logs": "^0.221.0",
36
36
  "@opentelemetry/context-async-hooks": "^2.10.0",
37
37
  "@opentelemetry/core": "^2.10.0",
@@ -100,10 +100,10 @@
100
100
  "@opentelemetry/api": "^1.9.1",
101
101
  "https-proxy-agent": "^7.0.6",
102
102
  "proxy-from-env": "^2.1.0",
103
- "@introspection-sdk/http": "0.22.0",
104
- "@introspection-sdk/introspection-pi": "0.22.0",
105
- "@introspection-sdk/introspection-proxy": "0.22.0",
106
- "@introspection-sdk/types": "0.22.0"
103
+ "@introspection-sdk/http": "0.23.0",
104
+ "@introspection-sdk/introspection-pi": "0.23.0",
105
+ "@introspection-sdk/introspection-proxy": "0.23.0",
106
+ "@introspection-sdk/types": "0.23.0"
107
107
  },
108
108
  "scripts": {
109
109
  "lint": "eslint . --max-warnings 0",