@alpacakit/integrations 0.1.0-beta.30 → 0.1.0-beta.31
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 +5 -0
- package/dist/abortable-http-client.d.ts +17 -0
- package/dist/abortable-http-client.d.ts.map +1 -0
- package/dist/abortable-http-client.js +32 -0
- package/dist/code-hosts/normalize.d.ts.map +1 -1
- package/dist/code-hosts/normalize.js +2 -7
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/repository-ref.d.ts +4 -0
- package/dist/repository-ref.d.ts.map +1 -0
- package/dist/repository-ref.js +9 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -11,3 +11,8 @@ connection settings and projects them back to a repository reference, while
|
|
|
11
11
|
the connection-level `RepositoryHost` finds or creates repositories.
|
|
12
12
|
Repository-scoped issue, pull-request, and file operations remain on
|
|
13
13
|
`Repository`.
|
|
14
|
+
|
|
15
|
+
Hosts that must end outstanding provider I/O explicitly can supply
|
|
16
|
+
`createAbortableHttpClient()` through the runtime's `ports.http` option and
|
|
17
|
+
call `close()` during shutdown. `parseRepositoryRef()` parses the shared
|
|
18
|
+
`owner/name` model, preserving nested owner paths such as GitLab groups.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { HttpClient } from "./ports.js";
|
|
2
|
+
export declare const ABORTABLE_HTTP_CLIENT_CLOSED_MESSAGE = "Integration HTTP client is closed.";
|
|
3
|
+
export interface AbortableHttpClient extends HttpClient {
|
|
4
|
+
/** Aborts every in-flight request and refuses new requests. */
|
|
5
|
+
close(): void;
|
|
6
|
+
readonly isClosed: boolean;
|
|
7
|
+
}
|
|
8
|
+
export type AbortableHttpClientOptions = {
|
|
9
|
+
readonly fetch?: HttpClient["fetch"];
|
|
10
|
+
readonly requestDeadlineMs?: number;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* A host-owned HTTP client whose lifetime can end independently of the
|
|
14
|
+
* integration runtime using it.
|
|
15
|
+
*/
|
|
16
|
+
export declare function createAbortableHttpClient(options?: AbortableHttpClientOptions): AbortableHttpClient;
|
|
17
|
+
//# sourceMappingURL=abortable-http-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abortable-http-client.d.ts","sourceRoot":"","sources":["../src/abortable-http-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,eAAO,MAAM,oCAAoC,uCACX,CAAC;AAEvC,MAAM,WAAW,mBAAoB,SAAQ,UAAU;IACrD,+DAA+D;IAC/D,KAAK,IAAI,IAAI,CAAC;IACd,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IACrC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACrC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,GAAE,0BAA+B,GACvC,mBAAmB,CA6BrB"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export const ABORTABLE_HTTP_CLIENT_CLOSED_MESSAGE = "Integration HTTP client is closed.";
|
|
2
|
+
/**
|
|
3
|
+
* A host-owned HTTP client whose lifetime can end independently of the
|
|
4
|
+
* integration runtime using it.
|
|
5
|
+
*/
|
|
6
|
+
export function createAbortableHttpClient(options = {}) {
|
|
7
|
+
const send = options.fetch ?? globalThis.fetch;
|
|
8
|
+
const lifetime = new AbortController();
|
|
9
|
+
return {
|
|
10
|
+
get isClosed() {
|
|
11
|
+
return lifetime.signal.aborted;
|
|
12
|
+
},
|
|
13
|
+
fetch: async (url, init) => {
|
|
14
|
+
if (lifetime.signal.aborted) {
|
|
15
|
+
throw new Error(ABORTABLE_HTTP_CLIENT_CLOSED_MESSAGE);
|
|
16
|
+
}
|
|
17
|
+
const deadlineSignal = options.requestDeadlineMs === undefined
|
|
18
|
+
? null
|
|
19
|
+
: AbortSignal.timeout(options.requestDeadlineMs);
|
|
20
|
+
const signals = [init?.signal, deadlineSignal, lifetime.signal].filter((signal) => signal !== null && signal !== undefined);
|
|
21
|
+
return await send(url, {
|
|
22
|
+
...init,
|
|
23
|
+
signal: AbortSignal.any(signals),
|
|
24
|
+
});
|
|
25
|
+
},
|
|
26
|
+
close: () => {
|
|
27
|
+
if (lifetime.signal.aborted)
|
|
28
|
+
return;
|
|
29
|
+
lifetime.abort(new Error(ABORTABLE_HTTP_CLIENT_CLOSED_MESSAGE));
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../src/code-hosts/normalize.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,WAAW,EAEjB,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EAEjB,aAAa,EACb,OAAO,EACP,kBAAkB,EAClB,YAAY,EACZ,cAAc,EAEf,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../src/code-hosts/normalize.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,WAAW,EAEjB,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EAEjB,aAAa,EACb,OAAO,EACP,kBAAkB,EAClB,YAAY,EACZ,cAAc,EAEf,MAAM,aAAa,CAAC;AASrB,OAAO,KAAK,EACV,UAAU,EACV,SAAS,EACT,kBAAkB,EAClB,cAAc,EACd,OAAO,EACP,WAAW,EACZ,MAAM,cAAc,CAAC;AAOtB,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1C,CAAC;AAEF,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,WAAW,EAChB,UAAU,EAAE,aAAa,EACzB,UAAU,EAAE,uBAAuB,GAClC,cAAc,CAqBhB;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,CAEzE;AAED,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,UAAU,EACf,MAAM,EAAE,WAAW,EACnB,UAAU,EAAE,YAAY,GACvB,aAAa,CA8Bf;AAED,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,cAAc,EACnB,UAAU,EAAE,aAAa,EACzB,UAAU,EAAE,uBAAuB,GAClC,iBAAiB,CAkCnB;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,SAAS,GAAG,iBAAiB,CASjE;AAED,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,kBAAkB,EACvB,UAAU,EAAE,aAAa,GACxB,kBAAkB,CAapB;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAMnD;AA2CD,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAI3C"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { commentRef, pullRequestRef, workItemRef, } from "../ids.js";
|
|
2
|
+
import { parseRepositoryRef } from "../repository-ref.js";
|
|
2
3
|
import { COMMENT_KIND, COMMENT_SIDE, PULL_REQUEST_STATE, WORK_ITEM_KIND, WORK_ITEM_STATE, } from "../values.js";
|
|
3
4
|
const REVIEW_TYPE_MARKER = "review";
|
|
4
5
|
const DIFF_TYPE_MARKER = "diff";
|
|
@@ -147,13 +148,7 @@ function repositoryFromFullName(value) {
|
|
|
147
148
|
return owner === undefined || name === undefined ? null : { owner, name };
|
|
148
149
|
}
|
|
149
150
|
function repositoryFromPath(value) {
|
|
150
|
-
|
|
151
|
-
return null;
|
|
152
|
-
}
|
|
153
|
-
const separator = value.lastIndexOf("/");
|
|
154
|
-
return separator <= 0 || separator === value.length - 1
|
|
155
|
-
? null
|
|
156
|
-
: { owner: value.slice(0, separator), name: value.slice(separator + 1) };
|
|
151
|
+
return value === null ? null : parseRepositoryRef(value);
|
|
157
152
|
}
|
|
158
153
|
export function isBot(raw) {
|
|
159
154
|
return (raw.type?.toLowerCase() === BOT_TYPE || raw.login.endsWith(BOT_LOGIN_SUFFIX));
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/** Provider-neutral development-management integration runtime. */
|
|
2
|
+
export { ABORTABLE_HTTP_CLIENT_CLOSED_MESSAGE, type AbortableHttpClient, type AbortableHttpClientOptions, createAbortableHttpClient, } from "./abortable-http-client.js";
|
|
2
3
|
export { type AmbientAuthResolver, type Authorization, authorizationHeader, bearerMaterialHandlers, envResolver, type IntegrationAuthBinding, type IntegrationAuthCapability, type IntegrationAuthMaterial, type IntegrationAuthMaterialKind, type IntegrationAuthProfile, type MaterialHandler, type MaterialHandlers, requireSecret, type SecretRef, } from "./auth.js";
|
|
3
4
|
export { createIntegrationDefinitionCatalog, type IntegrationDefinitionCatalog, } from "./catalog.js";
|
|
4
5
|
export { BUILTIN_INTEGRATION_ID, type BuiltinIntegrationId, findGitCredentialScheme, gitCredentialScheme, templatePaths, } from "./code-hosts/builtin.js";
|
|
@@ -13,6 +14,7 @@ export { changeFeedCursor, commentReaction, commentRef, integrationAuthProfileId
|
|
|
13
14
|
export type { DoctorCapability, DoctorCheck, DoctorCheckStatus, IntegrationLoginCapability, IntegrationLoginMethod, LoginContext, LoginEvent, LoginHandle, LoginHandler, LoginOutcome, LoginRequest, LoginRun, } from "./login.js";
|
|
14
15
|
export * from "./model.js";
|
|
15
16
|
export type { Clock, Exec, ExecChunk, ExecExit, ExecProcess, ExecSpawnOptions, HttpClient, HttpTelemetry, IntegrationPorts, Logger, SecretResolver, SecretResolvers, SessionPorts, TelemetrySink, } from "./ports.js";
|
|
17
|
+
export { parseRepositoryRef } from "./repository-ref.js";
|
|
16
18
|
export { type ConnectionCheck, createIntegrationRuntime, type Integration, type IntegrationRuntime, type IntegrationRuntimeOptions, } from "./runtime.js";
|
|
17
19
|
export { createOpaqueCursorCodec } from "./transport/cursor.js";
|
|
18
20
|
export { HttpTransport, type HttpTransportOptions, } from "./transport/http-transport.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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":"AAAA,mEAAmE;AAEnE,OAAO,EACL,oCAAoC,EACpC,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,EAC/B,yBAAyB,GAC1B,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,WAAW,EACX,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,uBAAuB,EAC5B,KAAK,2BAA2B,EAChC,KAAK,sBAAsB,EAC3B,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,aAAa,EACb,KAAK,SAAS,GACf,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,kCAAkC,EAClC,KAAK,4BAA4B,GAClC,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,sBAAsB,EACtB,KAAK,oBAAoB,EACzB,uBAAuB,EACvB,mBAAmB,EACnB,aAAa,GACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,oBAAoB,EACpB,KAAK,aAAa,EAClB,KAAK,GACN,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,qBAAqB,EACrB,KAAK,cAAc,EACnB,MAAM,GACP,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,qBAAqB,EACrB,KAAK,cAAc,EACnB,MAAM,GACP,MAAM,wBAAwB,CAAC;AAChC,YAAY,EACV,cAAc,EACd,2BAA2B,EAC3B,qBAAqB,EACrB,wBAAwB,EACxB,sBAAsB,EACtB,6BAA6B,EAC7B,wBAAwB,GACzB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EACL,mBAAmB,EACnB,KAAK,iBAAiB,EACtB,sBAAsB,EACtB,gBAAgB,EAChB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,kBAAkB,EAClB,mBAAmB,EACnB,KAAK,iBAAiB,GACvB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,gBAAgB,EAChB,eAAe,EACf,UAAU,EACV,wBAAwB,EACxB,uBAAuB,EACvB,aAAa,EACb,YAAY,EACZ,cAAc,EACd,WAAW,GACZ,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,UAAU,EACV,wBAAwB,EACxB,uBAAuB,EACvB,aAAa,EACb,YAAY,EACZ,cAAc,EACd,WAAW,GACZ,MAAM,UAAU,CAAC;AAClB,YAAY,EACV,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,0BAA0B,EAC1B,sBAAsB,EACtB,YAAY,EACZ,UAAU,EACV,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,QAAQ,GACT,MAAM,YAAY,CAAC;AACpB,cAAc,YAAY,CAAC;AAC3B,YAAY,EACV,KAAK,EACL,IAAI,EACJ,SAAS,EACT,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,MAAM,EACN,cAAc,EACd,eAAe,EACf,YAAY,EACZ,aAAa,GACd,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EACL,KAAK,eAAe,EACpB,wBAAwB,EACxB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,GAC/B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EACL,aAAa,EACb,KAAK,oBAAoB,GAC1B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,eAAe,EACf,cAAc,EACd,KAAK,qBAAqB,GAC3B,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,WAAW,EACX,UAAU,EACV,KAAK,EACL,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,EACnB,6BAA6B,EAC7B,YAAY,EACZ,kBAAkB,EAClB,YAAY,EACZ,eAAe,EACf,WAAW,EACX,6BAA6B,EAC7B,8BAA8B,EAC9B,wBAAwB,EACxB,+BAA+B,EAC/B,SAAS,EACT,gBAAgB,EAChB,UAAU,EACV,YAAY,EACZ,kBAAkB,EAClB,YAAY,EACZ,UAAU,EACV,0BAA0B,EAC1B,wCAAwC,EACxC,yBAAyB,EACzB,kBAAkB,EAClB,+BAA+B,EAC/B,eAAe,EACf,cAAc,EACd,qBAAqB,EACrB,sBAAsB,EACtB,eAAe,GAChB,MAAM,aAAa,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/** Provider-neutral development-management integration runtime. */
|
|
2
|
+
export { ABORTABLE_HTTP_CLIENT_CLOSED_MESSAGE, createAbortableHttpClient, } from "./abortable-http-client.js";
|
|
2
3
|
export { authorizationHeader, bearerMaterialHandlers, envResolver, requireSecret, } from "./auth.js";
|
|
3
4
|
export { createIntegrationDefinitionCatalog, } from "./catalog.js";
|
|
4
5
|
export { BUILTIN_INTEGRATION_ID, findGitCredentialScheme, gitCredentialScheme, templatePaths, } from "./code-hosts/builtin.js";
|
|
@@ -9,6 +10,7 @@ export { defineIntegration } from "./definition.js";
|
|
|
9
10
|
export { AUTH_FAILURE_REASON, INTEGRATION_ERROR_CODE, IntegrationError, isIntegrationError, NOT_AVAILABLE_CAUSE, } from "./error.js";
|
|
10
11
|
export { changeFeedCursor, commentReaction, commentRef, integrationAuthProfileId, integrationConnectionId, integrationId, milestoneRef, pullRequestRef, workItemRef, } from "./ids.js";
|
|
11
12
|
export * from "./model.js";
|
|
13
|
+
export { parseRepositoryRef } from "./repository-ref.js";
|
|
12
14
|
export { createIntegrationRuntime, } from "./runtime.js";
|
|
13
15
|
export { createOpaqueCursorCodec } from "./transport/cursor.js";
|
|
14
16
|
export { HttpTransport, } from "./transport/http-transport.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repository-ref.d.ts","sourceRoot":"","sources":["../src/repository-ref.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,4EAA4E;AAC5E,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAOtE"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** Parses a provider-neutral `owner/name` path, including nested owners. */
|
|
2
|
+
export function parseRepositoryRef(input) {
|
|
3
|
+
const separator = input.lastIndexOf("/");
|
|
4
|
+
return separator <= 0 ||
|
|
5
|
+
separator === input.length - 1 ||
|
|
6
|
+
input.includes("//")
|
|
7
|
+
? null
|
|
8
|
+
: { owner: input.slice(0, separator), name: input.slice(separator + 1) };
|
|
9
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alpacakit/integrations",
|
|
3
|
-
"version": "0.1.0-beta.
|
|
3
|
+
"version": "0.1.0-beta.31",
|
|
4
4
|
"description": "Provider-neutral development-management integrations for issues, pull requests, and repositories.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"zod": "^4.3.6",
|
|
40
|
-
"@alpacakit/core": "0.1.0-beta.
|
|
40
|
+
"@alpacakit/core": "0.1.0-beta.31"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
43
|
"typescript": "^5.9.3",
|