@alpacakit/integrations 0.1.0-beta.21 → 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.
Files changed (53) hide show
  1. package/README.md +7 -0
  2. package/dist/catalog.d.ts +12 -0
  3. package/dist/catalog.d.ts.map +1 -0
  4. package/dist/catalog.js +82 -0
  5. package/dist/code-hosts/account.d.ts.map +1 -1
  6. package/dist/code-hosts/account.js +4 -1
  7. package/dist/code-hosts/facets.d.ts +2 -1
  8. package/dist/code-hosts/facets.d.ts.map +1 -1
  9. package/dist/code-hosts/facets.js +65 -12
  10. package/dist/code-hosts/gitea-pull-request-snapshot.d.ts +22 -0
  11. package/dist/code-hosts/gitea-pull-request-snapshot.d.ts.map +1 -0
  12. package/dist/code-hosts/gitea-pull-request-snapshot.js +226 -0
  13. package/dist/code-hosts/gitea.d.ts.map +1 -1
  14. package/dist/code-hosts/gitea.js +50 -49
  15. package/dist/code-hosts/github.d.ts.map +1 -1
  16. package/dist/code-hosts/github.js +34 -6
  17. package/dist/code-hosts/gitlab.d.ts.map +1 -1
  18. package/dist/code-hosts/gitlab.js +32 -8
  19. package/dist/code-hosts/helpers.js +4 -4
  20. package/dist/code-hosts/normalize.d.ts +1 -0
  21. package/dist/code-hosts/normalize.d.ts.map +1 -1
  22. package/dist/code-hosts/normalize.js +1 -1
  23. package/dist/code-hosts/schemas.d.ts +134 -0
  24. package/dist/code-hosts/schemas.d.ts.map +1 -1
  25. package/dist/code-hosts/schemas.js +31 -2
  26. package/dist/code-hosts/strategy.d.ts +9 -2
  27. package/dist/code-hosts/strategy.d.ts.map +1 -1
  28. package/dist/config/index.d.ts +1 -1
  29. package/dist/config/index.d.ts.map +1 -1
  30. package/dist/config/store.d.ts +2 -2
  31. package/dist/config/store.d.ts.map +1 -1
  32. package/dist/config/store.js +79 -1
  33. package/dist/definition.d.ts +34 -1
  34. package/dist/definition.d.ts.map +1 -1
  35. package/dist/index.d.ts +3 -2
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +2 -1
  38. package/dist/keyring/index.d.ts +1 -1
  39. package/dist/keyring/index.d.ts.map +1 -1
  40. package/dist/keyring/resolver.d.ts +1 -0
  41. package/dist/keyring/resolver.d.ts.map +1 -1
  42. package/dist/keyring/resolver.js +14 -18
  43. package/dist/model.d.ts +48 -8
  44. package/dist/model.d.ts.map +1 -1
  45. package/dist/runtime.d.ts +6 -4
  46. package/dist/runtime.d.ts.map +1 -1
  47. package/dist/runtime.js +3 -0
  48. package/dist/testing/contracts.d.ts.map +1 -1
  49. package/dist/testing/contracts.js +0 -1
  50. package/dist/values.d.ts +29 -0
  51. package/dist/values.d.ts.map +1 -1
  52. package/dist/values.js +29 -0
  53. package/package.json +2 -2
@@ -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"}
@@ -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":"AAEA,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;AAU/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,KAAK,4BAA4B,GAAG;IAClC,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;CAC1E;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,MAAM,GACd,uBAAuB,CAMzB;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,MAAM,GACd,sBAAsB,CA2CxB;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,SAAS,2BAA2B,EAAE,EAC/C,WAAW,EAAE,SAAS,4BAA4B,EAAE,GACnD,IAAI,CAqBN"}
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"}
@@ -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) {
@@ -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>;
@@ -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,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,MAAM,2BAA2B,GAAG;IACxC,QAAQ,CAAC,EAAE,EAAE,uBAAuB,CAAC;IACrC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,SAAS,IAAI;IACtC,QAAQ,CAAC,YAAY,EAAE,uBAAuB,CAAC;IAC/C,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;CAC9B,CAAC;AAEF,MAAM,WAAW,qBAAqB,CACpC,EAAE,SAAS,aAAa,GAAG,aAAa,EACxC,SAAS,GAAG,UAAU,EACtB,QAAQ,GAAG,OAAO;IAElB,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC;IAChB,QAAQ,CAAC,aAAa,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IAChD,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,KAAK,OAAO,CAAC;IAC3E,QAAQ,CAAC,IAAI,CAAC,EAAE,yBAAyB,CAAC;IAC1C,QAAQ,CAAC,KAAK,CAAC,EAAE,0BAA0B,CAAC;IAC5C,QAAQ,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,EAAE,cAAc,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC3D,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,SAAS,CAAC;IACtD,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,UAAU,CAAC;IACxD,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,OAAO,CAAC;CACnD;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,CAAC,EAAE,SAAS,aAAa,EAC9B,SAAS,EACT,QAAQ,EAER,UAAU,EAAE,qBAAqB,CAAC,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,GACzD,qBAAqB,CAAC,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,CAEhD;AAED,YAAY,EACV,sBAAsB,EACtB,sBAAsB,EACtB,wBAAwB,GACzB,CAAC"}
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_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
@@ -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,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,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,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,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_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";
@@ -1,2 +1,2 @@
1
- export { keyringResolver, keyringSecretStore, type KeyringSecretStore, } from "./resolver.js";
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,eAAe,EACf,kBAAkB,EAClB,KAAK,kBAAkB,GACxB,MAAM,eAAe,CAAC"}
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,5 +1,6 @@
1
1
  import type { SecretResolver } from "../ports.js";
2
2
  export interface KeyringSecretStore {
3
+ get(id: string): Promise<string | null>;
3
4
  set(id: string, value: string): Promise<void>;
4
5
  delete(id: string): Promise<void>;
5
6
  }
@@ -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,CA2B/D;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB,CAwBtE"}
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"}
@@ -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: `Keyring secret "${id}" could not be ${operation}`,
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_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>;
@@ -8,6 +8,9 @@ export type WorkItemSearchField = ValueOf<typeof WORK_ITEM_SEARCH_FIELD>;
8
8
  export type CommentKind = ValueOf<typeof COMMENT_KIND>;
9
9
  export type CommentSide = ValueOf<typeof COMMENT_SIDE>;
10
10
  export type PullRequestState = ValueOf<typeof PULL_REQUEST_STATE>;
11
+ export type PullRequestFeedbackKind = ValueOf<typeof PULL_REQUEST_FEEDBACK_KIND>;
12
+ export type PullRequestReviewContextAvailability = ValueOf<typeof PULL_REQUEST_REVIEW_CONTEXT_AVAILABILITY>;
13
+ export type PullRequestReviewState = ValueOf<typeof PULL_REQUEST_REVIEW_STATE>;
11
14
  export type FileChangeStatus = ValueOf<typeof FILE_CHANGE_STATUS>;
12
15
  export type ReviewDecision = ValueOf<typeof REVIEW_DECISION>;
13
16
  export type Mergeability = ValueOf<typeof MERGEABILITY>;
@@ -102,6 +105,36 @@ export type PullRequestStatus = {
102
105
  readonly headSha: string | null;
103
106
  readonly latestApprovedReviewSha: string | null;
104
107
  };
108
+ export type PullRequestFeedback = {
109
+ readonly id: string;
110
+ readonly kind: PullRequestFeedbackKind;
111
+ readonly body: string;
112
+ readonly url: string | null;
113
+ readonly author: UserRef | null;
114
+ readonly isBot: boolean;
115
+ readonly createdAt: string | null;
116
+ readonly updatedAt: string | null;
117
+ readonly reviewState: PullRequestReviewState | null;
118
+ readonly commitSha: string | null;
119
+ readonly stale: boolean;
120
+ readonly dismissed: boolean;
121
+ readonly resolved: boolean;
122
+ readonly path: string | null;
123
+ readonly line: number | null;
124
+ readonly side: CommentSide | null;
125
+ readonly inReplyTo: string | null;
126
+ };
127
+ export type PullRequestReviewContext = {
128
+ readonly availability: typeof PULL_REQUEST_REVIEW_CONTEXT_AVAILABILITY.available;
129
+ readonly feedback: readonly PullRequestFeedback[];
130
+ } | {
131
+ readonly availability: typeof PULL_REQUEST_REVIEW_CONTEXT_AVAILABILITY.unavailable | typeof PULL_REQUEST_REVIEW_CONTEXT_AVAILABILITY.unsupported;
132
+ };
133
+ export type PullRequestSnapshot = {
134
+ readonly pullRequest: PullRequestRecord;
135
+ readonly status: PullRequestStatus;
136
+ readonly reviewContext: PullRequestReviewContext;
137
+ };
105
138
  export type WorkItemDelta = {
106
139
  readonly ref: WorkItemRef;
107
140
  readonly kind: WorkItemKind;
@@ -241,6 +274,7 @@ export interface PullRequests {
241
274
  changedFiles(ref: PullRequestRef): Promise<PullRequestChangedFile[]>;
242
275
  commits(ref: PullRequestRef): Promise<PullRequestCommit[]>;
243
276
  status(ref: PullRequestRef): Promise<PullRequestStatus | null>;
277
+ snapshot(ref: PullRequestRef): Promise<PullRequestSnapshot | null>;
244
278
  headIncludedInBase(ref: PullRequestRef): Promise<boolean>;
245
279
  create(input: CreatePullRequestInput): Promise<PullRequestRecord>;
246
280
  merge(ref: PullRequestRef, method: MergeMethod): Promise<void>;
@@ -265,13 +299,20 @@ export interface LinkedBranch {
265
299
  ensure(workItem: WorkItemRef, branch: string): Promise<void>;
266
300
  }
267
301
  export type EnsureRepositoryInput = {
268
- readonly owner: string;
269
- readonly name: string;
270
- readonly private?: boolean;
271
- readonly description?: string;
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;
272
312
  };
273
- export interface RepositoryProvisioning {
274
- ensureRepository(input: EnsureRepositoryInput): Promise<RepositoryInfo>;
313
+ export interface RepositoryHost {
314
+ find(ref: RepositoryRef): Promise<RepositoryInfo | null>;
315
+ ensure(input: EnsureRepositoryInput): Promise<EnsureRepositoryResult>;
275
316
  }
276
317
  export interface Repository {
277
318
  info(): Promise<RepositoryInfo>;
@@ -280,7 +321,6 @@ export interface Repository {
280
321
  readonly reviewers: PullRequestReviewers | null;
281
322
  readonly draft: PullRequestDraft | null;
282
323
  readonly linkedBranch: LinkedBranch | null;
283
- readonly provisioning: RepositoryProvisioning | null;
284
324
  }
285
325
  export interface MembershipDirectory {
286
326
  /** Resolve one principal without requiring consumers to materialize a directory snapshot. */
@@ -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<Id extends IntegrationId = IntegrationId> {
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: Id | string, options: LoginRequest): LoginHandle;
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<Defs[number]["id"]>;
50
+ export declare function createIntegrationRuntime<const Defs extends readonly AnyDefinition[]>(options: IntegrationRuntimeOptions<Defs>): IntegrationRuntime;
49
51
  export {};
50
52
  //# sourceMappingURL=runtime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
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,CAkBN;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"}
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
  }