@introspection-sdk/introspection-node 0.23.0 → 0.32.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 +404 -8
- package/dist/auth-client.d.ts +182 -0
- package/dist/auth-client.d.ts.map +1 -0
- package/dist/auth-client.js +402 -0
- package/dist/auth-client.js.map +1 -0
- package/dist/auth.d.ts +12 -2
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js.map +1 -1
- package/dist/client.d.ts +41 -3
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +50 -1
- package/dist/client.js.map +1 -1
- package/dist/data-plane.d.ts +69 -0
- package/dist/data-plane.d.ts.map +1 -0
- package/dist/data-plane.js +61 -0
- package/dist/data-plane.js.map +1 -0
- package/dist/http.d.ts +18 -0
- package/dist/http.d.ts.map +1 -1
- package/dist/http.js +24 -8
- package/dist/http.js.map +1 -1
- package/dist/index.d.ts +13 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -1
- package/dist/index.js.map +1 -1
- package/dist/otel/index.d.ts +3 -1
- package/dist/otel/index.d.ts.map +1 -1
- package/dist/otel/index.js +2 -1
- package/dist/otel/index.js.map +1 -1
- package/dist/otel/init.d.ts +7 -2
- package/dist/otel/init.d.ts.map +1 -1
- package/dist/otel/init.js +9 -2
- package/dist/otel/init.js.map +1 -1
- package/dist/otel/logs.d.ts +23 -6
- package/dist/otel/logs.d.ts.map +1 -1
- package/dist/otel/logs.js +56 -13
- package/dist/otel/logs.js.map +1 -1
- package/dist/proxy-fetch.d.ts +11 -0
- package/dist/proxy-fetch.d.ts.map +1 -0
- package/dist/proxy-fetch.js +35 -0
- package/dist/proxy-fetch.js.map +1 -0
- package/dist/resources/app-connections.d.ts +35 -0
- package/dist/resources/app-connections.d.ts.map +1 -0
- package/dist/resources/app-connections.js +66 -0
- package/dist/resources/app-connections.js.map +1 -0
- package/dist/resources/automations.d.ts +5 -0
- package/dist/resources/automations.d.ts.map +1 -0
- package/dist/resources/automations.js +6 -0
- package/dist/resources/automations.js.map +1 -0
- package/dist/resources/connectors.d.ts +25 -2
- package/dist/resources/connectors.d.ts.map +1 -1
- package/dist/resources/connectors.js +37 -1
- package/dist/resources/connectors.js.map +1 -1
- package/dist/resources/members.d.ts +36 -0
- package/dist/resources/members.d.ts.map +1 -0
- package/dist/resources/members.js +62 -0
- package/dist/resources/members.js.map +1 -0
- package/dist/resources/repositories.d.ts +52 -0
- package/dist/resources/repositories.d.ts.map +1 -0
- package/dist/resources/repositories.js +112 -0
- package/dist/resources/repositories.js.map +1 -0
- package/dist/runner.d.ts +19 -5
- package/dist/runner.d.ts.map +1 -1
- package/dist/runner.js +18 -3
- package/dist/runner.js.map +1 -1
- package/dist/types.d.ts +2 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utils.d.ts +2 -2
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +1 -1
- package/dist/utils.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/version.js.map +1 -1
- package/package.json +21 -16
package/dist/otel/logs.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* IntrospectionLogs — OTel logs exporter for Introspection.
|
|
3
3
|
*
|
|
4
|
-
* Owns its own `LoggerProvider` and OTLP log exporter. Provides `
|
|
5
|
-
* `feedback`, `identify`, and async-context helpers (`withBaggage`,
|
|
4
|
+
* Owns its own `LoggerProvider` and OTLP log exporter. Provides `logEvent`,
|
|
5
|
+
* `track`, `feedback`, `identify`, and async-context helpers (`withBaggage`,
|
|
6
6
|
* `withAgent`, `withConversation`, etc.) that propagate identity and
|
|
7
7
|
* gen_ai context through OpenTelemetry baggage.
|
|
8
8
|
*
|
|
@@ -35,7 +35,16 @@ import { ATTR_SERVICE_NAME } from "@opentelemetry/semantic-conventions";
|
|
|
35
35
|
import { propagation, context } from "@opentelemetry/api";
|
|
36
36
|
import { DEFAULT_SERVICE_NAME, exporterHeaders, logger as sdkLogger, otlpUserAgent, withOtlpHttpsProxy, } from "../utils.js";
|
|
37
37
|
import { VERSION } from "../version.js";
|
|
38
|
-
import { generateEventId, toAttributeValue, } from "../types.js";
|
|
38
|
+
import { generateEventId, reservedEventNamePrefix, toAttributeValue, } from "../types.js";
|
|
39
|
+
/**
|
|
40
|
+
* Configuration for {@link IntrospectionLogs}.
|
|
41
|
+
*/
|
|
42
|
+
const SEVERITY_NUMBERS = {
|
|
43
|
+
DEBUG: SeverityNumber.DEBUG,
|
|
44
|
+
INFO: SeverityNumber.INFO,
|
|
45
|
+
WARN: SeverityNumber.WARN,
|
|
46
|
+
ERROR: SeverityNumber.ERROR,
|
|
47
|
+
};
|
|
39
48
|
export class IntrospectionLogs {
|
|
40
49
|
loggerProvider;
|
|
41
50
|
otelLogger;
|
|
@@ -171,19 +180,53 @@ export class IntrospectionLogs {
|
|
|
171
180
|
}
|
|
172
181
|
return attributes;
|
|
173
182
|
}
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
183
|
+
/**
|
|
184
|
+
* Log an app event under any custom name, e.g. `"ark.feed.entry"`.
|
|
185
|
+
*
|
|
186
|
+
* `attributes` land under `properties.*`, which is where the platform's
|
|
187
|
+
* `introspection.track` read projection finds them; read the events back
|
|
188
|
+
* with `client.events.list({ event_name: "introspection.track" })`.
|
|
189
|
+
* Identity and gen_ai context are taken from the active baggage unless
|
|
190
|
+
* `options.identity` overrides them.
|
|
191
|
+
*
|
|
192
|
+
* Pass a stable `options.eventId` when delivery may repeat: consumers
|
|
193
|
+
* dedupe on it, so re-sending the same id is safe.
|
|
194
|
+
*
|
|
195
|
+
* @throws Error when `name` is empty or falls under a reserved namespace
|
|
196
|
+
* (`introspection.*`, `gen_ai.*`).
|
|
197
|
+
*/
|
|
198
|
+
logEvent(name, attributes, options = {}) {
|
|
199
|
+
if (!name) {
|
|
200
|
+
throw new Error("logEvent: event name must be a non-empty string.");
|
|
201
|
+
}
|
|
202
|
+
const reserved = reservedEventNamePrefix(name);
|
|
203
|
+
if (reserved) {
|
|
204
|
+
throw new Error(`logEvent: event name "${name}" is in the reserved "${reserved}*" namespace, which belongs to the platform and OpenTelemetry. Use your own prefix, e.g. "myapp.${name.slice(reserved.length)}".`);
|
|
205
|
+
}
|
|
206
|
+
const contextIdentity = this.getIdentityFromContext();
|
|
207
|
+
const severity = options.severity ?? "INFO";
|
|
179
208
|
this.otelLogger.emit({
|
|
180
|
-
timestamp: this.getTimestamp(),
|
|
209
|
+
timestamp: options.timestamp ?? this.getTimestamp(),
|
|
181
210
|
context: context.active(),
|
|
182
|
-
severityNumber:
|
|
183
|
-
severityText:
|
|
184
|
-
attributes,
|
|
211
|
+
severityNumber: SEVERITY_NUMBERS[severity],
|
|
212
|
+
severityText: severity,
|
|
213
|
+
attributes: this.buildAttributes(name, {
|
|
214
|
+
properties: attributes,
|
|
215
|
+
eventId: options.eventId,
|
|
216
|
+
identity: {
|
|
217
|
+
userId: options.identity?.userId ?? contextIdentity.userId,
|
|
218
|
+
anonymousId: options.identity?.anonymousId ?? contextIdentity.anonymousId,
|
|
219
|
+
},
|
|
220
|
+
}),
|
|
185
221
|
});
|
|
186
|
-
sdkLogger.debug(`
|
|
222
|
+
sdkLogger.debug(`Logged event: ${name}`);
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Track an analytics event. A thin alias of {@link logEvent} kept for the
|
|
226
|
+
* Segment-style call shape.
|
|
227
|
+
*/
|
|
228
|
+
track(eventName, properties, options) {
|
|
229
|
+
this.logEvent(eventName, properties, { eventId: options?.eventId });
|
|
187
230
|
}
|
|
188
231
|
feedback(name, options = {}) {
|
|
189
232
|
const { comments, conversationId, previousResponseId, eventId, ...extra } = options;
|
package/dist/otel/logs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logs.js","sourceRoot":"","sources":["../../src/otel/logs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,cAAc,EAAsB,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EACL,cAAc,EACd,uBAAuB,GAExB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC1E,OAAO,EACL,sBAAsB,EACtB,eAAe,GAChB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,MAAM,IAAI,SAAS,EACnB,aAAa,EACb,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EACL,eAAe,EACf,gBAAgB,
|
|
1
|
+
{"version":3,"file":"logs.js","sourceRoot":"","sources":["../../src/otel/logs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,cAAc,EAAsB,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EACL,cAAc,EACd,uBAAuB,GAExB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC1E,OAAO,EACL,sBAAsB,EACtB,eAAe,GAChB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,MAAM,IAAI,SAAS,EACnB,aAAa,EACb,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EACL,eAAe,EACf,uBAAuB,EACvB,gBAAgB,GAOjB,MAAM,aAAa,CAAC;AAErB;;GAEG;AACH,MAAM,gBAAgB,GAA6C;IACjE,KAAK,EAAE,cAAc,CAAC,KAAK;IAC3B,IAAI,EAAE,cAAc,CAAC,IAAI;IACzB,IAAI,EAAE,cAAc,CAAC,IAAI;IACzB,KAAK,EAAE,cAAc,CAAC,KAAK;CAC5B,CAAC;AAuCF,MAAM,OAAO,iBAAiB;IACpB,cAAc,CAAiB;IAC/B,UAAU,CAA0C;IAE5D,YAAY,UAAoC,EAAE;QAChD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,EAAE,CAAC;QACrE,MAAM,WAAW,GACf,OAAO,CAAC,WAAW;YACnB,OAAO,CAAC,GAAG,CAAC,0BAA0B;YACtC,oBAAoB,CAAC;QACvB,MAAM,WAAW,GACf,OAAO,CAAC,WAAW;YACnB,OAAO,CAAC,GAAG,CAAC,2BAA2B;YACvC,gCAAgC,CAAC;QAEnC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,SAAS,CAAC,IAAI,CACZ,gEAAgE,CACjE,CAAC;QACJ,CAAC;QAED,mCAAmC;QACnC,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC;YAC/C,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC;QAEhD,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAElE,MAAM,QAAQ,GACZ,OAAO,CAAC,WAAW;YACnB,IAAI,eAAe,CACjB,kBAAkB,CAAC;gBACjB,GAAG,EAAE,QAAQ;gBACb,OAAO;gBACP,GAAG,aAAa;aACjB,CAAC,CACH,CAAC;QAEJ,MAAM,SAAS,GAAG,IAAI,uBAAuB,CAAC;YAC5C,QAAQ;YACR,wEAAwE;YACxE,sEAAsE;YACtE,qEAAqE;YACrE,sBAAsB;YACtB,kBAAkB,EAAE,OAAO,CAAC,YAAY,IAAI,GAAG;YAC/C,oBAAoB,EAAE,OAAO,CAAC,aAAa,IAAI,IAAI;YACnD,qEAAqE;YACrE,gDAAgD;YAChD,GAAG,CAAC,OAAO,CAAC,YAAY,IAAI,IAAI;gBAC9B,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE;gBACxC,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,OAAO,CAAC,mBAAmB,IAAI,IAAI;gBACrC,CAAC,CAAC,EAAE,mBAAmB,EAAE,OAAO,CAAC,mBAAmB,EAAE;gBACtD,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;QACvC,MAAM,qBAAqB,GAAG,sBAAsB,CAAC;YACnD,CAAC,iBAAiB,CAAC,EAAE,WAAW;SACjC,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAE3D,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC;YACvC,QAAQ;YACR,UAAU,EAAE,CAAC,SAAS,CAAC;SACxB,CAAC,CAAC;QAEH,kEAAkE;QAClE,qEAAqE;QACrE,yEAAyE;QACzE,0CAA0C;QAC1C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAC7C,mBAAmB,EACnB,OAAO,CACR,CAAC;QAEF,SAAS,CAAC,IAAI,CACZ,0CAA0C,WAAW,UAAU,QAAQ,EAAE,CAC1E,CAAC;IACJ,CAAC;IAED,sCAAsC;IAC9B,mBAAmB;QACzB,MAAM,OAAO,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACzD,OAAO;YACL,cAAc,EAAE,OAAO,EAAE,QAAQ,CAAC,wBAAwB,CAAC,EAAE,KAAK;YAClE,kBAAkB,EAAE,OAAO,EAAE,QAAQ,CACnC,qCAAqC,CACtC,EAAE,KAAK;YACR,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,mBAAmB,CAAC,EAAE,KAAK;YACxD,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,KAAK;SACrD,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACK,sBAAsB;QAC5B,MAAM,OAAO,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACzD,OAAO;YACL,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,kBAAkB,CAAC,EAAE,KAAK;YACpD,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,uBAAuB,CAAC,EAAE,KAAK;SAC/D,CAAC;IACJ,CAAC;IAEO,YAAY;QAClB,sEAAsE;QACtE,sEAAsE;QACtE,wEAAwE;QACxE,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;QACxD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;QACtD,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC1B,CAAC;IAEO,eAAe,CACrB,SAAiB,EACjB,UAQI,EAAE;QAEN,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,kBAAkB,EAAE,OAAO,EAAE,GACvE,OAAO,CAAC;QAEV,MAAM,UAAU,GAAkB;YAChC,YAAY,EAAE,SAAS;YACvB,UAAU,EAAE,OAAO,IAAI,eAAe,EAAE;SACzC,CAAC;QAEF,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACnE,IAAI,QAAQ,CAAC,MAAM;YAAE,UAAU,CAAC,kBAAkB,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;QACtE,IAAI,QAAQ,CAAC,WAAW;YACtB,UAAU,CAAC,uBAAuB,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC;QAE7D,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzC,MAAM,mBAAmB,GAAG,cAAc,IAAI,KAAK,CAAC,cAAc,CAAC;QACnE,MAAM,uBAAuB,GAC3B,kBAAkB,IAAI,KAAK,CAAC,kBAAkB,CAAC;QAEjD,IAAI,mBAAmB;YACrB,UAAU,CAAC,wBAAwB,CAAC,GAAG,mBAAmB,CAAC;QAC7D,IAAI,uBAAuB;YACzB,UAAU,CAAC,qCAAqC,CAAC;gBAC/C,uBAAuB,CAAC;QAC5B,IAAI,KAAK,CAAC,SAAS;YAAE,UAAU,CAAC,mBAAmB,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC;QACvE,IAAI,KAAK,CAAC,OAAO;YAAE,UAAU,CAAC,iBAAiB,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;QAEjE,IAAI,UAAU,EAAE,CAAC;YACf,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;gBACtD,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;oBAClB,MAAM,OAAO,GAAG,cAAc,GAAG,EAAE,CAAC;oBACpC,UAAU,CAAC,OAAO,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBAChD,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACX,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAClD,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;oBAClB,MAAM,OAAO,GAAG,kBAAkB,GAAG,EAAE,CAAC;oBACxC,UAAU,CAAC,OAAO,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBAChD,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CACN,IAAY,EACZ,UAAoC,EACpC,UAA2B,EAAE;QAE7B,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACtE,CAAC;QACD,MAAM,QAAQ,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACb,yBAAyB,IAAI,yBAAyB,QAAQ,mGAAmG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CACjM,CAAC;QACJ,CAAC;QACD,MAAM,eAAe,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACtD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC;QAC5C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACnB,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,YAAY,EAAE;YACnD,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE;YACzB,cAAc,EAAE,gBAAgB,CAAC,QAAQ,CAAC;YAC1C,YAAY,EAAE,QAAQ;YACtB,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE;gBACrC,UAAU,EAAE,UAAU;gBACtB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,QAAQ,EAAE;oBACR,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,IAAI,eAAe,CAAC,MAAM;oBAC1D,WAAW,EACT,OAAO,CAAC,QAAQ,EAAE,WAAW,IAAI,eAAe,CAAC,WAAW;iBAC/D;aACF,CAAC;SACH,CAAC,CAAC;QACH,SAAS,CAAC,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED;;;OAGG;IACH,KAAK,CACH,SAAiB,EACjB,UAAoC,EACpC,OAA8B;QAE9B,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,QAAQ,CAAC,IAAY,EAAE,UAA2B,EAAE;QAClD,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,kBAAkB,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,GACvE,OAAO,CAAC;QACV,qEAAqE;QACrE,qEAAqE;QACrE,0BAA0B;QAC1B,MAAM,UAAU,GAA4B,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC;QAC/D,oEAAoE;QACpE,6BAA6B;QAC7B,8DAA8D;QAC9D,IAAI,QAAQ,IAAI,IAAI;YAAE,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACrD,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,wBAAwB,EAAE;YAChE,UAAU;YACV,cAAc,EAAE,cAAoC;YACpD,kBAAkB,EAAE,kBAAwC;YAC5D,OAAO,EAAE,OAA6B;SACvC,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACnB,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE;YAC9B,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE;YACzB,cAAc,EAAE,cAAc,CAAC,IAAI;YACnC,YAAY,EAAE,MAAM;YACpB,UAAU;SACX,CAAC,CAAC;QACH,SAAS,CAAC,KAAK,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC;IACvC,CAAC;IAED;;;;;;OAMG;IACH,QAAQ,CACN,MAAc,EACd,MAAmB,EACnB,WAAoB,EACpB,OAAgB;QAEhB,MAAM,QAAQ,GAA2B,EAAE,kBAAkB,EAAE,MAAM,EAAE,CAAC;QACxE,IAAI,WAAW;YAAE,QAAQ,CAAC,uBAAuB,CAAC,GAAG,WAAW,CAAC;QAEjE,oEAAoE;QACpE,qEAAqE;QACrE,sEAAsE;QACtE,yEAAyE;QACzE,yEAAyE;QACzE,0EAA0E;QAC1E,+CAA+C;QAC/C,EAAE;QACF,sEAAsE;QACtE,uEAAuE;QACvE,aAAa;QACb,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE;YACrD,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE;gBAClD,MAAM;gBACN,OAAO;gBACP,QAAQ,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE;aAClC,CAAC,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;gBACnB,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE;gBAC9B,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE;gBACzB,cAAc,EAAE,cAAc,CAAC,IAAI;gBACnC,YAAY,EAAE,MAAM;gBACpB,UAAU;aACX,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,SAAS,CAAC,KAAK,CAAC,eAAe,MAAM,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,oBAAoB,CAAC,MAA8B;QACjD,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QAC7B,IAAI,GAAG,GAAG,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,aAAa,EAAE,CAAC;QACrE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAClD,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,WAAW,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,WAAW,CACf,MAA8B,EAC9B,QAA8B;QAE9B,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAC9C,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,SAAS,CACb,SAAiB,EACjB,OAA2B,EAC3B,QAA8B;QAE9B,MAAM,MAAM,GAA2B,EAAE,mBAAmB,EAAE,SAAS,EAAE,CAAC;QAC1E,IAAI,OAAO;YAAE,MAAM,CAAC,iBAAiB,CAAC,GAAG,OAAO,CAAC;QACjD,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,cAAkC,EAClC,kBAAsC,EACtC,QAA8B;QAE9B,MAAM,MAAM,GAA2B,EAAE,CAAC;QAC1C,IAAI,cAAc;YAAE,MAAM,CAAC,wBAAwB,CAAC,GAAG,cAAc,CAAC;QACtE,IAAI,kBAAkB;YACpB,MAAM,CAAC,qCAAqC,CAAC,GAAG,kBAAkB,CAAC;QACrE,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,UAAU,CACd,MAAc,EACd,QAA8B;QAE9B,OAAO,MAAM,OAAO,CAAC,IAAI,CACvB,IAAI,CAAC,oBAAoB,CAAC,EAAE,kBAAkB,EAAE,MAAM,EAAE,CAAC,EACzD,QAAQ,CACT,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,WAAmB,EACnB,QAA8B;QAE9B,OAAO,MAAM,OAAO,CAAC,IAAI,CACvB,IAAI,CAAC,oBAAoB,CAAC,EAAE,uBAAuB,EAAE,WAAW,EAAE,CAAC,EACnE,QAAQ,CACT,CAAC;IACJ,CAAC;IAED,kEAAkE;IAClE,SAAS;QACP,OAAO,IAAI,CAAC,sBAAsB,EAAE,CAAC,MAAM,CAAC;IAC9C,CAAC;IAED,uEAAuE;IACvE,cAAc;QACZ,OAAO,IAAI,CAAC,sBAAsB,EAAE,CAAC,WAAW,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;QACvC,SAAS,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;QACrC,SAAS,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;CACF"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The fetch REST clients use when the caller supplies none.
|
|
3
|
+
*
|
|
4
|
+
* Node's built-in fetch ignores `HTTPS_PROXY` unless `NODE_USE_ENV_PROXY=1`,
|
|
5
|
+
* so behind an allowlisting proxy every call failed with "fetch failed". This
|
|
6
|
+
* routes through the forward proxy instead, honouring `NO_PROXY`. Returns
|
|
7
|
+
* `undefined` (use the global fetch) when no proxy is set, when Node already
|
|
8
|
+
* applies it, or inside a sandbox, whose runtime installs its own routing.
|
|
9
|
+
*/
|
|
10
|
+
export declare function proxyAwareFetch(): typeof fetch | undefined;
|
|
11
|
+
//# sourceMappingURL=proxy-fetch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proxy-fetch.d.ts","sourceRoot":"","sources":["../src/proxy-fetch.ts"],"names":[],"mappings":"AASA;;;;;;;;GAQG;AACH,wBAAgB,eAAe,IAAI,OAAO,KAAK,GAAG,SAAS,CAkB1D"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
const FORWARD_PROXY_ENV = [
|
|
2
|
+
"HTTPS_PROXY",
|
|
3
|
+
"https_proxy",
|
|
4
|
+
"HTTP_PROXY",
|
|
5
|
+
"http_proxy",
|
|
6
|
+
];
|
|
7
|
+
const fetchAtLoad = globalThis.fetch;
|
|
8
|
+
/**
|
|
9
|
+
* The fetch REST clients use when the caller supplies none.
|
|
10
|
+
*
|
|
11
|
+
* Node's built-in fetch ignores `HTTPS_PROXY` unless `NODE_USE_ENV_PROXY=1`,
|
|
12
|
+
* so behind an allowlisting proxy every call failed with "fetch failed". This
|
|
13
|
+
* routes through the forward proxy instead, honouring `NO_PROXY`. Returns
|
|
14
|
+
* `undefined` (use the global fetch) when no proxy is set, when Node already
|
|
15
|
+
* applies it, or inside a sandbox, whose runtime installs its own routing.
|
|
16
|
+
*/
|
|
17
|
+
export function proxyAwareFetch() {
|
|
18
|
+
const env = process.env;
|
|
19
|
+
if (!FORWARD_PROXY_ENV.some((name) => env[name]))
|
|
20
|
+
return undefined;
|
|
21
|
+
if (env.NODE_USE_ENV_PROXY === "1" || env.INTROSPECTION_EGRESS_URL) {
|
|
22
|
+
return undefined;
|
|
23
|
+
}
|
|
24
|
+
// Loaded on first use, so a process without a proxy never loads undici.
|
|
25
|
+
let proxied;
|
|
26
|
+
return async (input, init) => {
|
|
27
|
+
// The proxy dispatches through undici directly, so it would bypass a fetch
|
|
28
|
+
// installed after load: a test interceptor, or the caller's own proxy.
|
|
29
|
+
if (globalThis.fetch !== fetchAtLoad)
|
|
30
|
+
return globalThis.fetch(input, init);
|
|
31
|
+
proxied ??= import("@introspection-sdk/introspection-proxy").then(({ createProxyFetch }) => createProxyFetch({ egressProxyUrl: "", tracing: false }));
|
|
32
|
+
return (await proxied)(input, init);
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=proxy-fetch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proxy-fetch.js","sourceRoot":"","sources":["../src/proxy-fetch.ts"],"names":[],"mappings":"AAAA,MAAM,iBAAiB,GAAG;IACxB,aAAa;IACb,aAAa;IACb,YAAY;IACZ,YAAY;CACb,CAAC;AAEF,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC;AAErC;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe;IAC7B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IACxB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACnE,IAAI,GAAG,CAAC,kBAAkB,KAAK,GAAG,IAAI,GAAG,CAAC,wBAAwB,EAAE,CAAC;QACnE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,wEAAwE;IACxE,IAAI,OAA0C,CAAC;IAC/C,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAC3B,2EAA2E;QAC3E,uEAAuE;QACvE,IAAI,UAAU,CAAC,KAAK,KAAK,WAAW;YAAE,OAAO,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC3E,OAAO,KAAK,MAAM,CAAC,wCAAwC,CAAC,CAAC,IAAI,CAC/D,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE,CACvB,gBAAgB,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAC3D,CAAC;QACF,OAAO,CAAC,MAAM,OAAO,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { AppConnection, AppConnectionCreateParams, AppConnectionListParams, ConnectPage, Uuid } from "@introspection-sdk/types";
|
|
2
|
+
import type { HttpClient } from "../http.js";
|
|
3
|
+
import { Paginator } from "../pagination.js";
|
|
4
|
+
/**
|
|
5
|
+
* CRUD on `/v1/connections` (Data Plane): the apps members connected for
|
|
6
|
+
* themselves. A caller who is not an administrator sees and manages only
|
|
7
|
+
* their own. Reads need `connections:read`, `create` needs
|
|
8
|
+
* `connections:write`, `delete` needs `connections:delete`.
|
|
9
|
+
*
|
|
10
|
+
* Connections under a connector are a different resource, on the Control
|
|
11
|
+
* Plane's `client.connectors.connections`.
|
|
12
|
+
*
|
|
13
|
+
* `TCreate` narrows `create`'s params the way `TasksApi` narrows its own:
|
|
14
|
+
* the client requires `runtime`, while a runner fills in its runtime group.
|
|
15
|
+
*/
|
|
16
|
+
export declare class AppConnectionsApi<TCreate extends AppConnectionCreateParams = AppConnectionCreateParams> {
|
|
17
|
+
private readonly http;
|
|
18
|
+
private readonly defaultRuntime;
|
|
19
|
+
constructor(http: HttpClient, defaultRuntime?: () => string | null | undefined);
|
|
20
|
+
/**
|
|
21
|
+
* List connections. `await` the result for the first page, or `for await`
|
|
22
|
+
* it to stream every connection across pages. Filters ride every page.
|
|
23
|
+
*/
|
|
24
|
+
list(params?: AppConnectionListParams): Paginator<AppConnection>;
|
|
25
|
+
/**
|
|
26
|
+
* Mint a single-use connect page for one app. Send the member to
|
|
27
|
+
* `authorize_url`; the connection exists once they finish there.
|
|
28
|
+
*/
|
|
29
|
+
create(params: TCreate): Promise<ConnectPage>;
|
|
30
|
+
/** Read one connection. */
|
|
31
|
+
get(connectionId: Uuid): Promise<AppConnection>;
|
|
32
|
+
/** Remove a connection. */
|
|
33
|
+
delete(connectionId: Uuid): Promise<void>;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=app-connections.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-connections.d.ts","sourceRoot":"","sources":["../../src/resources/app-connections.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,yBAAyB,EACzB,uBAAuB,EACvB,WAAW,EAEX,IAAI,EACL,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAkB,MAAM,kBAAkB,CAAC;AAE7D;;;;;;;;;;;GAWG;AACH,qBAAa,iBAAiB,CAC5B,OAAO,SAAS,yBAAyB,GAAG,yBAAyB;IAGnE,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,cAAc;gBADd,IAAI,EAAE,UAAU,EAChB,cAAc,GAAE,MAAM,MAAM,GAAG,IAAI,GAAG,SAC5C;IAGb;;;OAGG;IACH,IAAI,CAAC,MAAM,GAAE,uBAA4B,GAAG,SAAS,CAAC,aAAa,CAAC;IAapE;;;OAGG;IACG,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC;IAgBnD,2BAA2B;IAC3B,GAAG,CAAC,YAAY,EAAE,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC;IAO/C,2BAA2B;IAC3B,MAAM,CAAC,YAAY,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CAO1C"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { cursorPaginate } from "../pagination.js";
|
|
2
|
+
/**
|
|
3
|
+
* CRUD on `/v1/connections` (Data Plane): the apps members connected for
|
|
4
|
+
* themselves. A caller who is not an administrator sees and manages only
|
|
5
|
+
* their own. Reads need `connections:read`, `create` needs
|
|
6
|
+
* `connections:write`, `delete` needs `connections:delete`.
|
|
7
|
+
*
|
|
8
|
+
* Connections under a connector are a different resource, on the Control
|
|
9
|
+
* Plane's `client.connectors.connections`.
|
|
10
|
+
*
|
|
11
|
+
* `TCreate` narrows `create`'s params the way `TasksApi` narrows its own:
|
|
12
|
+
* the client requires `runtime`, while a runner fills in its runtime group.
|
|
13
|
+
*/
|
|
14
|
+
export class AppConnectionsApi {
|
|
15
|
+
http;
|
|
16
|
+
defaultRuntime;
|
|
17
|
+
constructor(http, defaultRuntime = () => undefined) {
|
|
18
|
+
this.http = http;
|
|
19
|
+
this.defaultRuntime = defaultRuntime;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* List connections. `await` the result for the first page, or `for await`
|
|
23
|
+
* it to stream every connection across pages. Filters ride every page.
|
|
24
|
+
*/
|
|
25
|
+
list(params = {}) {
|
|
26
|
+
const { next: start, ...filters } = params;
|
|
27
|
+
return cursorPaginate((next) => this.http.request({
|
|
28
|
+
method: "GET",
|
|
29
|
+
path: "/v1/connections",
|
|
30
|
+
query: { ...filters, next },
|
|
31
|
+
}), start);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Mint a single-use connect page for one app. Send the member to
|
|
35
|
+
* `authorize_url`; the connection exists once they finish there.
|
|
36
|
+
*/
|
|
37
|
+
async create(params) {
|
|
38
|
+
const runtime = params.runtime ?? this.defaultRuntime();
|
|
39
|
+
if (!runtime) {
|
|
40
|
+
throw new Error("connections.create() needs the runtime whose sessions use the " +
|
|
41
|
+
"connection: pass `runtime`, or call it on a runner whose context " +
|
|
42
|
+
"carries a runtime_group_id.");
|
|
43
|
+
}
|
|
44
|
+
return this.http.request({
|
|
45
|
+
method: "POST",
|
|
46
|
+
path: "/v1/connections",
|
|
47
|
+
body: { app: params.app, runtime },
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
/** Read one connection. */
|
|
51
|
+
get(connectionId) {
|
|
52
|
+
return this.http.request({
|
|
53
|
+
method: "GET",
|
|
54
|
+
path: `/v1/connections/${encodeURIComponent(connectionId)}`,
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
/** Remove a connection. */
|
|
58
|
+
delete(connectionId) {
|
|
59
|
+
return this.http.request({
|
|
60
|
+
method: "DELETE",
|
|
61
|
+
path: `/v1/connections/${encodeURIComponent(connectionId)}`,
|
|
62
|
+
expect: "empty",
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=app-connections.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-connections.js","sourceRoot":"","sources":["../../src/resources/app-connections.ts"],"names":[],"mappings":"AASA,OAAO,EAAa,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAE7D;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,iBAAiB;IAIT;IACA;IAFnB,YACmB,IAAgB,EAChB,iBAAkD,GAAG,EAAE,CACtE,SAAS;QAFM,SAAI,GAAJ,IAAI,CAAY;QAChB,mBAAc,GAAd,cAAc,CACpB;IACV,CAAC;IAEJ;;;OAGG;IACH,IAAI,CAAC,SAAkC,EAAE;QACvC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,GAAG,MAAM,CAAC;QAC3C,OAAO,cAAc,CACnB,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,IAAI,CAAC,OAAO,CAA2B;YAC1C,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,iBAAiB;YACvB,KAAK,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAA6B;SACvD,CAAC,EACJ,KAAK,CACN,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM,CAAC,MAAe;QAC1B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;QACxD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACb,gEAAgE;gBAC9D,mEAAmE;gBACnE,6BAA6B,CAChC,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAc;YACpC,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,iBAAiB;YACvB,IAAI,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE;SACnC,CAAC,CAAC;IACL,CAAC;IAED,2BAA2B;IAC3B,GAAG,CAAC,YAAkB;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAgB;YACtC,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,mBAAmB,kBAAkB,CAAC,YAAY,CAAC,EAAE;SAC5D,CAAC,CAAC;IACL,CAAC;IAED,2BAA2B;IAC3B,MAAM,CAAC,YAAkB;QACvB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAO;YAC7B,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,mBAAmB,kBAAkB,CAAC,YAAY,CAAC,EAAE;YAC3D,MAAM,EAAE,OAAO;SAChB,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"automations.d.ts","sourceRoot":"","sources":["../../src/resources/automations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,EAAE,cAAc,EAAE,CAAC;AAE1B,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,UAAU,GAAG,cAAc,CAElE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"automations.js","sourceRoot":"","sources":["../../src/resources/automations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAGzD,OAAO,EAAE,cAAc,EAAE,CAAC;AAE1B,MAAM,UAAU,iBAAiB,CAAC,IAAgB;IAChD,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Connection, ConnectionCreateParams, ConnectionTokenParams, ConnectionTokenResult, Connector, ConnectorApp, ConnectorAppListParams, ConnectorAuthorizeParams, ConnectorAuthorizeResponse, ConnectorCreateParams, ConnectorListParams, ConnectorUpdateParams, CursorParams, Uuid } from "@introspection-sdk/types";
|
|
1
|
+
import type { Connection, ConnectionCreateParams, ConnectionTokenParams, ConnectionTokenResult, Connector, ConnectorApp, ConnectorAppListParams, ConnectorAuthorizeParams, ConnectorAuthorizeResponse, ConnectorCreateParams, ConnectorCustomAppSearchParams, ConnectorListParams, ConnectorOAuthDiscoveryResponse, ConnectorUpdateParams, CursorParams, Uuid } from "@introspection-sdk/types";
|
|
2
2
|
import type { HttpClient } from "../http.js";
|
|
3
3
|
import { Paginator } from "../pagination.js";
|
|
4
4
|
/**
|
|
@@ -59,7 +59,10 @@ export declare class ConnectorsApi {
|
|
|
59
59
|
* cursor; stop early to stop fetching).
|
|
60
60
|
*/
|
|
61
61
|
list(params?: ConnectorListParams): Paginator<Connector>;
|
|
62
|
-
/**
|
|
62
|
+
/**
|
|
63
|
+
* Create a connector. Upserts on `slug`: a repeat POST replaces the live
|
|
64
|
+
* row's configuration and keeps its provider, auth mode and stored secrets.
|
|
65
|
+
*/
|
|
63
66
|
create(params: ConnectorCreateParams): Promise<Connector>;
|
|
64
67
|
get(connectorId: Uuid): Promise<Connector>;
|
|
65
68
|
update(connectorId: Uuid, params: ConnectorUpdateParams): Promise<Connector>;
|
|
@@ -70,6 +73,23 @@ export declare class ConnectorsApi {
|
|
|
70
73
|
* the returned slug when minting an application-specific Connect Link.
|
|
71
74
|
*/
|
|
72
75
|
listApps(connectorId: Uuid, params?: ConnectorAppListParams): Promise<ConnectorApp[]>;
|
|
76
|
+
/**
|
|
77
|
+
* Search the open MCP registry — the catalogue a custom connector picks
|
|
78
|
+
* from. Needs no connector: read it before creating one, then pass the
|
|
79
|
+
* listing's `mcp_url` to {@link discoverOAuth} or `create({ issuer })`.
|
|
80
|
+
*/
|
|
81
|
+
searchCustomApps(params: ConnectorCustomAppSearchParams): Promise<ConnectorApp[]>;
|
|
82
|
+
/**
|
|
83
|
+
* Resolve a provider's OAuth metadata before creating a custom connector.
|
|
84
|
+
* `issuer` may be the authorization server or the MCP server it protects.
|
|
85
|
+
*
|
|
86
|
+
* This may REGISTER an OAuth client with the provider (dynamic
|
|
87
|
+
* registration) and return its `client_id` / `client_secret` — pass those
|
|
88
|
+
* to {@link create} so a second client is not registered. (`create` with
|
|
89
|
+
* only `issuer` also discovers and registers on its own.) Raises a
|
|
90
|
+
* {@link ValidationError} (400) when discovery fails.
|
|
91
|
+
*/
|
|
92
|
+
discoverOAuth(issuer: string): Promise<ConnectorOAuthDiscoveryResponse>;
|
|
73
93
|
/**
|
|
74
94
|
* Mint a consent URL for a connector — the link a Business hands its
|
|
75
95
|
* customer to connect (e.g. install the Slack app into a workspace).
|
|
@@ -84,6 +104,9 @@ export declare class ConnectorsApi {
|
|
|
84
104
|
* {@link listApps}. `allow_progressive_scopes` is optional and defaults to
|
|
85
105
|
* false, matching Pipedream's Connect API.
|
|
86
106
|
*
|
|
107
|
+
* `binding` (with `runtime`) writes the runtime's MCP endpoint in the same
|
|
108
|
+
* transaction as the grant, so the runtime is never authorized-but-unbound.
|
|
109
|
+
*
|
|
87
110
|
* Passing `params.identity` mints a `customer` member for the asserted
|
|
88
111
|
* end user, so it can raise a {@link ConflictError} (409) when the org has
|
|
89
112
|
* 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,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
|
|
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,8BAA8B,EAC9B,mBAAmB,EACnB,+BAA+B,EAC/B,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;;;OAGG;IACH,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;;;;OAIG;IACG,gBAAgB,CACpB,MAAM,EAAE,8BAA8B,GACrC,OAAO,CAAC,YAAY,EAAE,CAAC;IAS1B;;;;;;;;;OASG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,+BAA+B,CAAC;IAQvE;;;;;;;;;;;;;;;;;;;;OAoBG;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"}
|
|
@@ -97,7 +97,10 @@ export class ConnectorsApi {
|
|
|
97
97
|
query: { ...params, next },
|
|
98
98
|
}), params.next);
|
|
99
99
|
}
|
|
100
|
-
/**
|
|
100
|
+
/**
|
|
101
|
+
* Create a connector. Upserts on `slug`: a repeat POST replaces the live
|
|
102
|
+
* row's configuration and keeps its provider, auth mode and stored secrets.
|
|
103
|
+
*/
|
|
101
104
|
create(params) {
|
|
102
105
|
return this.http.request({
|
|
103
106
|
method: "POST",
|
|
@@ -138,6 +141,36 @@ export class ConnectorsApi {
|
|
|
138
141
|
});
|
|
139
142
|
return response.data;
|
|
140
143
|
}
|
|
144
|
+
/**
|
|
145
|
+
* Search the open MCP registry — the catalogue a custom connector picks
|
|
146
|
+
* from. Needs no connector: read it before creating one, then pass the
|
|
147
|
+
* listing's `mcp_url` to {@link discoverOAuth} or `create({ issuer })`.
|
|
148
|
+
*/
|
|
149
|
+
async searchCustomApps(params) {
|
|
150
|
+
const response = await this.http.request({
|
|
151
|
+
method: "GET",
|
|
152
|
+
path: "/v1/connectors/custom/apps",
|
|
153
|
+
query: params,
|
|
154
|
+
});
|
|
155
|
+
return response.data;
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Resolve a provider's OAuth metadata before creating a custom connector.
|
|
159
|
+
* `issuer` may be the authorization server or the MCP server it protects.
|
|
160
|
+
*
|
|
161
|
+
* This may REGISTER an OAuth client with the provider (dynamic
|
|
162
|
+
* registration) and return its `client_id` / `client_secret` — pass those
|
|
163
|
+
* to {@link create} so a second client is not registered. (`create` with
|
|
164
|
+
* only `issuer` also discovers and registers on its own.) Raises a
|
|
165
|
+
* {@link ValidationError} (400) when discovery fails.
|
|
166
|
+
*/
|
|
167
|
+
discoverOAuth(issuer) {
|
|
168
|
+
return this.http.request({
|
|
169
|
+
method: "POST",
|
|
170
|
+
path: "/v1/connectors/discover-oauth",
|
|
171
|
+
body: { issuer },
|
|
172
|
+
});
|
|
173
|
+
}
|
|
141
174
|
/**
|
|
142
175
|
* Mint a consent URL for a connector — the link a Business hands its
|
|
143
176
|
* customer to connect (e.g. install the Slack app into a workspace).
|
|
@@ -152,6 +185,9 @@ export class ConnectorsApi {
|
|
|
152
185
|
* {@link listApps}. `allow_progressive_scopes` is optional and defaults to
|
|
153
186
|
* false, matching Pipedream's Connect API.
|
|
154
187
|
*
|
|
188
|
+
* `binding` (with `runtime`) writes the runtime's MCP endpoint in the same
|
|
189
|
+
* transaction as the grant, so the runtime is never authorized-but-unbound.
|
|
190
|
+
*
|
|
155
191
|
* Passing `params.identity` mints a `customer` member for the asserted
|
|
156
192
|
* end user, so it can raise a {@link ConflictError} (409) when the org has
|
|
157
193
|
* 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":"
|
|
1
|
+
{"version":3,"file":"connectors.js","sourceRoot":"","sources":["../../src/resources/connectors.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { Member, MemberCreateParams, MemberListParams, MemberUpdateParams, Uuid } from "@introspection-sdk/types";
|
|
2
|
+
import type { HttpClient } from "../http.js";
|
|
3
|
+
import { Paginator } from "../pagination.js";
|
|
4
|
+
/**
|
|
5
|
+
* List, read, create and update on `/v1/members` (Control Plane).
|
|
6
|
+
* Removing a member is an org-admin action left to the CLI.
|
|
7
|
+
*
|
|
8
|
+
* `tags` are access-bearing and writable only with `members:manage`;
|
|
9
|
+
* `metadata` is a `key: value` label map that grants nothing. Both are
|
|
10
|
+
* replaced wholesale by {@link update}. A `customer` member's metadata is
|
|
11
|
+
* also merged in by every identity assertion that names it
|
|
12
|
+
* (`RunIdentityInput.metadata`).
|
|
13
|
+
*/
|
|
14
|
+
export declare class MembersApi {
|
|
15
|
+
private readonly http;
|
|
16
|
+
constructor(http: HttpClient);
|
|
17
|
+
/**
|
|
18
|
+
* List members matching `params`. `await` the result for the first page,
|
|
19
|
+
* or `for await` it to stream every member across pages (fetched lazily;
|
|
20
|
+
* stop early to stop fetching).
|
|
21
|
+
*/
|
|
22
|
+
list(params?: MemberListParams): Paginator<Member>;
|
|
23
|
+
/**
|
|
24
|
+
* Invite a business member by email, or create a customer member keyed
|
|
25
|
+
* by `external_user_id`; see {@link MemberCreateParams}.
|
|
26
|
+
*/
|
|
27
|
+
create(params: MemberCreateParams): Promise<Member>;
|
|
28
|
+
get(memberId: Uuid): Promise<Member>;
|
|
29
|
+
/**
|
|
30
|
+
* Update a member. Only provided fields change; `tags` and `metadata`
|
|
31
|
+
* each replace the stored value wholesale (`[]` / `{}` clear it).
|
|
32
|
+
*/
|
|
33
|
+
update(memberId: Uuid, params: MemberUpdateParams): Promise<Member>;
|
|
34
|
+
}
|
|
35
|
+
export declare function attachMembers(http: HttpClient): MembersApi;
|
|
36
|
+
//# sourceMappingURL=members.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"members.d.ts","sourceRoot":"","sources":["../../src/resources/members.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACN,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAElB,IAAI,EACL,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAkB,MAAM,kBAAkB,CAAC;AAE7D;;;;;;;;;GASG;AACH,qBAAa,UAAU;IACT,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAE7C;;;;OAIG;IACH,IAAI,CAAC,MAAM,GAAE,gBAAqB,GAAG,SAAS,CAAC,MAAM,CAAC;IAetD;;;OAGG;IACH,MAAM,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;IAQnD,GAAG,CAAC,QAAQ,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;IAOpC;;;OAGG;IACH,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;CAOpE;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,CAE1D"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { encodeMetadataFilter } from "@introspection-sdk/http";
|
|
2
|
+
import { cursorPaginate } from "../pagination.js";
|
|
3
|
+
/**
|
|
4
|
+
* List, read, create and update on `/v1/members` (Control Plane).
|
|
5
|
+
* Removing a member is an org-admin action left to the CLI.
|
|
6
|
+
*
|
|
7
|
+
* `tags` are access-bearing and writable only with `members:manage`;
|
|
8
|
+
* `metadata` is a `key: value` label map that grants nothing. Both are
|
|
9
|
+
* replaced wholesale by {@link update}. A `customer` member's metadata is
|
|
10
|
+
* also merged in by every identity assertion that names it
|
|
11
|
+
* (`RunIdentityInput.metadata`).
|
|
12
|
+
*/
|
|
13
|
+
export class MembersApi {
|
|
14
|
+
http;
|
|
15
|
+
constructor(http) {
|
|
16
|
+
this.http = http;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* List members matching `params`. `await` the result for the first page,
|
|
20
|
+
* or `for await` it to stream every member across pages (fetched lazily;
|
|
21
|
+
* stop early to stop fetching).
|
|
22
|
+
*/
|
|
23
|
+
list(params = {}) {
|
|
24
|
+
return cursorPaginate((next) => this.http.request({
|
|
25
|
+
method: "GET",
|
|
26
|
+
path: "/v1/members",
|
|
27
|
+
query: { ...encodeMetadataFilter(params), next },
|
|
28
|
+
}), params.next);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Invite a business member by email, or create a customer member keyed
|
|
32
|
+
* by `external_user_id`; see {@link MemberCreateParams}.
|
|
33
|
+
*/
|
|
34
|
+
create(params) {
|
|
35
|
+
return this.http.request({
|
|
36
|
+
method: "POST",
|
|
37
|
+
path: "/v1/members",
|
|
38
|
+
body: params,
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
get(memberId) {
|
|
42
|
+
return this.http.request({
|
|
43
|
+
method: "GET",
|
|
44
|
+
path: `/v1/members/${encodeURIComponent(memberId)}`,
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Update a member. Only provided fields change; `tags` and `metadata`
|
|
49
|
+
* each replace the stored value wholesale (`[]` / `{}` clear it).
|
|
50
|
+
*/
|
|
51
|
+
update(memberId, params) {
|
|
52
|
+
return this.http.request({
|
|
53
|
+
method: "PATCH",
|
|
54
|
+
path: `/v1/members/${encodeURIComponent(memberId)}`,
|
|
55
|
+
body: params,
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
export function attachMembers(http) {
|
|
60
|
+
return new MembersApi(http);
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=members.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"members.js","sourceRoot":"","sources":["../../src/resources/members.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,EAAa,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAE7D;;;;;;;;;GASG;AACH,MAAM,OAAO,UAAU;IACQ;IAA7B,YAA6B,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAEjD;;;;OAIG;IACH,IAAI,CAAC,SAA2B,EAAE;QAChC,OAAO,cAAc,CACnB,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,IAAI,CAAC,OAAO,CAAoB;YACnC,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,aAAa;YACnB,KAAK,EAAE,EAAE,GAAG,oBAAoB,CAAC,MAAM,CAAC,EAAE,IAAI,EAG7C;SACF,CAAC,EACJ,MAAM,CAAC,IAAI,CACZ,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,MAA0B;QAC/B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAS;YAC/B,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,MAAM;SACb,CAAC,CAAC;IACL,CAAC;IAED,GAAG,CAAC,QAAc;QAChB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAS;YAC/B,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,eAAe,kBAAkB,CAAC,QAAQ,CAAC,EAAE;SACpD,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,QAAc,EAAE,MAA0B;QAC/C,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAS;YAC/B,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,eAAe,kBAAkB,CAAC,QAAQ,CAAC,EAAE;YACnD,IAAI,EAAE,MAAM;SACb,CAAC,CAAC;IACL,CAAC;CACF;AAED,MAAM,UAAU,aAAa,CAAC,IAAgB;IAC5C,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { type Repository, type RepositoryCommit, type RepositoryCommitDetail, type RepositoryCommitPage, type RepositoryCommitsParams, type RepositoryContent, type RepositoryContentGetParams, type RepositoryContentsParams, type RepositoryDirectory, type RepositoryEntry, type RepositoryGetParams, type RepositoryListParams, type RepositoryMerge, type RepositoryMergeParams, type Uuid } from "@introspection-sdk/types";
|
|
2
|
+
import type { HttpClient } from "../http.js";
|
|
3
|
+
import { Paginator } from "../pagination.js";
|
|
4
|
+
/**
|
|
5
|
+
* `client.repositories.contents` — callable to enumerate a directory,
|
|
6
|
+
* with `.get` for one raw read (a directory page or a file).
|
|
7
|
+
*/
|
|
8
|
+
export interface RepositoryContentsApi {
|
|
9
|
+
/**
|
|
10
|
+
* Stream every entry of the directory at `params.path` (the root when
|
|
11
|
+
* omitted), following the server's cursor across pages. `await` it for
|
|
12
|
+
* the first page. Throws a {@link ValidationError} when the path is a file;
|
|
13
|
+
* read files with {@link RepositoryContentsApi.get}.
|
|
14
|
+
*/
|
|
15
|
+
(repositoryId: Uuid, params?: RepositoryContentsParams): Paginator<RepositoryEntry, RepositoryDirectory>;
|
|
16
|
+
/** Read one path: a directory page or a file, discriminated on `type`. */
|
|
17
|
+
get(repositoryId: Uuid, path: string, params?: RepositoryContentGetParams): Promise<RepositoryContent>;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Repositories linked to a project. Lookup is on the CP; `contents`,
|
|
21
|
+
* `commits` and `commit` read through the DP.
|
|
22
|
+
*
|
|
23
|
+
* `GET /v1/repositories` answers a bare array rather than the cursor
|
|
24
|
+
* envelope, so {@link RepositoriesApi.list} returns an array.
|
|
25
|
+
*/
|
|
26
|
+
export declare class RepositoriesApi {
|
|
27
|
+
private readonly cpHttp;
|
|
28
|
+
private readonly dpHttp;
|
|
29
|
+
readonly contents: RepositoryContentsApi;
|
|
30
|
+
constructor(cpHttp: HttpClient, dpHttp: HttpClient);
|
|
31
|
+
/** `GET /v1/repositories?project=…[&slug=…]` — every repository in one array. */
|
|
32
|
+
list(params: RepositoryListParams): Promise<Repository[]>;
|
|
33
|
+
/**
|
|
34
|
+
* Stream the commit history from `params.sha` (the default branch when
|
|
35
|
+
* omitted), following the server's cursor across pages. `await` it for
|
|
36
|
+
* the first page.
|
|
37
|
+
*/
|
|
38
|
+
commits(repositoryId: Uuid, params?: RepositoryCommitsParams): Paginator<RepositoryCommit, RepositoryCommitPage>;
|
|
39
|
+
/** One commit with the files it changed and its unified diff. */
|
|
40
|
+
commit(repositoryId: Uuid, sha: string): Promise<RepositoryCommitDetail>;
|
|
41
|
+
/**
|
|
42
|
+
* `POST /v1/repositories/{id}/merges` — merge `head` into `base`, like
|
|
43
|
+
* GitHub's merges API. Resolves to the merge commit, or `null` when `base`
|
|
44
|
+
* already contains `head`. A conflict throws a `ConflictError`; a `504`
|
|
45
|
+
* means it is still running, and sending the same request again attaches
|
|
46
|
+
* to it.
|
|
47
|
+
*/
|
|
48
|
+
merge(repositoryId: Uuid, params: RepositoryMergeParams): Promise<RepositoryMerge | null>;
|
|
49
|
+
get(repositoryId: Uuid, params: RepositoryGetParams): Promise<Repository>;
|
|
50
|
+
}
|
|
51
|
+
export declare function attachRepositories(cpHttp: HttpClient, dpHttp: HttpClient): RepositoriesApi;
|
|
52
|
+
//# sourceMappingURL=repositories.d.ts.map
|