@alpacakit/integrations 0.1.0-beta.24 → 0.1.0-beta.25
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 +7 -0
- package/dist/catalog.d.ts +12 -0
- package/dist/catalog.d.ts.map +1 -0
- package/dist/catalog.js +82 -0
- package/dist/code-hosts/account.d.ts.map +1 -1
- package/dist/code-hosts/account.js +4 -1
- package/dist/code-hosts/facets.d.ts +2 -1
- package/dist/code-hosts/facets.d.ts.map +1 -1
- package/dist/code-hosts/facets.js +32 -12
- package/dist/code-hosts/gitea.d.ts.map +1 -1
- package/dist/code-hosts/gitea.js +34 -6
- package/dist/code-hosts/github.d.ts.map +1 -1
- package/dist/code-hosts/github.js +34 -6
- package/dist/code-hosts/gitlab.d.ts.map +1 -1
- package/dist/code-hosts/gitlab.js +32 -8
- package/dist/code-hosts/helpers.js +4 -4
- package/dist/code-hosts/strategy.d.ts +2 -2
- package/dist/code-hosts/strategy.d.ts.map +1 -1
- package/dist/config/index.d.ts +1 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/store.d.ts +2 -2
- package/dist/config/store.d.ts.map +1 -1
- package/dist/config/store.js +79 -1
- package/dist/definition.d.ts +34 -1
- package/dist/definition.d.ts.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/keyring/index.d.ts +1 -1
- package/dist/keyring/index.d.ts.map +1 -1
- package/dist/keyring/resolver.d.ts +1 -0
- package/dist/keyring/resolver.d.ts.map +1 -1
- package/dist/keyring/resolver.js +14 -18
- package/dist/model.d.ts +14 -8
- package/dist/model.d.ts.map +1 -1
- package/dist/runtime.d.ts +6 -4
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +3 -0
- package/dist/testing/contracts.d.ts.map +1 -1
- package/dist/testing/contracts.js +0 -1
- package/dist/values.d.ts +12 -0
- package/dist/values.d.ts.map +1 -1
- package/dist/values.js +12 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -4,3 +4,10 @@ Provider-neutral, import-only TypeScript contracts and HTTP adapters for
|
|
|
4
4
|
development-management services. The root export includes the runtime and the
|
|
5
5
|
built-in GitHub, GitLab, and Gitea definitions. Machine-local config, native
|
|
6
6
|
keyring support, and test fakes are isolated under subpath exports.
|
|
7
|
+
|
|
8
|
+
Repository setup is split into two provider-owned contracts:
|
|
9
|
+
`RepositoryScopeAdapter` applies provider-neutral repository updates to typed
|
|
10
|
+
connection settings and projects them back to a repository reference, while
|
|
11
|
+
the connection-level `RepositoryHost` finds or creates repositories.
|
|
12
|
+
Repository-scoped issue, pull-request, and file operations remain on
|
|
13
|
+
`Repository`.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type JsonObject } from "@alpacakit/core";
|
|
2
|
+
import type { IntegrationDefinition, IntegrationSettingsInput } from "./definition.js";
|
|
3
|
+
import type { IntegrationId } from "./ids.js";
|
|
4
|
+
import type { RepositoryRef } from "./model.js";
|
|
5
|
+
type AnyDefinition = IntegrationDefinition<IntegrationId, any, any>;
|
|
6
|
+
export interface IntegrationDefinitionCatalog {
|
|
7
|
+
resolveSettings(integration: IntegrationId, current: JsonObject | null, input: IntegrationSettingsInput): JsonObject;
|
|
8
|
+
projectRepository(integration: IntegrationId, settings: JsonObject): RepositoryRef;
|
|
9
|
+
}
|
|
10
|
+
export declare function createIntegrationDefinitionCatalog(definitions: readonly AnyDefinition[]): IntegrationDefinitionCatalog;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=catalog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC5E,OAAO,KAAK,EACV,qBAAqB,EACrB,wBAAwB,EACzB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAOhD,KAAK,aAAa,GAAG,qBAAqB,CAAC,aAAa,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAEpE,MAAM,WAAW,4BAA4B;IAC3C,eAAe,CACb,WAAW,EAAE,aAAa,EAC1B,OAAO,EAAE,UAAU,GAAG,IAAI,EAC1B,KAAK,EAAE,wBAAwB,GAC9B,UAAU,CAAC;IACd,iBAAiB,CACf,WAAW,EAAE,aAAa,EAC1B,QAAQ,EAAE,UAAU,GACnB,aAAa,CAAC;CAClB;AAED,wBAAgB,kCAAkC,CAChD,WAAW,EAAE,SAAS,aAAa,EAAE,GACpC,4BAA4B,CAE9B"}
|
package/dist/catalog.js
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { CODEC_DECODE_RESULT_KIND } from "@alpacakit/core";
|
|
2
|
+
import { INTEGRATION_ERROR_CODE, IntegrationError } from "./error.js";
|
|
3
|
+
import { INTEGRATION_SETTINGS_INPUT_KIND, REPOSITORY_SETTINGS_UPDATE_KIND, } from "./values.js";
|
|
4
|
+
export function createIntegrationDefinitionCatalog(definitions) {
|
|
5
|
+
return new DefaultIntegrationDefinitionCatalog(definitions);
|
|
6
|
+
}
|
|
7
|
+
class DefaultIntegrationDefinitionCatalog {
|
|
8
|
+
definitions;
|
|
9
|
+
constructor(definitions) {
|
|
10
|
+
const indexed = new Map();
|
|
11
|
+
for (const definition of definitions) {
|
|
12
|
+
if (indexed.has(definition.id)) {
|
|
13
|
+
throw invalidInput(`Duplicate integration id "${definition.id}"`, `integration id "${definition.id}" registered twice`, definition.id);
|
|
14
|
+
}
|
|
15
|
+
indexed.set(definition.id, definition);
|
|
16
|
+
}
|
|
17
|
+
this.definitions = indexed;
|
|
18
|
+
}
|
|
19
|
+
resolveSettings(id, current, input) {
|
|
20
|
+
const definition = this.requireDefinition(id);
|
|
21
|
+
if (input.kind === INTEGRATION_SETTINGS_INPUT_KIND.raw) {
|
|
22
|
+
this.decodeSettings(definition, input.settings);
|
|
23
|
+
return input.settings;
|
|
24
|
+
}
|
|
25
|
+
const adapter = definition.repositoryScope;
|
|
26
|
+
if (adapter === undefined) {
|
|
27
|
+
throw unsupported(definition.id, "repository settings");
|
|
28
|
+
}
|
|
29
|
+
const currentSettings = current === null ? null : this.decodeSettings(definition, current);
|
|
30
|
+
if (input.update.kind === REPOSITORY_SETTINGS_UPDATE_KIND.baseUrl) {
|
|
31
|
+
if (currentSettings === null) {
|
|
32
|
+
throw invalidInput(`Repository settings are required for integration "${definition.id}"`, "a base URL cannot identify a repository by itself", definition.id);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
const settings = adapter.applySettings({
|
|
36
|
+
current: currentSettings,
|
|
37
|
+
...input.update,
|
|
38
|
+
});
|
|
39
|
+
this.decodeSettings(definition, settings);
|
|
40
|
+
return settings;
|
|
41
|
+
}
|
|
42
|
+
projectRepository(id, settings) {
|
|
43
|
+
const definition = this.requireDefinition(id);
|
|
44
|
+
const adapter = definition.repositoryScope;
|
|
45
|
+
if (adapter === undefined) {
|
|
46
|
+
throw unsupported(definition.id, "repository settings");
|
|
47
|
+
}
|
|
48
|
+
return adapter.projectRepository(this.decodeSettings(definition, settings));
|
|
49
|
+
}
|
|
50
|
+
requireDefinition(id) {
|
|
51
|
+
const definition = this.definitions.get(id);
|
|
52
|
+
if (definition === undefined) {
|
|
53
|
+
throw invalidInput(`Unknown integration id "${id}"`, `no integration registered with id "${id}"`, id);
|
|
54
|
+
}
|
|
55
|
+
return definition;
|
|
56
|
+
}
|
|
57
|
+
decodeSettings(definition, settings) {
|
|
58
|
+
const decoded = definition.settingsCodec.decode(settings);
|
|
59
|
+
if (decoded.kind === CODEC_DECODE_RESULT_KIND.invalid) {
|
|
60
|
+
throw invalidInput(`Invalid settings for integration "${definition.id}"`, decoded.issues.join("; "), definition.id);
|
|
61
|
+
}
|
|
62
|
+
return decoded.value;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
function invalidInput(message, reason, integrationId) {
|
|
66
|
+
return new IntegrationError({
|
|
67
|
+
code: INTEGRATION_ERROR_CODE.invalidInput,
|
|
68
|
+
message,
|
|
69
|
+
data: { reason },
|
|
70
|
+
integrationId,
|
|
71
|
+
connectionId: null,
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
function unsupported(integrationId, operation) {
|
|
75
|
+
return new IntegrationError({
|
|
76
|
+
code: INTEGRATION_ERROR_CODE.unsupported,
|
|
77
|
+
message: `Integration "${integrationId}" does not support ${operation}`,
|
|
78
|
+
data: { operation },
|
|
79
|
+
integrationId,
|
|
80
|
+
connectionId: null,
|
|
81
|
+
});
|
|
82
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../src/code-hosts/account.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,OAAO,EAEP,cAAc,EAEf,MAAM,aAAa,CAAC;AAGrB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,EACL,KAAK,aAAa,EAInB,MAAM,cAAc,CAAC;AAStB,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAEvE;
|
|
1
|
+
{"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../src/code-hosts/account.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,OAAO,EAEP,cAAc,EAEf,MAAM,aAAa,CAAC;AAGrB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,EACL,KAAK,aAAa,EAInB,MAAM,cAAc,CAAC;AAStB,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAEvE;AAyGD,wBAAgB,WAAW,CACzB,UAAU,EAAE,aAAa,EACzB,QAAQ,EAAE,cAAc,CAAC,WAAW,CAAC,GACpC,cAAc,CAAC,WAAW,CAAC,CAO7B"}
|
|
@@ -67,7 +67,10 @@ class CodeHostAccount {
|
|
|
67
67
|
if (this.repositoryRequest !== null) {
|
|
68
68
|
return this.repositoryRequest;
|
|
69
69
|
}
|
|
70
|
-
const pending = this.session.transport.request(this.session.strategy.paths.repository(
|
|
70
|
+
const pending = this.session.transport.request(this.session.strategy.paths.repository({
|
|
71
|
+
owner: this.session.strategy.scope.owner,
|
|
72
|
+
name: this.session.strategy.scope.repository,
|
|
73
|
+
}), rawRepositoryCodec);
|
|
71
74
|
this.repositoryRequest = pending;
|
|
72
75
|
void pending.catch(() => {
|
|
73
76
|
if (this.repositoryRequest === pending) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { DoctorCheck } from "../login.js";
|
|
2
|
-
import type { Repository, WorkItems } from "../model.js";
|
|
2
|
+
import type { Repository, RepositoryHost, WorkItems } from "../model.js";
|
|
3
3
|
import type { HttpTransport } from "../transport/http-transport.js";
|
|
4
4
|
import { type CodeHostStrategy } from "./strategy.js";
|
|
5
5
|
export { createCodeHostAccount } from "./account.js";
|
|
@@ -9,5 +9,6 @@ export type CodeHostSession = {
|
|
|
9
9
|
};
|
|
10
10
|
export declare function createCodeHostWorkItems(session: CodeHostSession): WorkItems;
|
|
11
11
|
export declare function createCodeHostRepository(session: CodeHostSession): Repository;
|
|
12
|
+
export declare function createCodeHostRepositoryHost(session: CodeHostSession): RepositoryHost;
|
|
12
13
|
export declare function probeCodeHostDoctor(session: CodeHostSession): Promise<DoctorCheck[]>;
|
|
13
14
|
//# sourceMappingURL=facets.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"facets.d.ts","sourceRoot":"","sources":["../../src/code-hosts/facets.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"facets.d.ts","sourceRoot":"","sources":["../../src/code-hosts/facets.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAQV,UAAU,EACV,cAAc,EAKd,SAAS,EACV,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAuCpE,OAAO,EAEL,KAAK,gBAAgB,EAGtB,MAAM,eAAe,CAAC;AAavB,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAqBrD,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;CACrC,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,eAAe,GAAG,SAAS,CA0I3E;AAiKD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,eAAe,GAAG,UAAU,CAoE7E;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,eAAe,GACvB,cAAc,CAwChB;AA0ID,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,WAAW,EAAE,CAAC,CAgExB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { INTEGRATION_ERROR_CODE, IntegrationError, isIntegrationError, withIntegrationIdentity, } from "../error.js";
|
|
2
2
|
import { commentReaction, } from "../ids.js";
|
|
3
3
|
import { collectPaginated } from "../transport/collect.js";
|
|
4
|
-
import { DOCTOR_CHECK_STATUS, PULL_REQUEST_REVIEW_CONTEXT_AVAILABILITY, WORK_ITEM_KIND, WORK_ITEM_QUERY_STATE, WORK_ITEM_STATE, } from "../values.js";
|
|
4
|
+
import { DOCTOR_CHECK_STATUS, ENSURE_REPOSITORY_RESULT_KIND, PULL_REQUEST_REVIEW_CONTEXT_AVAILABILITY, WORK_ITEM_KIND, WORK_ITEM_QUERY_STATE, WORK_ITEM_STATE, } from "../values.js";
|
|
5
5
|
import { ownerKindOf } from "./account.js";
|
|
6
6
|
import { commentIdentity } from "./helpers.js";
|
|
7
7
|
import { normalizeComment, normalizeCommit, normalizePullRequest, normalizeWorkItem, } from "./normalize.js";
|
|
@@ -220,7 +220,7 @@ export function createCodeHostRepository(session) {
|
|
|
220
220
|
const ensureLinkedBranch = strategy.ensureLinkedBranch;
|
|
221
221
|
return {
|
|
222
222
|
info: async () => {
|
|
223
|
-
const raw = await transport.request(strategy.paths.repository(), rawRepositoryCodec);
|
|
223
|
+
const raw = await transport.request(strategy.paths.repository(repository), rawRepositoryCodec);
|
|
224
224
|
return {
|
|
225
225
|
ref: repository,
|
|
226
226
|
defaultBranch: raw.defaultBranch,
|
|
@@ -258,17 +258,37 @@ export function createCodeHostRepository(session) {
|
|
|
258
258
|
: {
|
|
259
259
|
ensure: async (workItem, branch) => await ensureLinkedBranch(transport, refNumber(workItem), branch),
|
|
260
260
|
},
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
261
|
+
};
|
|
262
|
+
}
|
|
263
|
+
export function createCodeHostRepositoryHost(session) {
|
|
264
|
+
const { transport, strategy } = session;
|
|
265
|
+
const normalizeRepository = (raw, ref) => ({
|
|
266
|
+
ref,
|
|
267
|
+
defaultBranch: raw.defaultBranch,
|
|
268
|
+
url: raw.url,
|
|
269
|
+
isPrivate: raw.isPrivate,
|
|
270
|
+
ownerKind: ownerKindOf(raw, strategy.ownerKind),
|
|
271
|
+
});
|
|
272
|
+
const find = async (ref) => {
|
|
273
|
+
const raw = await transport.requestOptional(strategy.paths.repository(ref), rawRepositoryCodec);
|
|
274
|
+
return raw === null ? null : normalizeRepository(raw, ref);
|
|
275
|
+
};
|
|
276
|
+
return {
|
|
277
|
+
find,
|
|
278
|
+
ensure: async (input) => {
|
|
279
|
+
const { ref } = input;
|
|
280
|
+
const existing = await find(ref);
|
|
281
|
+
if (existing !== null) {
|
|
264
282
|
return {
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
url: raw.url,
|
|
268
|
-
isPrivate: raw.isPrivate,
|
|
269
|
-
ownerKind: ownerKindOf(raw, strategy.ownerKind),
|
|
283
|
+
kind: ENSURE_REPOSITORY_RESULT_KIND.existing,
|
|
284
|
+
repository: existing,
|
|
270
285
|
};
|
|
271
|
-
}
|
|
286
|
+
}
|
|
287
|
+
const raw = await transport.request(await strategy.provisionRequest(transport, input), rawRepositoryCodec);
|
|
288
|
+
return {
|
|
289
|
+
kind: ENSURE_REPOSITORY_RESULT_KIND.created,
|
|
290
|
+
repository: normalizeRepository(raw, ref),
|
|
291
|
+
};
|
|
272
292
|
},
|
|
273
293
|
};
|
|
274
294
|
}
|
|
@@ -364,7 +384,7 @@ function createPullRequests(session, normalizePr, getByRef) {
|
|
|
364
384
|
export async function probeCodeHostDoctor(session) {
|
|
365
385
|
const checks = [];
|
|
366
386
|
try {
|
|
367
|
-
await session.transport.request(session.strategy.paths.repository(), rawRepositoryCodec);
|
|
387
|
+
await session.transport.request(session.strategy.paths.repository(normalizationRepository(session.strategy)), rawRepositoryCodec);
|
|
368
388
|
checks.push({
|
|
369
389
|
id: DOCTOR_CHECK_ID.reachable,
|
|
370
390
|
status: DOCTOR_CHECK_STATUS.ok,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitea.d.ts","sourceRoot":"","sources":["../../src/code-hosts/gitea.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"gitea.d.ts","sourceRoot":"","sources":["../../src/code-hosts/gitea.ts"],"names":[],"mappings":"AAiCA,OAAO,EACL,KAAK,eAAe,EAMrB,MAAM,aAAa,CAAC;AA2BrB,eAAO,MAAM,oBAAoB,2DAAyB,CAAC;AAO3D,eAAO,MAAM,oBAAoB,6DAGvB,CAAC;AACX,eAAO,MAAM,2BAA2B;;;CAGA,CAAC;AAEzC,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B,CAAC;AAwBF,wBAAgB,KAAK,gJAuDpB"}
|
package/dist/code-hosts/gitea.js
CHANGED
|
@@ -8,8 +8,8 @@ import { integrationId } from "../ids.js";
|
|
|
8
8
|
import { collectPaginated } from "../transport/collect.js";
|
|
9
9
|
import { HttpTransport } from "../transport/http-transport.js";
|
|
10
10
|
import { LinkHeaderPager } from "../transport/pager.js";
|
|
11
|
-
import { AUTHORIZATION_SCHEME, GIT_PROTOCOL, HTTP_METHOD, MERGE_METHOD, OWNER_KIND, PULL_REQUEST_STATE, WORK_ITEM_KIND, WORK_ITEM_QUERY_STATE, WORK_ITEM_STATE, } from "../values.js";
|
|
12
|
-
import { createCodeHostAccount, createCodeHostRepository, createCodeHostWorkItems, probeCodeHostDoctor, } from "./facets.js";
|
|
11
|
+
import { AUTHORIZATION_SCHEME, GIT_PROTOCOL, HTTP_METHOD, MERGE_METHOD, OWNER_KIND, PULL_REQUEST_STATE, REPOSITORY_SETTINGS_UPDATE_KIND, WORK_ITEM_KIND, WORK_ITEM_QUERY_STATE, WORK_ITEM_STATE, } from "../values.js";
|
|
12
|
+
import { createCodeHostAccount, createCodeHostRepository, createCodeHostRepositoryHost, createCodeHostWorkItems, probeCodeHostDoctor, } from "./facets.js";
|
|
13
13
|
import { projectGiteaPullRequestStatus, readGiteaPullRequest, readGiteaPullRequestReviews, readGiteaPullRequestSnapshot, } from "./gitea-pull-request-snapshot.js";
|
|
14
14
|
import { ambientToken, matchesRemote, orgOrUserRepositoryRequest, } from "./helpers.js";
|
|
15
15
|
import { normalizeDependencyIssue } from "./normalize.js";
|
|
@@ -34,8 +34,14 @@ export const GITEA_GIT_CREDENTIAL_SCHEME = {
|
|
|
34
34
|
};
|
|
35
35
|
const settingsSchema = z
|
|
36
36
|
.object({
|
|
37
|
-
owner: z
|
|
38
|
-
|
|
37
|
+
owner: z
|
|
38
|
+
.string()
|
|
39
|
+
.min(1)
|
|
40
|
+
.regex(/^[^/]+$/),
|
|
41
|
+
repository: z
|
|
42
|
+
.string()
|
|
43
|
+
.min(1)
|
|
44
|
+
.regex(/^[^/]+$/),
|
|
39
45
|
baseUrl: z.string().url(),
|
|
40
46
|
})
|
|
41
47
|
.strict()
|
|
@@ -49,6 +55,27 @@ export function gitea() {
|
|
|
49
55
|
id: GITEA_INTEGRATION_ID,
|
|
50
56
|
settingsCodec: createSchemaRuntimeCodec(settingsSchema),
|
|
51
57
|
remoteMatch: (remoteUrl, settings) => matchesRemote(remoteUrl, new URL(settings.baseUrl).hostname, `${settings.owner}/${settings.repository}`),
|
|
58
|
+
repositoryScope: {
|
|
59
|
+
applySettings: (input) => {
|
|
60
|
+
if (input.kind === REPOSITORY_SETTINGS_UPDATE_KIND.baseUrl) {
|
|
61
|
+
return {
|
|
62
|
+
owner: input.current.owner,
|
|
63
|
+
repository: input.current.repository,
|
|
64
|
+
baseUrl: input.baseUrl,
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
const baseUrl = input.baseUrl ?? input.current?.baseUrl;
|
|
68
|
+
return {
|
|
69
|
+
owner: input.repository.owner,
|
|
70
|
+
repository: input.repository.name,
|
|
71
|
+
...(baseUrl === undefined ? {} : { baseUrl }),
|
|
72
|
+
};
|
|
73
|
+
},
|
|
74
|
+
projectRepository: (settings) => ({
|
|
75
|
+
owner: settings.owner,
|
|
76
|
+
name: settings.repository,
|
|
77
|
+
}),
|
|
78
|
+
},
|
|
52
79
|
auth: {
|
|
53
80
|
materials: bearerMaterialHandlers(),
|
|
54
81
|
ambient: async (env, exec) => await ambientToken({
|
|
@@ -65,6 +92,7 @@ export function gitea() {
|
|
|
65
92
|
connect: async ({ settings, authorization, ports, connectionId }) => createGiteaSession(settings, authorization, ports, connectionId),
|
|
66
93
|
workItems: createCodeHostWorkItems,
|
|
67
94
|
repository: createCodeHostRepository,
|
|
95
|
+
repositoryHost: createCodeHostRepositoryHost,
|
|
68
96
|
account: createCodeHostAccount,
|
|
69
97
|
});
|
|
70
98
|
}
|
|
@@ -163,9 +191,9 @@ function giteaStrategy(settings) {
|
|
|
163
191
|
});
|
|
164
192
|
},
|
|
165
193
|
paths: {
|
|
166
|
-
repository: () => ({
|
|
194
|
+
repository: (ref) => ({
|
|
167
195
|
method: HTTP_METHOD.get,
|
|
168
|
-
path:
|
|
196
|
+
path: `/repos/${encodeURIComponent(ref.owner)}/${encodeURIComponent(ref.name)}`,
|
|
169
197
|
resource: CODE_HOST_RESOURCE.repository,
|
|
170
198
|
}),
|
|
171
199
|
workItemWebUrl: (number) => `${webBaseUrl}/issues/${number}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../src/code-hosts/github.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../src/code-hosts/github.ts"],"names":[],"mappings":"AAkCA,OAAO,EACL,KAAK,eAAe,EAMrB,MAAM,aAAa,CAAC;AAuBrB,eAAO,MAAM,qBAAqB,4DAA0B,CAAC;AA8B7D,eAAO,MAAM,qBAAqB,qCAAsC,CAAC;AACzE,eAAO,MAAM,4BAA4B;;;CAGD,CAAC;AAEzC,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B,CAAC;AA0IF,wBAAgB,MAAM,kJAkErB"}
|
|
@@ -8,8 +8,8 @@ import { integrationId } from "../ids.js";
|
|
|
8
8
|
import { collectPaginated } from "../transport/collect.js";
|
|
9
9
|
import { HttpTransport } from "../transport/http-transport.js";
|
|
10
10
|
import { LinkHeaderPager } from "../transport/pager.js";
|
|
11
|
-
import { AUTHORIZATION_SCHEME, COMMENT_KIND, GIT_PROTOCOL, HTTP_METHOD, MERGE_METHOD, MERGE_STATE_STATUS, MERGEABILITY, OWNER_KIND, PULL_REQUEST_STATE, REVIEW_DECISION, WORK_ITEM_QUERY_STATE, WORK_ITEM_STATE, } from "../values.js";
|
|
12
|
-
import { createCodeHostAccount, createCodeHostRepository, createCodeHostWorkItems, probeCodeHostDoctor, } from "./facets.js";
|
|
11
|
+
import { AUTHORIZATION_SCHEME, COMMENT_KIND, GIT_PROTOCOL, HTTP_METHOD, MERGE_METHOD, MERGE_STATE_STATUS, MERGEABILITY, OWNER_KIND, PULL_REQUEST_STATE, REPOSITORY_SETTINGS_UPDATE_KIND, REVIEW_DECISION, WORK_ITEM_QUERY_STATE, WORK_ITEM_STATE, } from "../values.js";
|
|
12
|
+
import { createCodeHostAccount, createCodeHostRepository, createCodeHostRepositoryHost, createCodeHostWorkItems, probeCodeHostDoctor, } from "./facets.js";
|
|
13
13
|
import { githubDeviceLogin } from "./github-login.js";
|
|
14
14
|
import { ambientToken, matchesRemote, orgOrUserRepositoryRequest, } from "./helpers.js";
|
|
15
15
|
import { normalizeDependencyIssue } from "./normalize.js";
|
|
@@ -51,8 +51,14 @@ export const GITHUB_GIT_CREDENTIAL_SCHEME = {
|
|
|
51
51
|
};
|
|
52
52
|
const githubSettingsSchema = z
|
|
53
53
|
.object({
|
|
54
|
-
owner: z
|
|
55
|
-
|
|
54
|
+
owner: z
|
|
55
|
+
.string()
|
|
56
|
+
.min(1)
|
|
57
|
+
.regex(/^[^/]+$/),
|
|
58
|
+
repository: z
|
|
59
|
+
.string()
|
|
60
|
+
.min(1)
|
|
61
|
+
.regex(/^[^/]+$/),
|
|
56
62
|
baseUrl: z.string().url().optional(),
|
|
57
63
|
})
|
|
58
64
|
.strict()
|
|
@@ -170,6 +176,27 @@ export function github() {
|
|
|
170
176
|
: base.hostname.replace(/^api\./, "");
|
|
171
177
|
return matchesRemote(remoteUrl, host, `${settings.owner}/${settings.repository}`);
|
|
172
178
|
},
|
|
179
|
+
repositoryScope: {
|
|
180
|
+
applySettings: (input) => {
|
|
181
|
+
if (input.kind === REPOSITORY_SETTINGS_UPDATE_KIND.baseUrl) {
|
|
182
|
+
return {
|
|
183
|
+
owner: input.current.owner,
|
|
184
|
+
repository: input.current.repository,
|
|
185
|
+
baseUrl: input.baseUrl,
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
const baseUrl = input.baseUrl ?? input.current?.baseUrl;
|
|
189
|
+
return {
|
|
190
|
+
owner: input.repository.owner,
|
|
191
|
+
repository: input.repository.name,
|
|
192
|
+
...(baseUrl === undefined ? {} : { baseUrl }),
|
|
193
|
+
};
|
|
194
|
+
},
|
|
195
|
+
projectRepository: (settings) => ({
|
|
196
|
+
owner: settings.owner,
|
|
197
|
+
name: settings.repository,
|
|
198
|
+
}),
|
|
199
|
+
},
|
|
173
200
|
auth: {
|
|
174
201
|
materials: bearerMaterialHandlers(),
|
|
175
202
|
ambient: async (env, exec) => await ambientToken({
|
|
@@ -191,6 +218,7 @@ export function github() {
|
|
|
191
218
|
connect: async ({ settings, authorization, ports, connectionId }) => createGitHubSession(settings, authorization, ports, connectionId),
|
|
192
219
|
workItems: createCodeHostWorkItems,
|
|
193
220
|
repository: createCodeHostRepository,
|
|
221
|
+
repositoryHost: createCodeHostRepositoryHost,
|
|
194
222
|
account: createCodeHostAccount,
|
|
195
223
|
});
|
|
196
224
|
}
|
|
@@ -426,9 +454,9 @@ function githubStrategy(settings) {
|
|
|
426
454
|
});
|
|
427
455
|
},
|
|
428
456
|
paths: {
|
|
429
|
-
repository: () => ({
|
|
457
|
+
repository: (ref) => ({
|
|
430
458
|
method: HTTP_METHOD.get,
|
|
431
|
-
path:
|
|
459
|
+
path: `/repos/${encodeURIComponent(ref.owner)}/${encodeURIComponent(ref.name)}`,
|
|
432
460
|
resource: CODE_HOST_RESOURCE.repository,
|
|
433
461
|
}),
|
|
434
462
|
workItemWebUrl: (number) => `${webBaseUrl}/issues/${number}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitlab.d.ts","sourceRoot":"","sources":["../../src/code-hosts/gitlab.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"gitlab.d.ts","sourceRoot":"","sources":["../../src/code-hosts/gitlab.ts"],"names":[],"mappings":"AA4CA,OAAO,EACL,KAAK,eAAe,EAMrB,MAAM,aAAa,CAAC;AA4BrB,eAAO,MAAM,qBAAqB,4DAA0B,CAAC;AA8B7D,eAAO,MAAM,qBAAqB,sCAAuC,CAAC;AAC1E,eAAO,MAAM,4BAA4B;;;CAGD,CAAC;AAEzC,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B,CAAC;AA2BF,wBAAgB,MAAM,kJAkErB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// biome-ignore-all lint/style/useNamingConvention: Provider request fields intentionally
|
|
1
|
+
// biome-ignore-all lint/style/useNamingConvention lint/nursery/noExcessiveLinesPerFile: Provider request fields and endpoint strategy intentionally stay provider-shaped.
|
|
2
2
|
import { createSchemaRuntimeCodec } from "@alpacakit/core";
|
|
3
3
|
import { z } from "zod";
|
|
4
4
|
import { bearerMaterialHandlers } from "../auth.js";
|
|
@@ -9,8 +9,8 @@ import { collectPaginated } from "../transport/collect.js";
|
|
|
9
9
|
import { createOpaqueCursorCodec } from "../transport/cursor.js";
|
|
10
10
|
import { HttpTransport } from "../transport/http-transport.js";
|
|
11
11
|
import { PageParamPager } from "../transport/pager.js";
|
|
12
|
-
import { AUTHORIZATION_SCHEME, GIT_PROTOCOL, HTTP_METHOD, MERGE_METHOD, MERGE_STATE_STATUS, MERGEABILITY, OWNER_KIND, PULL_REQUEST_STATE, REVIEW_DECISION, WORK_ITEM_KIND, WORK_ITEM_QUERY_STATE, WORK_ITEM_STATE, } from "../values.js";
|
|
13
|
-
import { createCodeHostAccount, createCodeHostRepository, createCodeHostWorkItems, probeCodeHostDoctor, } from "./facets.js";
|
|
12
|
+
import { AUTHORIZATION_SCHEME, GIT_PROTOCOL, HTTP_METHOD, MERGE_METHOD, MERGE_STATE_STATUS, MERGEABILITY, OWNER_KIND, PULL_REQUEST_STATE, REPOSITORY_SETTINGS_UPDATE_KIND, REVIEW_DECISION, WORK_ITEM_KIND, WORK_ITEM_QUERY_STATE, WORK_ITEM_STATE, } from "../values.js";
|
|
13
|
+
import { createCodeHostAccount, createCodeHostRepository, createCodeHostRepositoryHost, createCodeHostWorkItems, probeCodeHostDoctor, } from "./facets.js";
|
|
14
14
|
import { createGitLabIssueLabelChangeRequests, createGitLabLabelCreateRequest, } from "./gitlab-label-requests.js";
|
|
15
15
|
import { gitLabDeviceLogin } from "./gitlab-login.js";
|
|
16
16
|
import { ambientToken, matchesRemote } from "./helpers.js";
|
|
@@ -76,6 +76,29 @@ export function gitlab() {
|
|
|
76
76
|
id: GITLAB_INTEGRATION_ID,
|
|
77
77
|
settingsCodec: createSchemaRuntimeCodec(settingsSchema),
|
|
78
78
|
remoteMatch: (remoteUrl, settings) => matchesRemote(remoteUrl, new URL(settings.baseUrl).hostname, settings.project),
|
|
79
|
+
repositoryScope: {
|
|
80
|
+
applySettings: (input) => {
|
|
81
|
+
if (input.kind === REPOSITORY_SETTINGS_UPDATE_KIND.baseUrl) {
|
|
82
|
+
return {
|
|
83
|
+
project: input.current.project,
|
|
84
|
+
baseUrl: input.baseUrl,
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
const project = `${input.repository.owner}/${input.repository.name}`;
|
|
88
|
+
const baseUrl = input.baseUrl ?? input.current?.baseUrl;
|
|
89
|
+
return {
|
|
90
|
+
project,
|
|
91
|
+
...(baseUrl === undefined ? {} : { baseUrl }),
|
|
92
|
+
};
|
|
93
|
+
},
|
|
94
|
+
projectRepository: (settings) => {
|
|
95
|
+
const parts = settings.project.split("/");
|
|
96
|
+
return {
|
|
97
|
+
owner: parts.slice(0, -1).join("/"),
|
|
98
|
+
name: parts.at(-1) ?? settings.project,
|
|
99
|
+
};
|
|
100
|
+
},
|
|
101
|
+
},
|
|
79
102
|
auth: {
|
|
80
103
|
materials: bearerMaterialHandlers(),
|
|
81
104
|
ambient: async (env, exec) => await ambientToken({
|
|
@@ -97,6 +120,7 @@ export function gitlab() {
|
|
|
97
120
|
connect: async ({ settings, authorization, ports, connectionId }) => createGitLabSession(settings, authorization, ports, connectionId),
|
|
98
121
|
workItems: createCodeHostWorkItems,
|
|
99
122
|
repository: createCodeHostRepository,
|
|
123
|
+
repositoryHost: createCodeHostRepositoryHost,
|
|
100
124
|
account: createCodeHostAccount,
|
|
101
125
|
});
|
|
102
126
|
}
|
|
@@ -285,16 +309,16 @@ function gitLabStrategy(settings) {
|
|
|
285
309
|
provisionRequest: async (transport, input) => {
|
|
286
310
|
const namespace = await transport.request({
|
|
287
311
|
method: HTTP_METHOD.get,
|
|
288
|
-
path: `/namespaces/${encodeURIComponent(input.owner)}`,
|
|
312
|
+
path: `/namespaces/${encodeURIComponent(input.ref.owner)}`,
|
|
289
313
|
resource: CODE_HOST_RESOURCE.namespace,
|
|
290
314
|
}, rawGitLabNamespaceCodec);
|
|
291
315
|
return {
|
|
292
316
|
method: HTTP_METHOD.post,
|
|
293
317
|
path: "/projects",
|
|
294
318
|
body: {
|
|
295
|
-
name: input.name,
|
|
319
|
+
name: input.ref.name,
|
|
296
320
|
namespace_id: namespace.id,
|
|
297
|
-
visibility: input.
|
|
321
|
+
visibility: input.isPrivate === false
|
|
298
322
|
? GITLAB_VISIBILITY.public
|
|
299
323
|
: GITLAB_VISIBILITY.private,
|
|
300
324
|
description: input.description ?? "",
|
|
@@ -345,9 +369,9 @@ function gitLabStrategy(settings) {
|
|
|
345
369
|
});
|
|
346
370
|
},
|
|
347
371
|
paths: {
|
|
348
|
-
repository: () => ({
|
|
372
|
+
repository: (ref) => ({
|
|
349
373
|
method: HTTP_METHOD.get,
|
|
350
|
-
path:
|
|
374
|
+
path: `/projects/${encodeURIComponent(`${ref.owner}/${ref.name}`)}`,
|
|
351
375
|
resource: CODE_HOST_RESOURCE.repository,
|
|
352
376
|
}),
|
|
353
377
|
workItemWebUrl: (number) => `${webBaseUrl}/-/issues/${number}`,
|
|
@@ -61,12 +61,12 @@ export async function orgOrUserRepositoryRequest(transport, input) {
|
|
|
61
61
|
}, rawViewerCodec);
|
|
62
62
|
return {
|
|
63
63
|
method: HTTP_METHOD.post,
|
|
64
|
-
path: viewer.login === input.owner
|
|
64
|
+
path: viewer.login === input.ref.owner
|
|
65
65
|
? "/user/repos"
|
|
66
|
-
: `/orgs/${encodeURIComponent(input.owner)}/repos`,
|
|
66
|
+
: `/orgs/${encodeURIComponent(input.ref.owner)}/repos`,
|
|
67
67
|
body: {
|
|
68
|
-
name: input.name,
|
|
69
|
-
private: input.
|
|
68
|
+
name: input.ref.name,
|
|
69
|
+
private: input.isPrivate,
|
|
70
70
|
description: input.description ?? "",
|
|
71
71
|
},
|
|
72
72
|
resource: CODE_HOST_RESOURCE.repository,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ChangeFeedCursor, CommentReaction } from "../ids.js";
|
|
2
|
-
import type { ChangeFeedPage, CommentKind, CreateLabelInput, CreatePullRequestInput, CreateWorkItemInput, EnsureRepositoryInput, MergeMethod, OwnerKind, PatchWorkItemInput, PullRequestIdentity, PullRequestReviewContext, PullRequestStatus, WorkItemLabels, WorkItemListQuery, WorkItemRelations, WorkItemSearchQuery } from "../model.js";
|
|
2
|
+
import type { ChangeFeedPage, CommentKind, CreateLabelInput, CreatePullRequestInput, CreateWorkItemInput, EnsureRepositoryInput, MergeMethod, OwnerKind, PatchWorkItemInput, PullRequestIdentity, PullRequestReviewContext, PullRequestStatus, RepositoryRef, WorkItemLabels, WorkItemListQuery, WorkItemRelations, WorkItemSearchQuery } from "../model.js";
|
|
3
3
|
import type { HttpTransport } from "../transport/http-transport.js";
|
|
4
4
|
import type { CursorCodec, Pager, RequestSpec } from "../transport/types.js";
|
|
5
5
|
import type { NormalizationVocabulary } from "./normalize.js";
|
|
@@ -12,7 +12,7 @@ export type CodeHostScope = {
|
|
|
12
12
|
readonly apiBaseUrl: string;
|
|
13
13
|
};
|
|
14
14
|
export type CodeHostPaths = {
|
|
15
|
-
readonly repository: () => RequestSpec;
|
|
15
|
+
readonly repository: (ref: RepositoryRef) => RequestSpec;
|
|
16
16
|
readonly workItems: {
|
|
17
17
|
readonly get: (number: string) => RequestSpec;
|
|
18
18
|
readonly list: (query: WorkItemListQuery) => RequestSpec;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strategy.d.ts","sourceRoot":"","sources":["../../src/code-hosts/strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACnE,OAAO,KAAK,EACV,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,WAAW,EACX,SAAS,EACT,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExD,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"strategy.d.ts","sourceRoot":"","sources":["../../src/code-hosts/strategy.ts"],"names":[],"mappings":"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"}
|
package/dist/config/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { type ConnectionsFile, connectionsFileSchema, INTEGRATIONS_CONFIG_FILE_VERSION, integrationAuthProfileSchema, integrationConnectionRecordSchema, type ProfilesFile, profilesFileSchema, } from "./schema.js";
|
|
2
|
-
export { createIntegrationConfigStore, type IntegrationConfigStore, type IntegrationsConfigPaths, integrationsConfigPaths, validateConnectionSettings, } from "./store.js";
|
|
2
|
+
export { type ConnectionSettingsDefinition, createIntegrationConfigStore, type IntegrationConfigStore, type IntegrationsConfigPaths, integrationsConfigPaths, validateConnectionSettings, } from "./store.js";
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,eAAe,EACpB,qBAAqB,EACrB,gCAAgC,EAChC,4BAA4B,EAC5B,iCAAiC,EACjC,KAAK,YAAY,EACjB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,4BAA4B,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,eAAe,EACpB,qBAAqB,EACrB,gCAAgC,EAChC,4BAA4B,EAC5B,iCAAiC,EACjC,KAAK,YAAY,EACjB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,KAAK,4BAA4B,EACjC,4BAA4B,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,YAAY,CAAC"}
|
package/dist/config/store.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export type IntegrationsConfigPaths = {
|
|
|
7
7
|
readonly connectionsFile: string;
|
|
8
8
|
readonly profilesFile: string;
|
|
9
9
|
};
|
|
10
|
-
type ConnectionSettingsDefinition = {
|
|
10
|
+
export type ConnectionSettingsDefinition = {
|
|
11
11
|
readonly id: IntegrationId;
|
|
12
12
|
readonly settingsCodec: Pick<RuntimeCodec<unknown>, "decode">;
|
|
13
13
|
};
|
|
@@ -17,9 +17,9 @@ export interface IntegrationConfigStore {
|
|
|
17
17
|
writeConnections(records: readonly IntegrationConnectionRecord[], definitions: readonly ConnectionSettingsDefinition[]): Promise<void>;
|
|
18
18
|
readProfiles(): Promise<readonly IntegrationAuthProfile[]>;
|
|
19
19
|
writeProfiles(records: readonly IntegrationAuthProfile[]): Promise<void>;
|
|
20
|
+
runTransaction<Result>(operation: () => Promise<Result>): Promise<Result>;
|
|
20
21
|
}
|
|
21
22
|
export declare function integrationsConfigPaths(rootDir: string): IntegrationsConfigPaths;
|
|
22
23
|
export declare function createIntegrationConfigStore(rootDir: string): IntegrationConfigStore;
|
|
23
24
|
export declare function validateConnectionSettings(records: readonly IntegrationConnectionRecord[], definitions: readonly ConnectionSettingsDefinition[]): void;
|
|
24
|
-
export {};
|
|
25
25
|
//# sourceMappingURL=store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/config/store.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/config/store.ts"],"names":[],"mappings":"AAWA,OAAO,EAA4B,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE9E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAEpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAc/C,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,QAAQ,CAAC,EAAE,EAAE,aAAa,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC;CAC/D,CAAC;AAEF,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,uBAAuB,CAAC;IACxC,eAAe,IAAI,OAAO,CAAC,SAAS,2BAA2B,EAAE,CAAC,CAAC;IACnE,gBAAgB,CACd,OAAO,EAAE,SAAS,2BAA2B,EAAE,EAC/C,WAAW,EAAE,SAAS,4BAA4B,EAAE,GACnD,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,YAAY,IAAI,OAAO,CAAC,SAAS,sBAAsB,EAAE,CAAC,CAAC;IAC3D,aAAa,CAAC,OAAO,EAAE,SAAS,sBAAsB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAGzE,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC3E;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,MAAM,GACd,uBAAuB,CAMzB;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,MAAM,GACd,sBAAsB,CA6CxB;AAiFD,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,SAAS,2BAA2B,EAAE,EAC/C,WAAW,EAAE,SAAS,4BAA4B,EAAE,GACnD,IAAI,CAqBN"}
|
package/dist/config/store.js
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
import { chmod, mkdir, readFile, rename, writeFile } from "node:fs/promises";
|
|
1
|
+
import { chmod, mkdir, open, readFile, rename, rm, stat, writeFile, } from "node:fs/promises";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import { CODEC_DECODE_RESULT_KIND } from "@alpacakit/core";
|
|
4
4
|
import { INTEGRATION_ERROR_CODE, IntegrationError } from "../error.js";
|
|
5
5
|
import { connectionsFileSchema, INTEGRATIONS_CONFIG_FILE_VERSION, profilesFileSchema, } from "./schema.js";
|
|
6
6
|
const PRIVATE_DIRECTORY_MODE = 0o700;
|
|
7
7
|
const PRIVATE_FILE_MODE = 0o600;
|
|
8
|
+
const CONFIG_TRANSACTION_LOCK_FILE = ".integrations.config.lock";
|
|
9
|
+
const CONFIG_TRANSACTION_LOCK_RETRY_MS = 25;
|
|
10
|
+
const CONFIG_TRANSACTION_LOCK_TIMEOUT_MS = 5_000;
|
|
11
|
+
const CONFIG_TRANSACTION_LOCK_STALE_MS = 30_000;
|
|
8
12
|
export function integrationsConfigPaths(rootDir) {
|
|
9
13
|
return {
|
|
10
14
|
rootDir,
|
|
@@ -46,8 +50,82 @@ export function createIntegrationConfigStore(rootDir) {
|
|
|
46
50
|
}, profilesFileSchema);
|
|
47
51
|
await writeJsonAtomically(paths.profilesFile, file);
|
|
48
52
|
},
|
|
53
|
+
runTransaction: async (operation) => await withConfigTransactionLock(paths.rootDir, operation),
|
|
49
54
|
};
|
|
50
55
|
}
|
|
56
|
+
async function withConfigTransactionLock(rootDir, operation) {
|
|
57
|
+
await mkdir(rootDir, { recursive: true, mode: PRIVATE_DIRECTORY_MODE });
|
|
58
|
+
await chmod(rootDir, PRIVATE_DIRECTORY_MODE);
|
|
59
|
+
const lockPath = path.join(rootDir, CONFIG_TRANSACTION_LOCK_FILE);
|
|
60
|
+
await acquireConfigTransactionLock(lockPath);
|
|
61
|
+
try {
|
|
62
|
+
return await operation();
|
|
63
|
+
}
|
|
64
|
+
finally {
|
|
65
|
+
await rm(lockPath, { force: true });
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
async function acquireConfigTransactionLock(lockPath) {
|
|
69
|
+
const deadline = Date.now() + CONFIG_TRANSACTION_LOCK_TIMEOUT_MS;
|
|
70
|
+
for (;;) {
|
|
71
|
+
try {
|
|
72
|
+
const handle = await open(lockPath, "wx", PRIVATE_FILE_MODE);
|
|
73
|
+
try {
|
|
74
|
+
await handle.writeFile(`${process.pid}\n`, "utf8");
|
|
75
|
+
}
|
|
76
|
+
catch (error) {
|
|
77
|
+
await rm(lockPath, { force: true });
|
|
78
|
+
throw error;
|
|
79
|
+
}
|
|
80
|
+
finally {
|
|
81
|
+
await handle.close();
|
|
82
|
+
}
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
catch (error) {
|
|
86
|
+
if (!isErrno(error, "EEXIST")) {
|
|
87
|
+
throw error;
|
|
88
|
+
}
|
|
89
|
+
if (await removeStaleConfigTransactionLock(lockPath)) {
|
|
90
|
+
continue;
|
|
91
|
+
}
|
|
92
|
+
if (Date.now() >= deadline) {
|
|
93
|
+
throw configError(`Timed out waiting for integration config lock "${lockPath}"`, error);
|
|
94
|
+
}
|
|
95
|
+
await wait(CONFIG_TRANSACTION_LOCK_RETRY_MS);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
async function removeStaleConfigTransactionLock(lockPath) {
|
|
100
|
+
let modifiedAt;
|
|
101
|
+
try {
|
|
102
|
+
modifiedAt = (await stat(lockPath)).mtimeMs;
|
|
103
|
+
}
|
|
104
|
+
catch (error) {
|
|
105
|
+
if (isErrno(error, "ENOENT")) {
|
|
106
|
+
return true;
|
|
107
|
+
}
|
|
108
|
+
throw error;
|
|
109
|
+
}
|
|
110
|
+
if (Date.now() - modifiedAt < CONFIG_TRANSACTION_LOCK_STALE_MS) {
|
|
111
|
+
return false;
|
|
112
|
+
}
|
|
113
|
+
const stalePath = `${lockPath}.stale.${process.pid}.${crypto.randomUUID()}`;
|
|
114
|
+
try {
|
|
115
|
+
await rename(lockPath, stalePath);
|
|
116
|
+
}
|
|
117
|
+
catch (error) {
|
|
118
|
+
if (isErrno(error, "ENOENT")) {
|
|
119
|
+
return true;
|
|
120
|
+
}
|
|
121
|
+
throw error;
|
|
122
|
+
}
|
|
123
|
+
await rm(stalePath, { force: true });
|
|
124
|
+
return true;
|
|
125
|
+
}
|
|
126
|
+
async function wait(delayMs) {
|
|
127
|
+
await new Promise((resolve) => setTimeout(resolve, delayMs));
|
|
128
|
+
}
|
|
51
129
|
export function validateConnectionSettings(records, definitions) {
|
|
52
130
|
const byId = new Map(definitions.map((definition) => [definition.id, definition]));
|
|
53
131
|
if (byId.size !== definitions.length) {
|
package/dist/definition.d.ts
CHANGED
|
@@ -2,8 +2,9 @@ import type { JsonObject, RuntimeCodec } from "@alpacakit/core";
|
|
|
2
2
|
import type { Authorization, IntegrationAuthBinding, IntegrationAuthCapability, IntegrationAuthProfile } from "./auth.js";
|
|
3
3
|
import type { IntegrationAuthProfileId, IntegrationConnectionId, IntegrationId } from "./ids.js";
|
|
4
4
|
import type { DoctorCapability, IntegrationLoginCapability } from "./login.js";
|
|
5
|
-
import type { Account, Repository, WorkItems } from "./model.js";
|
|
5
|
+
import type { Account, Repository, RepositoryHost, RepositoryRef, WorkItems } from "./model.js";
|
|
6
6
|
import type { SessionPorts } from "./ports.js";
|
|
7
|
+
import type { INTEGRATION_SETTINGS_INPUT_KIND, REPOSITORY_SETTINGS_UPDATE_KIND } from "./values.js";
|
|
7
8
|
export type IntegrationConnectionRecord = {
|
|
8
9
|
readonly id: IntegrationConnectionId;
|
|
9
10
|
readonly integrationId: IntegrationId;
|
|
@@ -16,16 +17,48 @@ export type ConnectContext<TSettings> = {
|
|
|
16
17
|
readonly authorization: Authorization;
|
|
17
18
|
readonly ports: SessionPorts;
|
|
18
19
|
};
|
|
20
|
+
export type RepositorySettingsUpdate = {
|
|
21
|
+
readonly kind: typeof REPOSITORY_SETTINGS_UPDATE_KIND.repository;
|
|
22
|
+
readonly repository: RepositoryRef;
|
|
23
|
+
/** null preserves the current provider URL, or selects its default for a new connection. */
|
|
24
|
+
readonly baseUrl: string | null;
|
|
25
|
+
} | {
|
|
26
|
+
readonly kind: typeof REPOSITORY_SETTINGS_UPDATE_KIND.baseUrl;
|
|
27
|
+
readonly baseUrl: string;
|
|
28
|
+
};
|
|
29
|
+
export type RepositorySettingsApplication<TSettings> = {
|
|
30
|
+
readonly kind: typeof REPOSITORY_SETTINGS_UPDATE_KIND.repository;
|
|
31
|
+
readonly current: TSettings | null;
|
|
32
|
+
readonly repository: RepositoryRef;
|
|
33
|
+
readonly baseUrl: string | null;
|
|
34
|
+
} | {
|
|
35
|
+
readonly kind: typeof REPOSITORY_SETTINGS_UPDATE_KIND.baseUrl;
|
|
36
|
+
readonly current: TSettings;
|
|
37
|
+
readonly baseUrl: string;
|
|
38
|
+
};
|
|
39
|
+
export type IntegrationSettingsInput = {
|
|
40
|
+
readonly kind: typeof INTEGRATION_SETTINGS_INPUT_KIND.repository;
|
|
41
|
+
readonly update: RepositorySettingsUpdate;
|
|
42
|
+
} | {
|
|
43
|
+
readonly kind: typeof INTEGRATION_SETTINGS_INPUT_KIND.raw;
|
|
44
|
+
readonly settings: JsonObject;
|
|
45
|
+
};
|
|
46
|
+
export interface RepositoryScopeAdapter<TSettings> {
|
|
47
|
+
applySettings(input: RepositorySettingsApplication<TSettings>): JsonObject;
|
|
48
|
+
projectRepository(settings: TSettings): RepositoryRef;
|
|
49
|
+
}
|
|
19
50
|
export interface IntegrationDefinition<Id extends IntegrationId = IntegrationId, TSettings = JsonObject, TSession = unknown> {
|
|
20
51
|
readonly id: Id;
|
|
21
52
|
readonly settingsCodec: RuntimeCodec<TSettings>;
|
|
22
53
|
readonly remoteMatch?: (remoteUrl: string, settings: TSettings) => boolean;
|
|
54
|
+
readonly repositoryScope?: RepositoryScopeAdapter<TSettings>;
|
|
23
55
|
readonly auth?: IntegrationAuthCapability;
|
|
24
56
|
readonly login?: IntegrationLoginCapability;
|
|
25
57
|
readonly doctor?: DoctorCapability<TSettings>;
|
|
26
58
|
connect(ctx: ConnectContext<TSettings>): Promise<TSession>;
|
|
27
59
|
readonly workItems?: (session: TSession) => WorkItems;
|
|
28
60
|
readonly repository?: (session: TSession) => Repository;
|
|
61
|
+
readonly repositoryHost?: (session: TSession) => RepositoryHost;
|
|
29
62
|
readonly account?: (session: TSession) => Account;
|
|
30
63
|
}
|
|
31
64
|
export declare function defineIntegration<const Id extends IntegrationId, TSettings, TSession>(definition: IntegrationDefinition<Id, TSettings, TSession>): IntegrationDefinition<Id, TSettings, TSession>;
|
package/dist/definition.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../src/definition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,KAAK,EACV,aAAa,EACb,sBAAsB,EACtB,yBAAyB,EACzB,sBAAsB,EACvB,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EACV,wBAAwB,EACxB,uBAAuB,EACvB,aAAa,EACd,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAC/E,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../src/definition.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
/** Provider-neutral development-management integration runtime. */
|
|
2
2
|
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
|
+
export { createIntegrationDefinitionCatalog, type IntegrationDefinitionCatalog, } from "./catalog.js";
|
|
3
4
|
export { BUILTIN_INTEGRATION_ID, type BuiltinIntegrationId, gitCredentialScheme, templatePaths, } from "./code-hosts/builtin.js";
|
|
4
5
|
export { GITEA_INTEGRATION_ID, type GiteaSettings, gitea, } from "./code-hosts/gitea.js";
|
|
5
6
|
export { GITHUB_INTEGRATION_ID, type GitHubSettings, github, } from "./code-hosts/github.js";
|
|
6
7
|
export { GITLAB_INTEGRATION_ID, type GitLabSettings, gitlab, } from "./code-hosts/gitlab.js";
|
|
7
|
-
export type { ConnectContext, IntegrationConnectionRecord, IntegrationDefinition, } from "./definition.js";
|
|
8
|
+
export type { ConnectContext, IntegrationConnectionRecord, IntegrationDefinition, IntegrationSettingsInput, RepositoryScopeAdapter, RepositorySettingsApplication, RepositorySettingsUpdate, } from "./definition.js";
|
|
8
9
|
export { defineIntegration } from "./definition.js";
|
|
9
10
|
export { AUTH_FAILURE_REASON, type AuthFailureReason, INTEGRATION_ERROR_CODE, IntegrationError, type IntegrationErrorCode, type IntegrationErrorData, type IntegrationErrorOptions, isIntegrationError, NOT_AVAILABLE_CAUSE, type NotAvailableCause, } from "./error.js";
|
|
10
11
|
export type { ChangeFeedCursor, CommentReaction, CommentRef, IntegrationAuthProfileId, IntegrationConnectionId, IntegrationId, MilestoneRef, PullRequestRef, WorkItemRef, } from "./ids.js";
|
|
@@ -17,5 +18,5 @@ export { createOpaqueCursorCodec } from "./transport/cursor.js";
|
|
|
17
18
|
export { HttpTransport, type HttpTransportOptions, } from "./transport/http-transport.js";
|
|
18
19
|
export { LinkHeaderPager, PageParamPager, type PageParamPagerOptions, } from "./transport/pager.js";
|
|
19
20
|
export type { CursorCodec, HttpMethod, Pager, RequestSpec, } from "./transport/types.js";
|
|
20
|
-
export { AUTHORIZATION_KIND, AUTHORIZATION_SCHEME, COMMENT_KIND, COMMENT_SIDE, CONNECTION_STATUS, DOCTOR_CHECK_STATUS, EXEC_CHANNEL, FILE_CHANGE_STATUS, GIT_PROTOCOL, HTTP_MEDIA_TYPE, HTTP_METHOD, INTEGRATION_AUTH_BINDING_KIND, INTEGRATION_AUTH_MATERIAL_KIND, INTEGRATION_LOGIN_METHOD, LOG_LEVEL, LOGIN_EVENT_TYPE, MEMBERSHIP, MERGE_METHOD, MERGE_STATE_STATUS, MERGEABILITY, OWNER_KIND, PULL_REQUEST_FEEDBACK_KIND, PULL_REQUEST_REVIEW_CONTEXT_AVAILABILITY, PULL_REQUEST_REVIEW_STATE, PULL_REQUEST_STATE, REVIEW_DECISION, WORK_ITEM_KIND, WORK_ITEM_QUERY_STATE, WORK_ITEM_SEARCH_FIELD, WORK_ITEM_STATE, } from "./values.js";
|
|
21
|
+
export { AUTHORIZATION_KIND, AUTHORIZATION_SCHEME, COMMENT_KIND, COMMENT_SIDE, CONNECTION_STATUS, DOCTOR_CHECK_STATUS, ENSURE_REPOSITORY_RESULT_KIND, EXEC_CHANNEL, FILE_CHANGE_STATUS, GIT_PROTOCOL, HTTP_MEDIA_TYPE, HTTP_METHOD, INTEGRATION_AUTH_BINDING_KIND, INTEGRATION_AUTH_MATERIAL_KIND, INTEGRATION_LOGIN_METHOD, INTEGRATION_SETTINGS_INPUT_KIND, LOG_LEVEL, LOGIN_EVENT_TYPE, MEMBERSHIP, MERGE_METHOD, MERGE_STATE_STATUS, MERGEABILITY, OWNER_KIND, PULL_REQUEST_FEEDBACK_KIND, PULL_REQUEST_REVIEW_CONTEXT_AVAILABILITY, PULL_REQUEST_REVIEW_STATE, PULL_REQUEST_STATE, REPOSITORY_SETTINGS_UPDATE_KIND, REVIEW_DECISION, WORK_ITEM_KIND, WORK_ITEM_QUERY_STATE, WORK_ITEM_SEARCH_FIELD, WORK_ITEM_STATE, } from "./values.js";
|
|
21
22
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,mEAAmE;AAEnE,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,sBAAsB,EACtB,KAAK,oBAAoB,EACzB,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,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/** Provider-neutral development-management integration runtime. */
|
|
2
2
|
export { authorizationHeader, bearerMaterialHandlers, envResolver, requireSecret, } from "./auth.js";
|
|
3
|
+
export { createIntegrationDefinitionCatalog, } from "./catalog.js";
|
|
3
4
|
export { BUILTIN_INTEGRATION_ID, gitCredentialScheme, templatePaths, } from "./code-hosts/builtin.js";
|
|
4
5
|
export { GITEA_INTEGRATION_ID, gitea, } from "./code-hosts/gitea.js";
|
|
5
6
|
export { GITHUB_INTEGRATION_ID, github, } from "./code-hosts/github.js";
|
|
@@ -12,4 +13,4 @@ export { createIntegrationRuntime, } from "./runtime.js";
|
|
|
12
13
|
export { createOpaqueCursorCodec } from "./transport/cursor.js";
|
|
13
14
|
export { HttpTransport, } from "./transport/http-transport.js";
|
|
14
15
|
export { LinkHeaderPager, PageParamPager, } from "./transport/pager.js";
|
|
15
|
-
export { AUTHORIZATION_KIND, AUTHORIZATION_SCHEME, COMMENT_KIND, COMMENT_SIDE, CONNECTION_STATUS, DOCTOR_CHECK_STATUS, EXEC_CHANNEL, FILE_CHANGE_STATUS, GIT_PROTOCOL, HTTP_MEDIA_TYPE, HTTP_METHOD, INTEGRATION_AUTH_BINDING_KIND, INTEGRATION_AUTH_MATERIAL_KIND, INTEGRATION_LOGIN_METHOD, LOG_LEVEL, LOGIN_EVENT_TYPE, MEMBERSHIP, MERGE_METHOD, MERGE_STATE_STATUS, MERGEABILITY, OWNER_KIND, PULL_REQUEST_FEEDBACK_KIND, PULL_REQUEST_REVIEW_CONTEXT_AVAILABILITY, PULL_REQUEST_REVIEW_STATE, PULL_REQUEST_STATE, REVIEW_DECISION, WORK_ITEM_KIND, WORK_ITEM_QUERY_STATE, WORK_ITEM_SEARCH_FIELD, WORK_ITEM_STATE, } from "./values.js";
|
|
16
|
+
export { AUTHORIZATION_KIND, AUTHORIZATION_SCHEME, COMMENT_KIND, COMMENT_SIDE, CONNECTION_STATUS, DOCTOR_CHECK_STATUS, ENSURE_REPOSITORY_RESULT_KIND, EXEC_CHANNEL, FILE_CHANGE_STATUS, GIT_PROTOCOL, HTTP_MEDIA_TYPE, HTTP_METHOD, INTEGRATION_AUTH_BINDING_KIND, INTEGRATION_AUTH_MATERIAL_KIND, INTEGRATION_LOGIN_METHOD, INTEGRATION_SETTINGS_INPUT_KIND, LOG_LEVEL, LOGIN_EVENT_TYPE, MEMBERSHIP, MERGE_METHOD, MERGE_STATE_STATUS, MERGEABILITY, OWNER_KIND, PULL_REQUEST_FEEDBACK_KIND, PULL_REQUEST_REVIEW_CONTEXT_AVAILABILITY, PULL_REQUEST_REVIEW_STATE, PULL_REQUEST_STATE, REPOSITORY_SETTINGS_UPDATE_KIND, REVIEW_DECISION, WORK_ITEM_KIND, WORK_ITEM_QUERY_STATE, WORK_ITEM_SEARCH_FIELD, WORK_ITEM_STATE, } from "./values.js";
|
package/dist/keyring/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { keyringResolver, keyringSecretStore,
|
|
1
|
+
export { type KeyringSecretStore, keyringResolver, keyringSecretStore, } from "./resolver.js";
|
|
2
2
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/keyring/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/keyring/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EACvB,eAAe,EACf,kBAAkB,GACnB,MAAM,eAAe,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../src/keyring/resolver.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAkBlD,MAAM,WAAW,kBAAkB;IACjC,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnC;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,
|
|
1
|
+
{"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../src/keyring/resolver.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAkBlD,MAAM,WAAW,kBAAkB;IACjC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACxC,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnC;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,CAS/D;AAeD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB,CAyBtE"}
|
package/dist/keyring/resolver.js
CHANGED
|
@@ -8,25 +8,18 @@ export function keyringResolver(service) {
|
|
|
8
8
|
return modulePromise;
|
|
9
9
|
};
|
|
10
10
|
return {
|
|
11
|
-
resolve: async (id) =>
|
|
12
|
-
const module = await load();
|
|
13
|
-
try {
|
|
14
|
-
const value = await new module.entryConstructor(service, id).getPassword();
|
|
15
|
-
return value === "" ? null : value;
|
|
16
|
-
}
|
|
17
|
-
catch (error) {
|
|
18
|
-
throw new IntegrationError({
|
|
19
|
-
code: INTEGRATION_ERROR_CODE.failed,
|
|
20
|
-
message: `Keyring secret "${id}" could not be read`,
|
|
21
|
-
data: { status: null, bodyTail: null },
|
|
22
|
-
integrationId: null,
|
|
23
|
-
connectionId: null,
|
|
24
|
-
cause: error,
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
},
|
|
11
|
+
resolve: async (id) => await readKeyringEntry(await load(), service, id),
|
|
28
12
|
};
|
|
29
13
|
}
|
|
14
|
+
async function readKeyringEntry(module, service, id) {
|
|
15
|
+
try {
|
|
16
|
+
const value = await new module.entryConstructor(service, id).getPassword();
|
|
17
|
+
return value === "" ? null : value;
|
|
18
|
+
}
|
|
19
|
+
catch (error) {
|
|
20
|
+
throw keyringOperationError(id, "read", error);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
30
23
|
export function keyringSecretStore(service) {
|
|
31
24
|
let modulePromise = null;
|
|
32
25
|
const load = () => {
|
|
@@ -34,6 +27,7 @@ export function keyringSecretStore(service) {
|
|
|
34
27
|
return modulePromise;
|
|
35
28
|
};
|
|
36
29
|
return {
|
|
30
|
+
get: async (id) => await readKeyringEntry(await load(), service, id),
|
|
37
31
|
set: async (id, value) => {
|
|
38
32
|
const module = await load();
|
|
39
33
|
try {
|
|
@@ -57,7 +51,9 @@ export function keyringSecretStore(service) {
|
|
|
57
51
|
function keyringOperationError(id, operation, cause) {
|
|
58
52
|
return new IntegrationError({
|
|
59
53
|
code: INTEGRATION_ERROR_CODE.failed,
|
|
60
|
-
message:
|
|
54
|
+
message: operation === "read"
|
|
55
|
+
? `Keyring secret "${id}" could not be read`
|
|
56
|
+
: `Keyring secret "${id}" could not be ${operation}`,
|
|
61
57
|
data: { status: null, bodyTail: null },
|
|
62
58
|
integrationId: null,
|
|
63
59
|
connectionId: null,
|
package/dist/model.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ValueOf } from "@alpacakit/core";
|
|
2
2
|
import type { ChangeFeedCursor, CommentReaction, CommentRef, MilestoneRef, PullRequestRef, WorkItemRef } from "./ids.js";
|
|
3
|
-
import type { COMMENT_KIND, COMMENT_SIDE, FILE_CHANGE_STATUS, GIT_PROTOCOL, MEMBERSHIP, MERGE_METHOD, MERGE_STATE_STATUS, MERGEABILITY, OWNER_KIND, PULL_REQUEST_FEEDBACK_KIND, PULL_REQUEST_REVIEW_CONTEXT_AVAILABILITY, PULL_REQUEST_REVIEW_STATE, PULL_REQUEST_STATE, REVIEW_DECISION, WORK_ITEM_KIND, WORK_ITEM_QUERY_STATE, WORK_ITEM_SEARCH_FIELD, WORK_ITEM_STATE } from "./values.js";
|
|
3
|
+
import type { COMMENT_KIND, COMMENT_SIDE, ENSURE_REPOSITORY_RESULT_KIND, FILE_CHANGE_STATUS, GIT_PROTOCOL, MEMBERSHIP, MERGE_METHOD, MERGE_STATE_STATUS, MERGEABILITY, OWNER_KIND, PULL_REQUEST_FEEDBACK_KIND, PULL_REQUEST_REVIEW_CONTEXT_AVAILABILITY, PULL_REQUEST_REVIEW_STATE, PULL_REQUEST_STATE, REVIEW_DECISION, WORK_ITEM_KIND, WORK_ITEM_QUERY_STATE, WORK_ITEM_SEARCH_FIELD, WORK_ITEM_STATE } from "./values.js";
|
|
4
4
|
export type WorkItemKind = ValueOf<typeof WORK_ITEM_KIND>;
|
|
5
5
|
export type WorkItemState = ValueOf<typeof WORK_ITEM_STATE>;
|
|
6
6
|
export type WorkItemQueryState = ValueOf<typeof WORK_ITEM_QUERY_STATE>;
|
|
@@ -299,13 +299,20 @@ export interface LinkedBranch {
|
|
|
299
299
|
ensure(workItem: WorkItemRef, branch: string): Promise<void>;
|
|
300
300
|
}
|
|
301
301
|
export type EnsureRepositoryInput = {
|
|
302
|
-
readonly
|
|
303
|
-
readonly
|
|
304
|
-
readonly
|
|
305
|
-
|
|
302
|
+
readonly ref: RepositoryRef;
|
|
303
|
+
readonly isPrivate: boolean;
|
|
304
|
+
readonly description: string | null;
|
|
305
|
+
};
|
|
306
|
+
export type EnsureRepositoryResult = {
|
|
307
|
+
readonly kind: typeof ENSURE_REPOSITORY_RESULT_KIND.existing;
|
|
308
|
+
readonly repository: RepositoryInfo;
|
|
309
|
+
} | {
|
|
310
|
+
readonly kind: typeof ENSURE_REPOSITORY_RESULT_KIND.created;
|
|
311
|
+
readonly repository: RepositoryInfo;
|
|
306
312
|
};
|
|
307
|
-
export interface
|
|
308
|
-
|
|
313
|
+
export interface RepositoryHost {
|
|
314
|
+
find(ref: RepositoryRef): Promise<RepositoryInfo | null>;
|
|
315
|
+
ensure(input: EnsureRepositoryInput): Promise<EnsureRepositoryResult>;
|
|
309
316
|
}
|
|
310
317
|
export interface Repository {
|
|
311
318
|
info(): Promise<RepositoryInfo>;
|
|
@@ -314,7 +321,6 @@ export interface Repository {
|
|
|
314
321
|
readonly reviewers: PullRequestReviewers | null;
|
|
315
322
|
readonly draft: PullRequestDraft | null;
|
|
316
323
|
readonly linkedBranch: LinkedBranch | null;
|
|
317
|
-
readonly provisioning: RepositoryProvisioning | null;
|
|
318
324
|
}
|
|
319
325
|
export interface MembershipDirectory {
|
|
320
326
|
/** Resolve one principal without requiring consumers to materialize a directory snapshot. */
|
package/dist/model.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { type IntegrationAuthProfile } from "./auth.js";
|
|
|
2
2
|
import type { IntegrationConnectionRecord, IntegrationDefinition } from "./definition.js";
|
|
3
3
|
import { type IntegrationConnectionId, type IntegrationId } from "./ids.js";
|
|
4
4
|
import { type DoctorCheck, type LoginHandle, type LoginRequest } from "./login.js";
|
|
5
|
-
import type { Account, Repository, UserRef, WorkItems } from "./model.js";
|
|
5
|
+
import type { Account, Repository, RepositoryHost, UserRef, WorkItems } from "./model.js";
|
|
6
6
|
import { type IntegrationPorts } from "./ports.js";
|
|
7
7
|
import { CONNECTION_STATUS } from "./values.js";
|
|
8
8
|
export interface Integration {
|
|
@@ -10,9 +10,11 @@ export interface Integration {
|
|
|
10
10
|
readonly integrationId: IntegrationId;
|
|
11
11
|
readonly workItems: WorkItems | null;
|
|
12
12
|
readonly repository: Repository | null;
|
|
13
|
+
readonly repositoryHost: RepositoryHost | null;
|
|
13
14
|
readonly account: Account | null;
|
|
14
15
|
requireWorkItems(): WorkItems;
|
|
15
16
|
requireRepository(): Repository;
|
|
17
|
+
requireRepositoryHost(): RepositoryHost;
|
|
16
18
|
requireAccount(): Account;
|
|
17
19
|
}
|
|
18
20
|
export type ConnectionCheck = {
|
|
@@ -28,11 +30,11 @@ export type ConnectionCheck = {
|
|
|
28
30
|
readonly viewer: null;
|
|
29
31
|
readonly detail: string | null;
|
|
30
32
|
};
|
|
31
|
-
export interface IntegrationRuntime
|
|
33
|
+
export interface IntegrationRuntime {
|
|
32
34
|
connect(id: IntegrationConnectionId | string): Promise<Integration>;
|
|
33
35
|
connections(): IntegrationConnectionId[];
|
|
34
36
|
resolveRemote(remoteUrl: string): IntegrationConnectionId | null;
|
|
35
|
-
login(integration:
|
|
37
|
+
login(integration: string, options: LoginRequest): LoginHandle;
|
|
36
38
|
checkConnection(connection: IntegrationConnectionId | string): Promise<ConnectionCheck>;
|
|
37
39
|
doctor(connection: IntegrationConnectionId | string): Promise<DoctorCheck[]>;
|
|
38
40
|
readonly ports: IntegrationPorts;
|
|
@@ -45,6 +47,6 @@ export type IntegrationRuntimeOptions<Defs extends readonly AnyDefinition[]> = {
|
|
|
45
47
|
readonly ports?: Partial<IntegrationPorts>;
|
|
46
48
|
readonly baseEnv: Record<string, string>;
|
|
47
49
|
};
|
|
48
|
-
export declare function createIntegrationRuntime<const Defs extends readonly AnyDefinition[]>(options: IntegrationRuntimeOptions<Defs>): IntegrationRuntime
|
|
50
|
+
export declare function createIntegrationRuntime<const Defs extends readonly AnyDefinition[]>(options: IntegrationRuntimeOptions<Defs>): IntegrationRuntime;
|
|
49
51
|
export {};
|
|
50
52
|
//# sourceMappingURL=runtime.d.ts.map
|
package/dist/runtime.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AACA,OAAO,EAML,KAAK,sBAAsB,EAE5B,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EACV,2BAA2B,EAC3B,qBAAqB,EACtB,MAAM,iBAAiB,CAAC;AAQzB,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,aAAa,EAGnB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,YAAY,EAGlB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime.js
CHANGED
|
@@ -240,15 +240,18 @@ function bindIntegration(resolved, session) {
|
|
|
240
240
|
const { definition, record } = resolved;
|
|
241
241
|
const workItems = definition.workItems?.(session) ?? null;
|
|
242
242
|
const repository = definition.repository?.(session) ?? null;
|
|
243
|
+
const repositoryHost = definition.repositoryHost?.(session) ?? null;
|
|
243
244
|
const account = definition.account?.(session) ?? null;
|
|
244
245
|
return {
|
|
245
246
|
connectionId: record.id,
|
|
246
247
|
integrationId: definition.id,
|
|
247
248
|
workItems,
|
|
248
249
|
repository,
|
|
250
|
+
repositoryHost,
|
|
249
251
|
account,
|
|
250
252
|
requireWorkItems: () => requireFacet(workItems, "workItems", definition.id, record.id),
|
|
251
253
|
requireRepository: () => requireFacet(repository, "repository", definition.id, record.id),
|
|
254
|
+
requireRepositoryHost: () => requireFacet(repositoryHost, "repositoryHost", definition.id, record.id),
|
|
252
255
|
requireAccount: () => requireFacet(account, "account", definition.id, record.id),
|
|
253
256
|
};
|
|
254
257
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/testing/contracts.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAEjE,MAAM,MAAM,0BAA0B,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC;AAEpE,MAAM,MAAM,kCAAkC,GAAG,CAC/C,OAAO,EAAE,SAAS,aAAa,EAAE,KAC9B,OAAO,CAAC;IACX,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,SAAS,eAAe,EAAE,CAAC;CAC/C,CAAC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,YAAY,EAAE,uBAAuB,CAAC;IAC/C,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;IAC1C,QAAQ,CAAC,sBAAsB,EAAE,OAAO,CAAC;IACzC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IAC5C,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC;IACtC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,2EAA2E;IAC3E,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,wBAAgB,oBAAoB,CAClC,eAAe,EAAE,0BAA0B,GAC1C,IAAI,CAsBN;AAED,wBAAgB,qBAAqB,CACnC,eAAe,EAAE,0BAA0B,GAC1C,IAAI,
|
|
1
|
+
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/testing/contracts.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAEjE,MAAM,MAAM,0BAA0B,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC;AAEpE,MAAM,MAAM,kCAAkC,GAAG,CAC/C,OAAO,EAAE,SAAS,aAAa,EAAE,KAC9B,OAAO,CAAC;IACX,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,SAAS,eAAe,EAAE,CAAC;CAC/C,CAAC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,YAAY,EAAE,uBAAuB,CAAC;IAC/C,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;IAC1C,QAAQ,CAAC,sBAAsB,EAAE,OAAO,CAAC;IACzC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IAC5C,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC;IACtC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,2EAA2E;IAC3E,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,wBAAgB,oBAAoB,CAClC,eAAe,EAAE,0BAA0B,GAC1C,IAAI,CAsBN;AAED,wBAAgB,qBAAqB,CACnC,eAAe,EAAE,0BAA0B,GAC1C,IAAI,CAiBN;AAED,wBAAgB,kBAAkB,CAChC,eAAe,EAAE,0BAA0B,GAC1C,IAAI,CAcN;AAED,wBAAgB,2BAA2B,CACzC,eAAe,EAAE,kCAAkC,EACnD,OAAO,EAAE,uBAAuB,GAC/B,IAAI,CAgLN"}
|
|
@@ -36,7 +36,6 @@ export function runRepositoryContract(makeIntegration) {
|
|
|
36
36
|
expect(facet.reviewers).not.toBeUndefined();
|
|
37
37
|
expect(facet.draft).not.toBeUndefined();
|
|
38
38
|
expect(facet.linkedBranch).not.toBeUndefined();
|
|
39
|
-
expect(facet.provisioning).not.toBeUndefined();
|
|
40
39
|
});
|
|
41
40
|
});
|
|
42
41
|
}
|
package/dist/values.d.ts
CHANGED
|
@@ -7,6 +7,18 @@ export declare const INTEGRATION_AUTH_MATERIAL_KIND: {
|
|
|
7
7
|
readonly apiKey: "api-key";
|
|
8
8
|
readonly basic: "basic";
|
|
9
9
|
};
|
|
10
|
+
export declare const INTEGRATION_SETTINGS_INPUT_KIND: {
|
|
11
|
+
readonly repository: "repository";
|
|
12
|
+
readonly raw: "raw";
|
|
13
|
+
};
|
|
14
|
+
export declare const REPOSITORY_SETTINGS_UPDATE_KIND: {
|
|
15
|
+
readonly repository: "repository";
|
|
16
|
+
readonly baseUrl: "base_url";
|
|
17
|
+
};
|
|
18
|
+
export declare const ENSURE_REPOSITORY_RESULT_KIND: {
|
|
19
|
+
readonly existing: "existing";
|
|
20
|
+
readonly created: "created";
|
|
21
|
+
};
|
|
10
22
|
export declare const AUTHORIZATION_KIND: {
|
|
11
23
|
readonly bearer: "bearer";
|
|
12
24
|
readonly basic: "basic";
|
package/dist/values.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"values.d.ts","sourceRoot":"","sources":["../src/values.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,6BAA6B;;;;CAIhC,CAAC;AAEX,eAAO,MAAM,8BAA8B;;;CAGjC,CAAC;AAEX,eAAO,MAAM,kBAAkB;;;;CAIrB,CAAC;AAEX,eAAO,MAAM,oBAAoB;;;;CAIvB,CAAC;AAEX,eAAO,MAAM,YAAY;;;CAGf,CAAC;AAEX,eAAO,MAAM,cAAc;;;CAGjB,CAAC;AAEX,eAAO,MAAM,eAAe;;;CAGlB,CAAC;AAEX,eAAO,MAAM,qBAAqB;;;;CAGxB,CAAC;AAEX,eAAO,MAAM,sBAAsB;;;CAGzB,CAAC;AAEX,eAAO,MAAM,YAAY;;;;CAIf,CAAC;AAEX,eAAO,MAAM,YAAY;;;CAGf,CAAC;AAEX,eAAO,MAAM,kBAAkB;;;;CAIrB,CAAC;AAEX,eAAO,MAAM,kBAAkB;;;;;CAKrB,CAAC;AAEX,eAAO,MAAM,eAAe;;;;CAIlB,CAAC;AAEX,eAAO,MAAM,wCAAwC;;;;CAI3C,CAAC;AAEX,eAAO,MAAM,0BAA0B;;;;CAI7B,CAAC;AAEX,eAAO,MAAM,yBAAyB;;;;;;CAM5B,CAAC;AAEX,eAAO,MAAM,YAAY;;;;CAIf,CAAC;AAEX,eAAO,MAAM,kBAAkB;;;;;;;CAOrB,CAAC;AAEX,eAAO,MAAM,YAAY;;;;CAIf,CAAC;AAEX,eAAO,MAAM,UAAU;;;CAGb,CAAC;AAEX,eAAO,MAAM,UAAU;;;;CAIb,CAAC;AAEX,eAAO,MAAM,wBAAwB;;;CAG3B,CAAC;AAEX,eAAO,MAAM,gBAAgB;;;;CAInB,CAAC;AAEX,eAAO,MAAM,mBAAmB;;;;CAItB,CAAC;AAEX,eAAO,MAAM,iBAAiB;;;;CAIpB,CAAC;AAEX,eAAO,MAAM,WAAW;;;;;;CAMd,CAAC;AAEX,eAAO,MAAM,eAAe;;;CAGlB,CAAC;AAEX,eAAO,MAAM,YAAY;;;CAGf,CAAC;AAEX,eAAO,MAAM,SAAS;;;;;CAKZ,CAAC"}
|
|
1
|
+
{"version":3,"file":"values.d.ts","sourceRoot":"","sources":["../src/values.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,6BAA6B;;;;CAIhC,CAAC;AAEX,eAAO,MAAM,8BAA8B;;;CAGjC,CAAC;AAEX,eAAO,MAAM,+BAA+B;;;CAGlC,CAAC;AAEX,eAAO,MAAM,+BAA+B;;;CAGlC,CAAC;AAEX,eAAO,MAAM,6BAA6B;;;CAGhC,CAAC;AAEX,eAAO,MAAM,kBAAkB;;;;CAIrB,CAAC;AAEX,eAAO,MAAM,oBAAoB;;;;CAIvB,CAAC;AAEX,eAAO,MAAM,YAAY;;;CAGf,CAAC;AAEX,eAAO,MAAM,cAAc;;;CAGjB,CAAC;AAEX,eAAO,MAAM,eAAe;;;CAGlB,CAAC;AAEX,eAAO,MAAM,qBAAqB;;;;CAGxB,CAAC;AAEX,eAAO,MAAM,sBAAsB;;;CAGzB,CAAC;AAEX,eAAO,MAAM,YAAY;;;;CAIf,CAAC;AAEX,eAAO,MAAM,YAAY;;;CAGf,CAAC;AAEX,eAAO,MAAM,kBAAkB;;;;CAIrB,CAAC;AAEX,eAAO,MAAM,kBAAkB;;;;;CAKrB,CAAC;AAEX,eAAO,MAAM,eAAe;;;;CAIlB,CAAC;AAEX,eAAO,MAAM,wCAAwC;;;;CAI3C,CAAC;AAEX,eAAO,MAAM,0BAA0B;;;;CAI7B,CAAC;AAEX,eAAO,MAAM,yBAAyB;;;;;;CAM5B,CAAC;AAEX,eAAO,MAAM,YAAY;;;;CAIf,CAAC;AAEX,eAAO,MAAM,kBAAkB;;;;;;;CAOrB,CAAC;AAEX,eAAO,MAAM,YAAY;;;;CAIf,CAAC;AAEX,eAAO,MAAM,UAAU;;;CAGb,CAAC;AAEX,eAAO,MAAM,UAAU;;;;CAIb,CAAC;AAEX,eAAO,MAAM,wBAAwB;;;CAG3B,CAAC;AAEX,eAAO,MAAM,gBAAgB;;;;CAInB,CAAC;AAEX,eAAO,MAAM,mBAAmB;;;;CAItB,CAAC;AAEX,eAAO,MAAM,iBAAiB;;;;CAIpB,CAAC;AAEX,eAAO,MAAM,WAAW;;;;;;CAMd,CAAC;AAEX,eAAO,MAAM,eAAe;;;CAGlB,CAAC;AAEX,eAAO,MAAM,YAAY;;;CAGf,CAAC;AAEX,eAAO,MAAM,SAAS;;;;;CAKZ,CAAC"}
|
package/dist/values.js
CHANGED
|
@@ -7,6 +7,18 @@ export const INTEGRATION_AUTH_MATERIAL_KIND = {
|
|
|
7
7
|
apiKey: "api-key",
|
|
8
8
|
basic: "basic",
|
|
9
9
|
};
|
|
10
|
+
export const INTEGRATION_SETTINGS_INPUT_KIND = {
|
|
11
|
+
repository: "repository",
|
|
12
|
+
raw: "raw",
|
|
13
|
+
};
|
|
14
|
+
export const REPOSITORY_SETTINGS_UPDATE_KIND = {
|
|
15
|
+
repository: "repository",
|
|
16
|
+
baseUrl: "base_url",
|
|
17
|
+
};
|
|
18
|
+
export const ENSURE_REPOSITORY_RESULT_KIND = {
|
|
19
|
+
existing: "existing",
|
|
20
|
+
created: "created",
|
|
21
|
+
};
|
|
10
22
|
export const AUTHORIZATION_KIND = {
|
|
11
23
|
bearer: "bearer",
|
|
12
24
|
basic: "basic",
|
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.25",
|
|
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.25"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
43
|
"typescript": "^5.9.3",
|