@introspection-sdk/introspection-node 0.22.0 → 0.31.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.
Files changed (80) hide show
  1. package/README.md +430 -8
  2. package/dist/auth-client.d.ts +182 -0
  3. package/dist/auth-client.d.ts.map +1 -0
  4. package/dist/auth-client.js +402 -0
  5. package/dist/auth-client.js.map +1 -0
  6. package/dist/auth.d.ts +12 -2
  7. package/dist/auth.d.ts.map +1 -1
  8. package/dist/auth.js.map +1 -1
  9. package/dist/client.d.ts +51 -6
  10. package/dist/client.d.ts.map +1 -1
  11. package/dist/client.js +80 -6
  12. package/dist/client.js.map +1 -1
  13. package/dist/data-plane.d.ts +69 -0
  14. package/dist/data-plane.d.ts.map +1 -0
  15. package/dist/data-plane.js +61 -0
  16. package/dist/data-plane.js.map +1 -0
  17. package/dist/http.d.ts +23 -4
  18. package/dist/http.d.ts.map +1 -1
  19. package/dist/http.js +26 -7
  20. package/dist/http.js.map +1 -1
  21. package/dist/index.d.ts +14 -3
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +9 -1
  24. package/dist/index.js.map +1 -1
  25. package/dist/otel/index.d.ts +3 -1
  26. package/dist/otel/index.d.ts.map +1 -1
  27. package/dist/otel/index.js +2 -1
  28. package/dist/otel/index.js.map +1 -1
  29. package/dist/otel/init.d.ts +7 -2
  30. package/dist/otel/init.d.ts.map +1 -1
  31. package/dist/otel/init.js +9 -2
  32. package/dist/otel/init.js.map +1 -1
  33. package/dist/otel/logs.d.ts +23 -6
  34. package/dist/otel/logs.d.ts.map +1 -1
  35. package/dist/otel/logs.js +56 -13
  36. package/dist/otel/logs.js.map +1 -1
  37. package/dist/resources/annotations.d.ts +28 -0
  38. package/dist/resources/annotations.d.ts.map +1 -0
  39. package/dist/resources/annotations.js +198 -0
  40. package/dist/resources/annotations.js.map +1 -0
  41. package/dist/resources/app-connections.d.ts +35 -0
  42. package/dist/resources/app-connections.d.ts.map +1 -0
  43. package/dist/resources/app-connections.js +66 -0
  44. package/dist/resources/app-connections.js.map +1 -0
  45. package/dist/resources/automations.d.ts +5 -0
  46. package/dist/resources/automations.d.ts.map +1 -0
  47. package/dist/resources/automations.js +6 -0
  48. package/dist/resources/automations.js.map +1 -0
  49. package/dist/resources/connectors.d.ts +34 -2
  50. package/dist/resources/connectors.d.ts.map +1 -1
  51. package/dist/resources/connectors.js +53 -1
  52. package/dist/resources/connectors.js.map +1 -1
  53. package/dist/resources/experiments.d.ts +6 -6
  54. package/dist/resources/experiments.d.ts.map +1 -1
  55. package/dist/resources/experiments.js +29 -6
  56. package/dist/resources/experiments.js.map +1 -1
  57. package/dist/resources/members.d.ts +33 -0
  58. package/dist/resources/members.d.ts.map +1 -0
  59. package/dist/resources/members.js +59 -0
  60. package/dist/resources/members.js.map +1 -0
  61. package/dist/resources/repositories.d.ts +52 -0
  62. package/dist/resources/repositories.d.ts.map +1 -0
  63. package/dist/resources/repositories.js +112 -0
  64. package/dist/resources/repositories.js.map +1 -0
  65. package/dist/runner.d.ts +19 -5
  66. package/dist/runner.d.ts.map +1 -1
  67. package/dist/runner.js +18 -3
  68. package/dist/runner.js.map +1 -1
  69. package/dist/types.d.ts +2 -2
  70. package/dist/types.d.ts.map +1 -1
  71. package/dist/types.js +1 -1
  72. package/dist/types.js.map +1 -1
  73. package/dist/utils.d.ts +2 -2
  74. package/dist/utils.d.ts.map +1 -1
  75. package/dist/utils.js +1 -1
  76. package/dist/utils.js.map +1 -1
  77. package/dist/version.d.ts +1 -1
  78. package/dist/version.js +1 -1
  79. package/dist/version.js.map +1 -1
  80. package/package.json +21 -16
@@ -0,0 +1,6 @@
1
+ import { AutomationsApi } from "@introspection-sdk/http";
2
+ export { AutomationsApi };
3
+ export function attachAutomations(http) {
4
+ return new AutomationsApi(http);
5
+ }
6
+ //# sourceMappingURL=automations.js.map
@@ -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, 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,12 +59,37 @@ export declare class ConnectorsApi {
59
59
  * cursor; stop early to stop fetching).
60
60
  */
61
61
  list(params?: ConnectorListParams): Paginator<Connector>;
62
- /** Create a connector. Idempotent on `slug` — a repeat POST returns the live row. */
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>;
66
69
  /** Soft-delete a connector; the server revokes its connections. */
67
70
  delete(connectorId: Uuid): Promise<void>;
71
+ /**
72
+ * Search the provider's application catalogue. Pipedream connectors use
73
+ * the returned slug when minting an application-specific Connect Link.
74
+ */
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>;
68
93
  /**
69
94
  * Mint a consent URL for a connector — the link a Business hands its
70
95
  * customer to connect (e.g. install the Slack app into a workspace).
@@ -75,6 +100,13 @@ export declare class ConnectorsApi {
75
100
  * chat-provider connector (`connector.requires_runtime === true`) 422s
76
101
  * unless `runtime` names the agent that replies.
77
102
  *
103
+ * Pipedream connectors additionally require `app`, selected from
104
+ * {@link listApps}. `allow_progressive_scopes` is optional and defaults to
105
+ * false, matching Pipedream's Connect API.
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
+ *
78
110
  * Passing `params.identity` mints a `customer` member for the asserted
79
111
  * end user, so it can raise a {@link ConflictError} (409) when the org has
80
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,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,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
- /** Create a connector. Idempotent on `slug` — a repeat POST returns the live row. */
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",
@@ -126,6 +129,48 @@ export class ConnectorsApi {
126
129
  expect: "empty",
127
130
  });
128
131
  }
132
+ /**
133
+ * Search the provider's application catalogue. Pipedream connectors use
134
+ * the returned slug when minting an application-specific Connect Link.
135
+ */
136
+ async listApps(connectorId, params = {}) {
137
+ const response = await this.http.request({
138
+ method: "GET",
139
+ path: `/v1/connectors/${encodeURIComponent(connectorId)}/apps`,
140
+ query: params,
141
+ });
142
+ return response.data;
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
+ }
129
174
  /**
130
175
  * Mint a consent URL for a connector — the link a Business hands its
131
176
  * customer to connect (e.g. install the Slack app into a workspace).
@@ -136,6 +181,13 @@ export class ConnectorsApi {
136
181
  * chat-provider connector (`connector.requires_runtime === true`) 422s
137
182
  * unless `runtime` names the agent that replies.
138
183
  *
184
+ * Pipedream connectors additionally require `app`, selected from
185
+ * {@link listApps}. `allow_progressive_scopes` is optional and defaults to
186
+ * false, matching Pipedream's Connect API.
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
+ *
139
191
  * Passing `params.identity` mints a `customer` member for the asserted
140
192
  * end user, so it can raise a {@link ConflictError} (409) when the org has
141
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":"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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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"}
@@ -0,0 +1,33 @@
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
+ /** Invite an operator by email; see {@link MemberCreateParams}. */
24
+ create(params: MemberCreateParams): Promise<Member>;
25
+ get(memberId: Uuid): Promise<Member>;
26
+ /**
27
+ * Update a member. Only provided fields change; `tags` and `metadata`
28
+ * each replace the stored value wholesale (`[]` / `{}` clear it).
29
+ */
30
+ update(memberId: Uuid, params: MemberUpdateParams): Promise<Member>;
31
+ }
32
+ export declare function attachMembers(http: HttpClient): MembersApi;
33
+ //# 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,mEAAmE;IACnE,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,59 @@
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
+ /** Invite an operator by email; see {@link MemberCreateParams}. */
31
+ create(params) {
32
+ return this.http.request({
33
+ method: "POST",
34
+ path: "/v1/members",
35
+ body: params,
36
+ });
37
+ }
38
+ get(memberId) {
39
+ return this.http.request({
40
+ method: "GET",
41
+ path: `/v1/members/${encodeURIComponent(memberId)}`,
42
+ });
43
+ }
44
+ /**
45
+ * Update a member. Only provided fields change; `tags` and `metadata`
46
+ * each replace the stored value wholesale (`[]` / `{}` clear it).
47
+ */
48
+ update(memberId, params) {
49
+ return this.http.request({
50
+ method: "PATCH",
51
+ path: `/v1/members/${encodeURIComponent(memberId)}`,
52
+ body: params,
53
+ });
54
+ }
55
+ }
56
+ export function attachMembers(http) {
57
+ return new MembersApi(http);
58
+ }
59
+ //# 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,mEAAmE;IACnE,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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repositories.d.ts","sourceRoot":"","sources":["../../src/resources/repositories.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,EACtB,KAAK,0BAA0B,EAC/B,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,IAAI,EACV,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAW7C;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;;OAKG;IACH,CACE,YAAY,EAAE,IAAI,EAClB,MAAM,CAAC,EAAE,wBAAwB,GAChC,SAAS,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;IACnD,0EAA0E;IAC1E,GAAG,CACD,YAAY,EAAE,IAAI,EAClB,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,0BAA0B,GAClC,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAC/B;AAED;;;;;;GAMG;AACH,qBAAa,eAAe;IAIxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJzB,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,CAAC;gBAGtB,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,UAAU;IAyCrC,iFAAiF;IACjF,IAAI,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAQzD;;;;OAIG;IACH,OAAO,CACL,YAAY,EAAE,IAAI,EAClB,MAAM,GAAE,uBAA4B,GACnC,SAAS,CAAC,gBAAgB,EAAE,oBAAoB,CAAC;IAapD,iEAAiE;IACjE,MAAM,CAAC,YAAY,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAOxE;;;;;;OAMG;IACG,KAAK,CACT,YAAY,EAAE,IAAI,EAClB,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IASlC,GAAG,CAAC,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC;CAO1E;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,UAAU,GACjB,eAAe,CAEjB"}
@@ -0,0 +1,112 @@
1
+ import { ValidationError, } from "@introspection-sdk/types";
2
+ import { Paginator } from "../pagination.js";
3
+ /** Percent-encode each path segment, keeping `/` as the separator. */
4
+ function contentsPath(repositoryId, path) {
5
+ const base = `/v1/repositories/${encodeURIComponent(repositoryId)}/contents`;
6
+ const segments = path.split("/").filter((segment) => segment.length > 0);
7
+ return segments.length
8
+ ? `${base}/${segments.map(encodeURIComponent).join("/")}`
9
+ : base;
10
+ }
11
+ /**
12
+ * Repositories linked to a project. Lookup is on the CP; `contents`,
13
+ * `commits` and `commit` read through the DP.
14
+ *
15
+ * `GET /v1/repositories` answers a bare array rather than the cursor
16
+ * envelope, so {@link RepositoriesApi.list} returns an array.
17
+ */
18
+ export class RepositoriesApi {
19
+ cpHttp;
20
+ dpHttp;
21
+ contents;
22
+ constructor(cpHttp, dpHttp) {
23
+ this.cpHttp = cpHttp;
24
+ this.dpHttp = dpHttp;
25
+ const get = (repositoryId, path, params = {}) => this.dpHttp.request({
26
+ method: "GET",
27
+ path: contentsPath(repositoryId, path),
28
+ query: { ...params },
29
+ });
30
+ const enumerate = (repositoryId, params = {}) => {
31
+ const path = params.path ?? "";
32
+ return new Paginator({
33
+ fetch: async (cursor) => {
34
+ const content = await get(repositoryId, path, {
35
+ ref: params.ref,
36
+ limit: params.limit,
37
+ cursor,
38
+ });
39
+ if (content.type !== "dir") {
40
+ throw new ValidationError({
41
+ message: `'${content.path}' is a file, not a directory; read it with repositories.contents.get()`,
42
+ status: 422,
43
+ code: "repository_path_is_file",
44
+ body: null,
45
+ });
46
+ }
47
+ return content;
48
+ },
49
+ items: (page) => page.records,
50
+ next: (page) => page.next || undefined,
51
+ });
52
+ };
53
+ this.contents = Object.assign(enumerate, { get });
54
+ }
55
+ /** `GET /v1/repositories?project=…[&slug=…]` — every repository in one array. */
56
+ list(params) {
57
+ return this.cpHttp.request({
58
+ method: "GET",
59
+ path: "/v1/repositories",
60
+ query: { ...params },
61
+ });
62
+ }
63
+ /**
64
+ * Stream the commit history from `params.sha` (the default branch when
65
+ * omitted), following the server's cursor across pages. `await` it for
66
+ * the first page.
67
+ */
68
+ commits(repositoryId, params = {}) {
69
+ return new Paginator({
70
+ fetch: (cursor) => this.dpHttp.request({
71
+ method: "GET",
72
+ path: `/v1/repositories/${encodeURIComponent(repositoryId)}/commits`,
73
+ query: { ...params, cursor },
74
+ }),
75
+ items: (page) => page.records,
76
+ next: (page) => page.next || undefined,
77
+ });
78
+ }
79
+ /** One commit with the files it changed and its unified diff. */
80
+ commit(repositoryId, sha) {
81
+ return this.dpHttp.request({
82
+ method: "GET",
83
+ path: `/v1/repositories/${encodeURIComponent(repositoryId)}/commits/${encodeURIComponent(sha)}`,
84
+ });
85
+ }
86
+ /**
87
+ * `POST /v1/repositories/{id}/merges` — merge `head` into `base`, like
88
+ * GitHub's merges API. Resolves to the merge commit, or `null` when `base`
89
+ * already contains `head`. A conflict throws a `ConflictError`; a `504`
90
+ * means it is still running, and sending the same request again attaches
91
+ * to it.
92
+ */
93
+ async merge(repositoryId, params) {
94
+ const merge = await this.dpHttp.request({
95
+ method: "POST",
96
+ path: `/v1/repositories/${encodeURIComponent(repositoryId)}/merges`,
97
+ body: params,
98
+ });
99
+ return merge ?? null;
100
+ }
101
+ get(repositoryId, params) {
102
+ return this.cpHttp.request({
103
+ method: "GET",
104
+ path: `/v1/repositories/${encodeURIComponent(repositoryId)}`,
105
+ query: { ...params },
106
+ });
107
+ }
108
+ }
109
+ export function attachRepositories(cpHttp, dpHttp) {
110
+ return new RepositoriesApi(cpHttp, dpHttp);
111
+ }
112
+ //# sourceMappingURL=repositories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repositories.js","sourceRoot":"","sources":["../../src/resources/repositories.ts"],"names":[],"mappings":"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"}
package/dist/runner.d.ts CHANGED
@@ -1,5 +1,8 @@
1
1
  import { type RunnerContext, type RunnerDeployment, type RunnerSpec, type RunRequest, type Uuid } from "@introspection-sdk/types";
2
2
  import { ConversationsApi, EventsApi, FilesApi, MetricsApi, SharesApi, TasksApi } from "@introspection-sdk/http";
3
+ import { AutomationsApi } from "./resources/automations.js";
4
+ import { AppConnectionsApi } from "./resources/app-connections.js";
5
+ import type { DataPlaneResources } from "./data-plane.js";
3
6
  import type { IntrospectionClient } from "./client.js";
4
7
  /**
5
8
  * Where this Runner came from, so `refresh()` can call CP again with the
@@ -8,7 +11,7 @@ import type { IntrospectionClient } from "./client.js";
8
11
  */
9
12
  export type RunnerSource = {
10
13
  kind: "runtime";
11
- id: Uuid;
14
+ id: Uuid | string;
12
15
  options?: RunRequest;
13
16
  } | {
14
17
  kind: "experiment";
@@ -18,9 +21,13 @@ export type RunnerSource = {
18
21
  /**
19
22
  * Live handle to a Data Plane sandbox. Holds the bearer JWT, the DP
20
23
  * endpoint URL, and the runtime/experiment context, and exposes the
21
- * runner-bound `tasks`, `files`, `conversations`, `events`, and
22
- * `metrics` namespaces (the telemetry reads are Data-Plane-scoped and so
23
- * hang off the runner, which carries the DP bearer + `events:read`).
24
+ * runner-bound Data Plane namespaces ({@link DataPlaneResources}: `tasks`,
25
+ * `files`, `conversations`, `events`, `metrics`, `shares`, `automations`
26
+ * and `connections`), which send the runner's bearer and use its
27
+ * runtime context.
28
+ *
29
+ * A runner a member opens for themself carries `automations:read` and
30
+ * `automations:write`, so `runner.automations` acts as that member.
24
31
  *
25
32
  * In v1 of the agent-session-based design, token refresh is handled
26
33
  * server-side by the DP materializer attached to the agent session — the
@@ -28,7 +35,7 @@ export type RunnerSource = {
28
35
  * `refresh()` method is kept as a manual escape hatch that re-calls the
29
36
  * CP `/run` route to mint a brand-new spec.
30
37
  */
31
- export declare class Runner {
38
+ export declare class Runner implements DataPlaneResources {
32
39
  private readonly client;
33
40
  private readonly source;
34
41
  private spec;
@@ -40,6 +47,13 @@ export declare class Runner {
40
47
  readonly events: EventsApi;
41
48
  readonly metrics: MetricsApi;
42
49
  readonly shares: SharesApi;
50
+ /** CRUD on `/v1/automations` plus `trigger(id)`, on the runner's token. */
51
+ readonly automations: AutomationsApi;
52
+ /**
53
+ * CRUD on `/v1/connections`. `create` defaults `runtime` to this runner's
54
+ * runtime group.
55
+ */
56
+ readonly connections: AppConnectionsApi;
43
57
  constructor(client: IntrospectionClient, source: RunnerSource, spec: RunnerSpec);
44
58
  /** DP REST base URL the runner is bound to. */
45
59
  get dpEndpoint(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,IAAI,EACV,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,gBAAgB,EAChB,SAAS,EACT,QAAQ,EACR,UAAU,EACV,SAAS,EACT,QAAQ,EACT,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD;;;;GAIG;AACH,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,CAAC,EAAE,UAAU,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,CAAC,EAAE,UAAU,CAAA;CAAE,CAAC;AAE3D;;;;;;;;;;;;GAYG;AACH,qBAAa,MAAM;IAcf,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAdzB,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,MAAM,CAAS;IAGvB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,aAAa,EAAE,gBAAgB,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;gBAGR,MAAM,EAAE,mBAAmB,EAC3B,MAAM,EAAE,YAAY,EACrC,IAAI,EAAE,UAAU;IAclB,+CAA+C;IAC/C,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,oDAAoD;IACpD,IAAI,UAAU,IAAI,QAAQ,CAAC,gBAAgB,CAAC,CAE3C;IAED,0CAA0C;IAC1C,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,iCAAiC;IACjC,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,mEAAmE;IACnE,IAAI,OAAO,IAAI,QAAQ,CAAC,aAAa,CAAC,CAErC;IAED,2CAA2C;IAC3C,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAID;;;;;;;;;OASG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAoB9B;;;;;;OAMG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAM5B,OAAO,CAAC,SAAS;IAUjB;;;;;;;;;OASG;IACH,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,UAAU;YAUJ,gBAAgB;CAgB/B"}
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,IAAI,EACV,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,gBAAgB,EAChB,SAAS,EACT,QAAQ,EACR,UAAU,EACV,SAAS,EACT,QAAQ,EACT,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD;;;;GAIG;AACH,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,EAAE,EAAE,IAAI,GAAG,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,UAAU,CAAA;CAAE,GAC5D;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,CAAC,EAAE,UAAU,CAAA;CAAE,CAAC;AAE3D;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,MAAO,YAAW,kBAAkB;IAqB7C,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IArBzB,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,MAAM,CAAS;IAGvB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,aAAa,EAAE,gBAAgB,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,2EAA2E;IAC3E,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAC;IACrC;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC;gBAGrB,MAAM,EAAE,mBAAmB,EAC3B,MAAM,EAAE,YAAY,EACrC,IAAI,EAAE,UAAU;IAmBlB,+CAA+C;IAC/C,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,oDAAoD;IACpD,IAAI,UAAU,IAAI,QAAQ,CAAC,gBAAgB,CAAC,CAE3C;IAED,0CAA0C;IAC1C,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,iCAAiC;IACjC,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,mEAAmE;IACnE,IAAI,OAAO,IAAI,QAAQ,CAAC,aAAa,CAAC,CAErC;IAED,2CAA2C;IAC3C,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAID;;;;;;;;;OASG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAoB9B;;;;;;OAMG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAM5B,OAAO,CAAC,SAAS;IAUjB;;;;;;;;;OASG;IACH,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,UAAU;YAUJ,gBAAgB;CAgB/B"}