@relayflows/github-primitive 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/DESIGN.md +1054 -0
  2. package/README.md +129 -0
  3. package/dist/actions/branches.d.ts +13 -0
  4. package/dist/actions/branches.d.ts.map +1 -0
  5. package/dist/actions/branches.js +59 -0
  6. package/dist/actions/branches.js.map +1 -0
  7. package/dist/actions/commits.d.ts +15 -0
  8. package/dist/actions/commits.d.ts.map +1 -0
  9. package/dist/actions/commits.js +71 -0
  10. package/dist/actions/commits.js.map +1 -0
  11. package/dist/actions/files.d.ts +40 -0
  12. package/dist/actions/files.d.ts.map +1 -0
  13. package/dist/actions/files.js +133 -0
  14. package/dist/actions/files.js.map +1 -0
  15. package/dist/actions/issues.d.ts +29 -0
  16. package/dist/actions/issues.d.ts.map +1 -0
  17. package/dist/actions/issues.js +120 -0
  18. package/dist/actions/issues.js.map +1 -0
  19. package/dist/actions/pulls.d.ts +40 -0
  20. package/dist/actions/pulls.d.ts.map +1 -0
  21. package/dist/actions/pulls.js +169 -0
  22. package/dist/actions/pulls.js.map +1 -0
  23. package/dist/actions/repos.d.ts +18 -0
  24. package/dist/actions/repos.d.ts.map +1 -0
  25. package/dist/actions/repos.js +70 -0
  26. package/dist/actions/repos.js.map +1 -0
  27. package/dist/actions/users.d.ts +13 -0
  28. package/dist/actions/users.d.ts.map +1 -0
  29. package/dist/actions/users.js +51 -0
  30. package/dist/actions/users.js.map +1 -0
  31. package/dist/actions/utils.d.ts +39 -0
  32. package/dist/actions/utils.d.ts.map +1 -0
  33. package/dist/actions/utils.js +173 -0
  34. package/dist/actions/utils.js.map +1 -0
  35. package/dist/adapter.d.ts +49 -0
  36. package/dist/adapter.d.ts.map +1 -0
  37. package/dist/adapter.js +493 -0
  38. package/dist/adapter.js.map +1 -0
  39. package/dist/client.d.ts +149 -0
  40. package/dist/client.d.ts.map +1 -0
  41. package/dist/client.js +254 -0
  42. package/dist/client.js.map +1 -0
  43. package/dist/cloud-runtime.d.ts +31 -0
  44. package/dist/cloud-runtime.d.ts.map +1 -0
  45. package/dist/cloud-runtime.js +202 -0
  46. package/dist/cloud-runtime.js.map +1 -0
  47. package/dist/constants.d.ts +8 -0
  48. package/dist/constants.d.ts.map +1 -0
  49. package/dist/constants.js +8 -0
  50. package/dist/constants.js.map +1 -0
  51. package/dist/index.d.ts +14 -0
  52. package/dist/index.d.ts.map +1 -0
  53. package/dist/index.js +14 -0
  54. package/dist/index.js.map +1 -0
  55. package/dist/local-runtime.d.ts +46 -0
  56. package/dist/local-runtime.d.ts.map +1 -0
  57. package/dist/local-runtime.js +225 -0
  58. package/dist/local-runtime.js.map +1 -0
  59. package/dist/types.d.ts +513 -0
  60. package/dist/types.d.ts.map +1 -0
  61. package/dist/types.js +50 -0
  62. package/dist/types.js.map +1 -0
  63. package/docs/actions.md +49 -0
  64. package/examples/github-client.ts +38 -0
  65. package/package.json +43 -0
  66. package/templates/repository-inspection.yaml +28 -0
@@ -0,0 +1,173 @@
1
+ import { GitHubApiError, } from '../types.js';
2
+ export async function withActionError(description, operation) {
3
+ try {
4
+ return await operation();
5
+ }
6
+ catch (error) {
7
+ if (error instanceof GitHubApiError) {
8
+ throw new GitHubApiError(`Failed to ${description}: ${error.message}`, {
9
+ status: error.status,
10
+ responseBody: error.responseBody,
11
+ responseHeaders: error.responseHeaders,
12
+ cause: error,
13
+ });
14
+ }
15
+ throw new GitHubApiError(`Failed to ${description}: ${errorMessage(error)}`, { cause: error });
16
+ }
17
+ }
18
+ export function assertOwnerRepo(owner, repo) {
19
+ assertNonEmptyString(owner, 'owner');
20
+ assertNonEmptyString(repo, 'repo');
21
+ }
22
+ export function assertNonEmptyString(value, name) {
23
+ if (typeof value !== 'string' || !value.trim()) {
24
+ throw new GitHubApiError(`GitHub ${name} must be a non-empty string.`);
25
+ }
26
+ return value.trim();
27
+ }
28
+ export function assertPositiveInteger(value, name) {
29
+ if (!Number.isInteger(value) || value < 1) {
30
+ throw new GitHubApiError(`GitHub ${name} must be a positive integer.`);
31
+ }
32
+ return value;
33
+ }
34
+ export function repoEndpoint(owner, repo, suffix = '') {
35
+ assertOwnerRepo(owner, repo);
36
+ return `/repos/${encodeURIComponent(owner)}/${encodeURIComponent(repo)}${suffix}`;
37
+ }
38
+ export function contentsEndpoint(owner, repo, path = '') {
39
+ const normalizedPath = normalizeRepoPath(path);
40
+ const suffix = normalizedPath ? `/contents/${encodeRepoPath(normalizedPath)}` : '/contents';
41
+ return repoEndpoint(owner, repo, suffix);
42
+ }
43
+ export function branchEndpoint(owner, repo, branch) {
44
+ const normalizedBranch = assertNonEmptyString(branch, 'branch');
45
+ return repoEndpoint(owner, repo, `/branches/${encodeURIComponent(normalizedBranch)}`);
46
+ }
47
+ export function normalizeRepoPath(path) {
48
+ return path?.trim().replace(/^\/+/, '').replace(/\/+$/, '') ?? '';
49
+ }
50
+ export function normalizePerPage(perPage) {
51
+ if (typeof perPage === 'undefined') {
52
+ return undefined;
53
+ }
54
+ if (!Number.isInteger(perPage) || perPage < 1) {
55
+ throw new GitHubApiError('GitHub perPage must be a positive integer.');
56
+ }
57
+ return Math.min(perPage, 100);
58
+ }
59
+ export function removeUndefinedValues(values) {
60
+ const result = {};
61
+ for (const [key, value] of Object.entries(values)) {
62
+ if (typeof value !== 'undefined') {
63
+ result[key] = value;
64
+ }
65
+ }
66
+ return result;
67
+ }
68
+ export function hasDefinedValue(values) {
69
+ return Object.values(values).some((value) => typeof value !== 'undefined');
70
+ }
71
+ export function optionalRecord(value) {
72
+ return typeof value === 'object' && value !== null && !Array.isArray(value)
73
+ ? value
74
+ : undefined;
75
+ }
76
+ export function appendQuery(path, query) {
77
+ if (!query) {
78
+ return path;
79
+ }
80
+ const params = new URLSearchParams();
81
+ for (const [name, rawValue] of Object.entries(query)) {
82
+ const values = Array.isArray(rawValue) ? rawValue : [rawValue];
83
+ for (const value of values) {
84
+ if (value !== null && typeof value !== 'undefined') {
85
+ params.append(name, String(value));
86
+ }
87
+ }
88
+ }
89
+ const serialized = params.toString();
90
+ if (!serialized) {
91
+ return path;
92
+ }
93
+ return `${path}${path.includes('?') ? '&' : '?'}${serialized}`;
94
+ }
95
+ export function nonEmpty(value) {
96
+ const trimmed = value?.trim();
97
+ return trimmed ? trimmed : undefined;
98
+ }
99
+ export function trimTrailingSlash(value) {
100
+ const trimmed = nonEmpty(value);
101
+ return trimmed?.replace(/\/+$/, '');
102
+ }
103
+ export function queryWithPerPage(query, perPage) {
104
+ const normalizedPerPage = normalizePerPage(perPage);
105
+ return typeof normalizedPerPage === 'undefined'
106
+ ? query
107
+ : {
108
+ ...query,
109
+ per_page: normalizedPerPage,
110
+ };
111
+ }
112
+ export function asRecord(value, name) {
113
+ if (typeof value !== 'object' || value === null || Array.isArray(value)) {
114
+ throw new GitHubApiError(`GitHub API response for ${name} was not an object.`);
115
+ }
116
+ return value;
117
+ }
118
+ export function asArray(value, name) {
119
+ if (!Array.isArray(value)) {
120
+ throw new GitHubApiError(`GitHub API response for ${name} was not an array.`);
121
+ }
122
+ return value;
123
+ }
124
+ export function mapGitHubOwner(value) {
125
+ const owner = asRecord(value, 'owner');
126
+ return {
127
+ login: stringValue(owner.login),
128
+ type: stringValue(owner.type, 'User'),
129
+ id: numberValue(owner.id),
130
+ avatarUrl: optionalString(owner.avatar_url),
131
+ htmlUrl: optionalString(owner.html_url),
132
+ };
133
+ }
134
+ export function mapLogin(value) {
135
+ const record = asRecord(value, 'user');
136
+ return {
137
+ login: stringValue(record.login),
138
+ };
139
+ }
140
+ export function mapLogins(value) {
141
+ if (!Array.isArray(value)) {
142
+ return [];
143
+ }
144
+ return value.map(mapLogin);
145
+ }
146
+ export function stringValue(value, fallback = '') {
147
+ return typeof value === 'string' ? value : fallback;
148
+ }
149
+ export function optionalString(value) {
150
+ return typeof value === 'string' && value.length > 0 ? value : undefined;
151
+ }
152
+ export function numberValue(value, fallback = 0) {
153
+ return typeof value === 'number' && Number.isFinite(value) ? value : fallback;
154
+ }
155
+ export function booleanValue(value, fallback = false) {
156
+ return typeof value === 'boolean' ? value : fallback;
157
+ }
158
+ export function stateValue(value) {
159
+ return value === 'closed' ? 'closed' : 'open';
160
+ }
161
+ export function visibilityValue(value, isPrivate) {
162
+ if (value === 'public' || value === 'private' || value === 'internal') {
163
+ return value;
164
+ }
165
+ return isPrivate ? 'private' : 'public';
166
+ }
167
+ export function errorMessage(error) {
168
+ return error instanceof Error ? error.message : String(error);
169
+ }
170
+ function encodeRepoPath(path) {
171
+ return path.split('/').map(encodeURIComponent).join('/');
172
+ }
173
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/actions/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,GAMf,MAAM,aAAa,CAAC;AAarB,MAAM,CAAC,KAAK,UAAU,eAAe,CAAI,WAAmB,EAAE,SAA2B;IACvF,IAAI,CAAC;QACH,OAAO,MAAM,SAAS,EAAE,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,cAAc,EAAE,CAAC;YACpC,MAAM,IAAI,cAAc,CAAC,aAAa,WAAW,KAAK,KAAK,CAAC,OAAO,EAAE,EAAE;gBACrE,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,eAAe,EAAE,KAAK,CAAC,eAAe;gBACtC,KAAK,EAAE,KAAK;aACb,CAAC,CAAC;QACL,CAAC;QAED,MAAM,IAAI,cAAc,CAAC,aAAa,WAAW,KAAK,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACjG,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAa,EAAE,IAAY;IACzD,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACrC,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAyB,EAAE,IAAY;IAC1E,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QAC/C,MAAM,IAAI,cAAc,CAAC,UAAU,IAAI,8BAA8B,CAAC,CAAC;IACzE,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAa,EAAE,IAAY;IAC/D,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,cAAc,CAAC,UAAU,IAAI,8BAA8B,CAAC,CAAC;IACzE,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAa,EAAE,IAAY,EAAE,MAAM,GAAG,EAAE;IACnE,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC7B,OAAO,UAAU,kBAAkB,CAAC,KAAK,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC;AACpF,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAa,EAAE,IAAY,EAAE,IAAI,GAAG,EAAE;IACrE,MAAM,cAAc,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,aAAa,cAAc,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;IAC5F,OAAO,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAa,EAAE,IAAY,EAAE,MAAc;IACxE,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAChE,OAAO,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,aAAa,kBAAkB,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;AACxF,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAwB;IACxD,OAAO,IAAI,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAA2B;IAC1D,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE,CAAC;QACnC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,cAAc,CAAC,4CAA4C,CAAC,CAAC;IACzE,CAAC;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,MAA+B;IAE/B,MAAM,MAAM,GAAgD,EAAE,CAAC;IAE/D,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE,CAAC;YACjC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAoC,CAAC;QACrD,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAA+B;IAC7D,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,WAAW,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACzE,CAAC,CAAE,KAAiC;QACpC,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,KAAoC;IAC5E,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IACrC,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACrD,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC/D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE,CAAC;gBACnD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IACrC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,UAAU,EAAE,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAAyB;IAChD,MAAM,OAAO,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC;IAC9B,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAyB;IACzD,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChC,OAAO,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAwB,EAAE,OAA2B;IACpF,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACpD,OAAO,OAAO,iBAAiB,KAAK,WAAW;QAC7C,CAAC,CAAC,KAAK;QACP,CAAC,CAAC;YACE,GAAG,KAAK;YACR,QAAQ,EAAE,iBAAiB;SAC5B,CAAC;AACR,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAAc,EAAE,IAAY;IACnD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,cAAc,CAAC,2BAA2B,IAAI,qBAAqB,CAAC,CAAC;IACjF,CAAC;IAED,OAAO,KAAsB,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,KAAc,EAAE,IAAY;IAClD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,cAAc,CAAC,2BAA2B,IAAI,oBAAoB,CAAC,CAAC;IAChF,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACvC,OAAO;QACL,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC;QAC/B,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC;QACrC,EAAE,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,SAAS,EAAE,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC;QAC3C,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC;KACxC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAAc;IACrC,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACvC,OAAO;QACL,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC;KACjC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAc;IACtC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAc,EAAE,QAAQ,GAAG,EAAE;IACvD,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAc,EAAE,QAAQ,GAAG,CAAC;IACtD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAc,EAAE,QAAQ,GAAG,KAAK;IAC3D,OAAO,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAc,EAAE,SAAkB;IAChE,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;QACtE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAc;IACzC,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3D,CAAC"}
@@ -0,0 +1,49 @@
1
+ import { GitHubAction, GitHubClientInterface, type BranchInfo, type CloseIssueParams, type CommitInfo, type CreateBranchParams, type CreateCommitParams, type CreateFileParams, type CreateIssueParams, type CreatePRParams, type DeleteFileParams, type FileInfo, type GetPRParams, type GetRepoParams, type GetUserParams, type GitHubActionName, type GitHubActionOutputMap, type GitHubActionParamsMap, type GitHubActionResult, type GitHubRuntime, type GitHubRuntimeAvailability, type GitHubRuntimeConfig, type GitHubRuntimeDetectionResult, type Issue, type ListCommitsParams, type ListFilesParams, type ListIssuesParams, type ListOrganizationsParams, type ListPRsParams, type ListReposParams, type MergePRParams, type OrganizationInfo, type PullRequest, type ReadFileParams, type Repository, type RepositoryRef, type RequiredGitHubRuntimeConfig, type UpdateFileParams, type UpdateIssueParams, type UpdatePRParams } from './types.js';
2
+ export declare function normalizeGitHubRuntimeConfig(config?: GitHubRuntimeConfig): RequiredGitHubRuntimeConfig;
3
+ export declare class GitHubRuntimeDetector {
4
+ static detect(config?: GitHubRuntimeConfig): Promise<GitHubRuntimeDetectionResult>;
5
+ static testRuntime(runtime: GitHubRuntime, config?: GitHubRuntimeConfig): Promise<GitHubRuntimeAvailability>;
6
+ static detectRuntime(config?: GitHubRuntimeConfig): Promise<GitHubRuntime>;
7
+ }
8
+ export declare abstract class BaseGitHubAdapter extends GitHubClientInterface {
9
+ private retryUsed;
10
+ constructor(config?: GitHubRuntimeConfig);
11
+ executeAction<Name extends GitHubAction>(action: Name, params: GitHubActionParamsMap[Name]): Promise<GitHubActionResult<GitHubActionOutputMap[Name]>>;
12
+ executeAction<TOutput = unknown>(action: GitHubAction | GitHubActionName, params?: unknown): Promise<GitHubActionResult<TOutput>>;
13
+ listRepositories(params?: ListReposParams): Promise<Repository[]>;
14
+ getRepository(params: GetRepoParams): Promise<Repository>;
15
+ listIssues(params: ListIssuesParams): Promise<Issue[]>;
16
+ createIssue(params: CreateIssueParams): Promise<Issue>;
17
+ updateIssue(params: UpdateIssueParams): Promise<Issue>;
18
+ closeIssue(params: CloseIssueParams): Promise<Issue>;
19
+ listPullRequests(params: ListPRsParams): Promise<PullRequest[]>;
20
+ getPullRequest(params: GetPRParams): Promise<PullRequest>;
21
+ createPullRequest(params: CreatePRParams): Promise<PullRequest>;
22
+ updatePullRequest(params: UpdatePRParams): Promise<PullRequest>;
23
+ mergePullRequest(params: MergePRParams): Promise<PullRequest>;
24
+ listFiles(params: ListFilesParams): Promise<FileInfo[]>;
25
+ readFile(params: ReadFileParams): Promise<string>;
26
+ createFile(params: CreateFileParams): Promise<void>;
27
+ updateFile(params: UpdateFileParams): Promise<FileInfo>;
28
+ deleteFile(params: DeleteFileParams): Promise<void>;
29
+ listBranches(params: RepositoryRef): Promise<BranchInfo[]>;
30
+ createBranch(params: CreateBranchParams): Promise<void>;
31
+ listCommits(params: ListCommitsParams): Promise<CommitInfo[]>;
32
+ createCommit(params: CreateCommitParams): Promise<CommitInfo>;
33
+ getUser(params?: GetUserParams): Promise<GitHubActionOutputMap[GitHubAction.GetUser]>;
34
+ listOrganizations(params?: ListOrganizationsParams): Promise<OrganizationInfo[]>;
35
+ protected executeWithRetries<T>(operation: () => Promise<T>): Promise<T>;
36
+ protected isRetryableError(error: unknown): boolean;
37
+ protected retryDelayMs(attempt: number, error: unknown): number;
38
+ private dispatchAction;
39
+ }
40
+ export declare class GitHubAdapterFactory {
41
+ static create(config?: GitHubRuntimeConfig): Promise<GitHubClientInterface>;
42
+ static detect(config?: GitHubRuntimeConfig): Promise<GitHubRuntimeDetectionResult>;
43
+ static detectRuntime(config?: GitHubRuntimeConfig): Promise<GitHubRuntime>;
44
+ static testRuntime(runtime: GitHubRuntime, config?: GitHubRuntimeConfig): Promise<GitHubRuntimeAvailability>;
45
+ }
46
+ export declare const GitHubClientFactory: typeof GitHubAdapterFactory;
47
+ export declare function detectGitHubRuntime(config?: GitHubRuntimeConfig): Promise<GitHubRuntimeDetectionResult>;
48
+ export declare function createGitHubAdapter(config?: GitHubRuntimeConfig): Promise<GitHubClientInterface>;
49
+ //# sourceMappingURL=adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}