@intentic/providers 1.18.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 (207) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +26 -0
  3. package/dist/app.d.ts +4 -0
  4. package/dist/app.d.ts.map +1 -0
  5. package/dist/app.js +72 -0
  6. package/dist/app.js.map +1 -0
  7. package/dist/authentik-api.d.ts +23 -0
  8. package/dist/authentik-api.d.ts.map +1 -0
  9. package/dist/authentik-api.js +67 -0
  10. package/dist/authentik-api.js.map +1 -0
  11. package/dist/authentik-client.d.ts +4 -0
  12. package/dist/authentik-client.d.ts.map +1 -0
  13. package/dist/authentik-client.js +50 -0
  14. package/dist/authentik-client.js.map +1 -0
  15. package/dist/authentik.d.ts +4 -0
  16. package/dist/authentik.d.ts.map +1 -0
  17. package/dist/authentik.js +132 -0
  18. package/dist/authentik.js.map +1 -0
  19. package/dist/backing-ssh.d.ts +8 -0
  20. package/dist/backing-ssh.d.ts.map +1 -0
  21. package/dist/backing-ssh.js +44 -0
  22. package/dist/backing-ssh.js.map +1 -0
  23. package/dist/backup-restore.d.ts +15 -0
  24. package/dist/backup-restore.d.ts.map +1 -0
  25. package/dist/backup-restore.js +49 -0
  26. package/dist/backup-restore.js.map +1 -0
  27. package/dist/backup.d.ts +4 -0
  28. package/dist/backup.d.ts.map +1 -0
  29. package/dist/backup.js +150 -0
  30. package/dist/backup.js.map +1 -0
  31. package/dist/cf-route.d.ts +5 -0
  32. package/dist/cf-route.d.ts.map +1 -0
  33. package/dist/cf-route.js +74 -0
  34. package/dist/cf-route.js.map +1 -0
  35. package/dist/ci.d.ts +4 -0
  36. package/dist/ci.d.ts.map +1 -0
  37. package/dist/ci.js +151 -0
  38. package/dist/ci.js.map +1 -0
  39. package/dist/cloudflare-api.d.ts +85 -0
  40. package/dist/cloudflare-api.d.ts.map +1 -0
  41. package/dist/cloudflare-api.js +110 -0
  42. package/dist/cloudflare-api.js.map +1 -0
  43. package/dist/cloudflare.d.ts +4 -0
  44. package/dist/cloudflare.d.ts.map +1 -0
  45. package/dist/cloudflare.js +29 -0
  46. package/dist/cloudflare.js.map +1 -0
  47. package/dist/deploy-hook.d.ts +4 -0
  48. package/dist/deploy-hook.d.ts.map +1 -0
  49. package/dist/deploy-hook.js +79 -0
  50. package/dist/deploy-hook.js.map +1 -0
  51. package/dist/deployment.d.ts +4 -0
  52. package/dist/deployment.d.ts.map +1 -0
  53. package/dist/deployment.js +103 -0
  54. package/dist/deployment.js.map +1 -0
  55. package/dist/discord-api.d.ts +31 -0
  56. package/dist/discord-api.d.ts.map +1 -0
  57. package/dist/discord-api.js +85 -0
  58. package/dist/discord-api.js.map +1 -0
  59. package/dist/discord.d.ts +4 -0
  60. package/dist/discord.d.ts.map +1 -0
  61. package/dist/discord.js +133 -0
  62. package/dist/discord.js.map +1 -0
  63. package/dist/forgejo-api.d.ts +209 -0
  64. package/dist/forgejo-api.d.ts.map +1 -0
  65. package/dist/forgejo-api.fake.d.ts +3 -0
  66. package/dist/forgejo-api.fake.d.ts.map +1 -0
  67. package/dist/forgejo-api.fake.js +31 -0
  68. package/dist/forgejo-api.fake.js.map +1 -0
  69. package/dist/forgejo-api.js +181 -0
  70. package/dist/forgejo-api.js.map +1 -0
  71. package/dist/forgejo-notify.d.ts +4 -0
  72. package/dist/forgejo-notify.d.ts.map +1 -0
  73. package/dist/forgejo-notify.js +103 -0
  74. package/dist/forgejo-notify.js.map +1 -0
  75. package/dist/forgejo-org.d.ts +4 -0
  76. package/dist/forgejo-org.d.ts.map +1 -0
  77. package/dist/forgejo-org.js +43 -0
  78. package/dist/forgejo-org.js.map +1 -0
  79. package/dist/forgejo-runner.d.ts +4 -0
  80. package/dist/forgejo-runner.d.ts.map +1 -0
  81. package/dist/forgejo-runner.js +111 -0
  82. package/dist/forgejo-runner.js.map +1 -0
  83. package/dist/forgejo-team.d.ts +4 -0
  84. package/dist/forgejo-team.d.ts.map +1 -0
  85. package/dist/forgejo-team.js +68 -0
  86. package/dist/forgejo-team.js.map +1 -0
  87. package/dist/forgejo-user.d.ts +4 -0
  88. package/dist/forgejo-user.d.ts.map +1 -0
  89. package/dist/forgejo-user.js +50 -0
  90. package/dist/forgejo-user.js.map +1 -0
  91. package/dist/forgejo.d.ts +4 -0
  92. package/dist/forgejo.d.ts.map +1 -0
  93. package/dist/forgejo.js +169 -0
  94. package/dist/forgejo.js.map +1 -0
  95. package/dist/garage-bucket.d.ts +4 -0
  96. package/dist/garage-bucket.d.ts.map +1 -0
  97. package/dist/garage-bucket.js +92 -0
  98. package/dist/garage-bucket.js.map +1 -0
  99. package/dist/garage.d.ts +4 -0
  100. package/dist/garage.d.ts.map +1 -0
  101. package/dist/garage.js +124 -0
  102. package/dist/garage.js.map +1 -0
  103. package/dist/gh-ci.d.ts +4 -0
  104. package/dist/gh-ci.d.ts.map +1 -0
  105. package/dist/gh-ci.js +153 -0
  106. package/dist/gh-ci.js.map +1 -0
  107. package/dist/gh-deployment.d.ts +4 -0
  108. package/dist/gh-deployment.d.ts.map +1 -0
  109. package/dist/gh-deployment.js +92 -0
  110. package/dist/gh-deployment.js.map +1 -0
  111. package/dist/gh-repo.d.ts +4 -0
  112. package/dist/gh-repo.d.ts.map +1 -0
  113. package/dist/gh-repo.js +52 -0
  114. package/dist/gh-repo.js.map +1 -0
  115. package/dist/github-api.d.ts +70 -0
  116. package/dist/github-api.d.ts.map +1 -0
  117. package/dist/github-api.js +120 -0
  118. package/dist/github-api.js.map +1 -0
  119. package/dist/github.d.ts +4 -0
  120. package/dist/github.d.ts.map +1 -0
  121. package/dist/github.js +34 -0
  122. package/dist/github.js.map +1 -0
  123. package/dist/guarded-update.d.ts +14 -0
  124. package/dist/guarded-update.d.ts.map +1 -0
  125. package/dist/guarded-update.js +25 -0
  126. package/dist/guarded-update.js.map +1 -0
  127. package/dist/host.d.ts +4 -0
  128. package/dist/host.d.ts.map +1 -0
  129. package/dist/host.js +48 -0
  130. package/dist/host.js.map +1 -0
  131. package/dist/index.d.ts +42 -0
  132. package/dist/index.d.ts.map +1 -0
  133. package/dist/index.js +35 -0
  134. package/dist/index.js.map +1 -0
  135. package/dist/inputs.d.ts +23 -0
  136. package/dist/inputs.d.ts.map +1 -0
  137. package/dist/inputs.js +34 -0
  138. package/dist/inputs.js.map +1 -0
  139. package/dist/komodo-api.d.ts +150 -0
  140. package/dist/komodo-api.d.ts.map +1 -0
  141. package/dist/komodo-api.js +104 -0
  142. package/dist/komodo-api.js.map +1 -0
  143. package/dist/komodo-notify.d.ts +4 -0
  144. package/dist/komodo-notify.d.ts.map +1 -0
  145. package/dist/komodo-notify.js +88 -0
  146. package/dist/komodo-notify.js.map +1 -0
  147. package/dist/komodo-periphery.d.ts +4 -0
  148. package/dist/komodo-periphery.d.ts.map +1 -0
  149. package/dist/komodo-periphery.js +92 -0
  150. package/dist/komodo-periphery.js.map +1 -0
  151. package/dist/komodo-server.d.ts +4 -0
  152. package/dist/komodo-server.d.ts.map +1 -0
  153. package/dist/komodo-server.js +54 -0
  154. package/dist/komodo-server.js.map +1 -0
  155. package/dist/komodo-user.d.ts +4 -0
  156. package/dist/komodo-user.d.ts.map +1 -0
  157. package/dist/komodo-user.js +66 -0
  158. package/dist/komodo-user.js.map +1 -0
  159. package/dist/komodo.d.ts +4 -0
  160. package/dist/komodo.d.ts.map +1 -0
  161. package/dist/komodo.js +222 -0
  162. package/dist/komodo.js.map +1 -0
  163. package/dist/postgres-database.d.ts +4 -0
  164. package/dist/postgres-database.d.ts.map +1 -0
  165. package/dist/postgres-database.js +88 -0
  166. package/dist/postgres-database.js.map +1 -0
  167. package/dist/postgres.d.ts +4 -0
  168. package/dist/postgres.d.ts.map +1 -0
  169. package/dist/postgres.js +95 -0
  170. package/dist/postgres.js.map +1 -0
  171. package/dist/providers.d.ts +21 -0
  172. package/dist/providers.d.ts.map +1 -0
  173. package/dist/providers.js +86 -0
  174. package/dist/providers.js.map +1 -0
  175. package/dist/repo.d.ts +4 -0
  176. package/dist/repo.d.ts.map +1 -0
  177. package/dist/repo.js +80 -0
  178. package/dist/repo.js.map +1 -0
  179. package/dist/signoz.d.ts +4 -0
  180. package/dist/signoz.d.ts.map +1 -0
  181. package/dist/signoz.js +386 -0
  182. package/dist/signoz.js.map +1 -0
  183. package/dist/ssh-probe.d.ts +5 -0
  184. package/dist/ssh-probe.d.ts.map +1 -0
  185. package/dist/ssh-probe.js +22 -0
  186. package/dist/ssh-probe.js.map +1 -0
  187. package/dist/ssh.d.ts +27 -0
  188. package/dist/ssh.d.ts.map +1 -0
  189. package/dist/ssh.js +79 -0
  190. package/dist/ssh.js.map +1 -0
  191. package/dist/tunnel.d.ts +5 -0
  192. package/dist/tunnel.d.ts.map +1 -0
  193. package/dist/tunnel.js +126 -0
  194. package/dist/tunnel.js.map +1 -0
  195. package/dist/valkey-namespace.d.ts +4 -0
  196. package/dist/valkey-namespace.d.ts.map +1 -0
  197. package/dist/valkey-namespace.js +78 -0
  198. package/dist/valkey-namespace.js.map +1 -0
  199. package/dist/valkey.d.ts +4 -0
  200. package/dist/valkey.d.ts.map +1 -0
  201. package/dist/valkey.js +94 -0
  202. package/dist/valkey.js.map +1 -0
  203. package/dist/workspace.d.ts +4 -0
  204. package/dist/workspace.d.ts.map +1 -0
  205. package/dist/workspace.js +97 -0
  206. package/dist/workspace.js.map +1 -0
  207. package/package.json +53 -0
@@ -0,0 +1,209 @@
1
+ import { z } from "zod";
2
+ export interface ForgejoRepo {
3
+ readonly cloneUrl: string;
4
+ readonly sshUrl: string;
5
+ }
6
+ export interface ForgejoTeam {
7
+ readonly id: number;
8
+ readonly permission: string;
9
+ }
10
+ export declare const forgejoHookSchema: z.ZodObject<{
11
+ id: z.ZodNumber;
12
+ type: z.ZodString;
13
+ config: z.ZodRecord<z.ZodString, z.ZodString>;
14
+ events: z.ZodArray<z.ZodString>;
15
+ active: z.ZodBoolean;
16
+ }, z.core.$strip>;
17
+ export type ForgejoHook = z.infer<typeof forgejoHookSchema>;
18
+ export interface ForgejoApi {
19
+ readonly findRepo: (args: {
20
+ readonly baseUrl: string;
21
+ readonly user: string;
22
+ readonly password: string;
23
+ readonly owner: string;
24
+ readonly name: string;
25
+ }) => Promise<ForgejoRepo | undefined>;
26
+ readonly createRepo: (args: {
27
+ readonly baseUrl: string;
28
+ readonly user: string;
29
+ readonly password: string;
30
+ readonly owner: string;
31
+ readonly ownerIsOrg: boolean;
32
+ readonly name: string;
33
+ readonly private: boolean;
34
+ readonly autoInit: boolean;
35
+ }) => Promise<ForgejoRepo>;
36
+ readonly findUser: (args: {
37
+ readonly baseUrl: string;
38
+ readonly user: string;
39
+ readonly password: string;
40
+ readonly username: string;
41
+ }) => Promise<boolean>;
42
+ readonly createUser: (args: {
43
+ readonly baseUrl: string;
44
+ readonly user: string;
45
+ readonly password: string;
46
+ readonly username: string;
47
+ readonly email: string;
48
+ readonly accountPassword: string;
49
+ }) => Promise<void>;
50
+ readonly findOrg: (args: {
51
+ readonly baseUrl: string;
52
+ readonly user: string;
53
+ readonly password: string;
54
+ readonly org: string;
55
+ }) => Promise<boolean>;
56
+ readonly createOrg: (args: {
57
+ readonly baseUrl: string;
58
+ readonly user: string;
59
+ readonly password: string;
60
+ readonly org: string;
61
+ }) => Promise<void>;
62
+ readonly findTeam: (args: {
63
+ readonly baseUrl: string;
64
+ readonly user: string;
65
+ readonly password: string;
66
+ readonly org: string;
67
+ readonly name: string;
68
+ }) => Promise<ForgejoTeam | undefined>;
69
+ readonly createTeam: (args: {
70
+ readonly baseUrl: string;
71
+ readonly user: string;
72
+ readonly password: string;
73
+ readonly org: string;
74
+ readonly name: string;
75
+ readonly permission: string;
76
+ }) => Promise<ForgejoTeam>;
77
+ readonly addTeamMember: (args: {
78
+ readonly baseUrl: string;
79
+ readonly user: string;
80
+ readonly password: string;
81
+ readonly teamId: number;
82
+ readonly username: string;
83
+ }) => Promise<void>;
84
+ readonly addTeamRepo: (args: {
85
+ readonly baseUrl: string;
86
+ readonly user: string;
87
+ readonly password: string;
88
+ readonly teamId: number;
89
+ readonly org: string;
90
+ readonly name: string;
91
+ }) => Promise<void>;
92
+ readonly listHooks: (args: {
93
+ readonly baseUrl: string;
94
+ readonly user: string;
95
+ readonly password: string;
96
+ readonly owner: string;
97
+ readonly name: string;
98
+ }) => Promise<readonly ForgejoHook[]>;
99
+ readonly createHook: (args: {
100
+ readonly baseUrl: string;
101
+ readonly user: string;
102
+ readonly password: string;
103
+ readonly owner: string;
104
+ readonly name: string;
105
+ readonly type: string;
106
+ readonly config: Readonly<Record<string, string>>;
107
+ readonly events: readonly string[];
108
+ }) => Promise<void>;
109
+ readonly updateHook: (args: {
110
+ readonly baseUrl: string;
111
+ readonly user: string;
112
+ readonly password: string;
113
+ readonly owner: string;
114
+ readonly name: string;
115
+ readonly id: number;
116
+ readonly config: Readonly<Record<string, string>>;
117
+ readonly events: readonly string[];
118
+ }) => Promise<void>;
119
+ readonly latestCommit: (args: {
120
+ readonly baseUrl: string;
121
+ readonly user: string;
122
+ readonly password: string;
123
+ readonly owner: string;
124
+ readonly name: string;
125
+ readonly branch: string;
126
+ }) => Promise<string | undefined>;
127
+ readonly readFile: (args: {
128
+ readonly baseUrl: string;
129
+ readonly user: string;
130
+ readonly password: string;
131
+ readonly owner: string;
132
+ readonly name: string;
133
+ readonly branch: string;
134
+ readonly path: string;
135
+ }) => Promise<string | undefined>;
136
+ readonly commitFile: (args: {
137
+ readonly baseUrl: string;
138
+ readonly user: string;
139
+ readonly password: string;
140
+ readonly owner: string;
141
+ readonly name: string;
142
+ readonly branch: string;
143
+ readonly path: string;
144
+ readonly content: string;
145
+ readonly message: string;
146
+ }) => Promise<void>;
147
+ readonly setRepoSecret: (args: {
148
+ readonly baseUrl: string;
149
+ readonly user: string;
150
+ readonly password: string;
151
+ readonly owner: string;
152
+ readonly name: string;
153
+ readonly secretName: string;
154
+ readonly data: string;
155
+ }) => Promise<void>;
156
+ readonly deleteRepo: (args: {
157
+ readonly baseUrl: string;
158
+ readonly user: string;
159
+ readonly password: string;
160
+ readonly owner: string;
161
+ readonly name: string;
162
+ }) => Promise<void>;
163
+ readonly deleteFile: (args: {
164
+ readonly baseUrl: string;
165
+ readonly user: string;
166
+ readonly password: string;
167
+ readonly owner: string;
168
+ readonly name: string;
169
+ readonly branch: string;
170
+ readonly path: string;
171
+ readonly message: string;
172
+ }) => Promise<void>;
173
+ readonly deleteRepoSecret: (args: {
174
+ readonly baseUrl: string;
175
+ readonly user: string;
176
+ readonly password: string;
177
+ readonly owner: string;
178
+ readonly name: string;
179
+ readonly secretName: string;
180
+ }) => Promise<void>;
181
+ readonly deleteHook: (args: {
182
+ readonly baseUrl: string;
183
+ readonly user: string;
184
+ readonly password: string;
185
+ readonly owner: string;
186
+ readonly name: string;
187
+ readonly id: number;
188
+ }) => Promise<void>;
189
+ readonly deleteUser: (args: {
190
+ readonly baseUrl: string;
191
+ readonly user: string;
192
+ readonly password: string;
193
+ readonly username: string;
194
+ }) => Promise<void>;
195
+ readonly deleteOrg: (args: {
196
+ readonly baseUrl: string;
197
+ readonly user: string;
198
+ readonly password: string;
199
+ readonly org: string;
200
+ }) => Promise<void>;
201
+ readonly deleteTeam: (args: {
202
+ readonly baseUrl: string;
203
+ readonly user: string;
204
+ readonly password: string;
205
+ readonly teamId: number;
206
+ }) => Promise<void>;
207
+ }
208
+ export declare const forgejoApi: ForgejoApi;
209
+ //# sourceMappingURL=forgejo-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forgejo-api.d.ts","sourceRoot":"","sources":["../src/forgejo-api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { ForgejoApi } from "./forgejo-api.js";
2
+ export declare const fakeForgejoApi: (overrides?: Partial<ForgejoApi>) => ForgejoApi;
3
+ //# sourceMappingURL=forgejo-api.fake.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forgejo-api.fake.d.ts","sourceRoot":"","sources":["../src/forgejo-api.fake.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAQnD,eAAO,MAAM,cAAc,GAAI,YAAW,OAAO,CAAC,UAAU,CAAM,KAAG,UA0BnE,CAAC"}
@@ -0,0 +1,31 @@
1
+ const notUsed = async () => {
2
+ throw new Error("forgejo-api method not stubbed in this fake");
3
+ };
4
+ export const fakeForgejoApi = (overrides = {}) => ({
5
+ findRepo: notUsed,
6
+ createRepo: notUsed,
7
+ findUser: notUsed,
8
+ createUser: notUsed,
9
+ findOrg: notUsed,
10
+ createOrg: notUsed,
11
+ findTeam: notUsed,
12
+ createTeam: notUsed,
13
+ addTeamMember: notUsed,
14
+ addTeamRepo: notUsed,
15
+ listHooks: notUsed,
16
+ createHook: notUsed,
17
+ updateHook: notUsed,
18
+ latestCommit: notUsed,
19
+ readFile: notUsed,
20
+ commitFile: notUsed,
21
+ setRepoSecret: notUsed,
22
+ deleteRepo: notUsed,
23
+ deleteFile: notUsed,
24
+ deleteRepoSecret: notUsed,
25
+ deleteHook: notUsed,
26
+ deleteUser: notUsed,
27
+ deleteOrg: notUsed,
28
+ deleteTeam: notUsed,
29
+ ...overrides,
30
+ });
31
+ //# sourceMappingURL=forgejo-api.fake.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forgejo-api.fake.js","sourceRoot":"","sources":["../src/forgejo-api.fake.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,GAAG,KAAK,IAAoB,EAAE;IACvC,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;AACnE,CAAC,CAAC;AAIF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,YAAiC,EAAE,EAAc,EAAE,CAAC,CAAC;IAChF,QAAQ,EAAE,OAAO;IACjB,UAAU,EAAE,OAAO;IACnB,QAAQ,EAAE,OAAO;IACjB,UAAU,EAAE,OAAO;IACnB,OAAO,EAAE,OAAO;IAChB,SAAS,EAAE,OAAO;IAClB,QAAQ,EAAE,OAAO;IACjB,UAAU,EAAE,OAAO;IACnB,aAAa,EAAE,OAAO;IACtB,WAAW,EAAE,OAAO;IACpB,SAAS,EAAE,OAAO;IAClB,UAAU,EAAE,OAAO;IACnB,UAAU,EAAE,OAAO;IACnB,YAAY,EAAE,OAAO;IACrB,QAAQ,EAAE,OAAO;IACjB,UAAU,EAAE,OAAO;IACnB,aAAa,EAAE,OAAO;IACtB,UAAU,EAAE,OAAO;IACnB,UAAU,EAAE,OAAO;IACnB,gBAAgB,EAAE,OAAO;IACzB,UAAU,EAAE,OAAO;IACnB,UAAU,EAAE,OAAO;IACnB,SAAS,EAAE,OAAO;IAClB,UAAU,EAAE,OAAO;IACnB,GAAG,SAAS;CACf,CAAC,CAAC"}
@@ -0,0 +1,181 @@
1
+ import { z } from "zod";
2
+ import { parseResponse } from "./inputs.js";
3
+ const rawRepoSchema = z.object({ clone_url: z.string(), ssh_url: z.string() });
4
+ const rawCommitSchema = z.object({ sha: z.string() });
5
+ const rawContentSchema = z.object({ sha: z.string() });
6
+ const rawTeamSchema = z.object({ id: z.number(), permission: z.string() });
7
+ const encodePath = (path) => path.split("/").map(encodeURIComponent).join("/");
8
+ export const forgejoHookSchema = z.object({
9
+ id: z.number(),
10
+ type: z.string(),
11
+ config: z.record(z.string(), z.string()),
12
+ events: z.array(z.string()),
13
+ active: z.boolean(),
14
+ });
15
+ const authHeader = (user, password) => `Basic ${Buffer.from(`${user}:${password}`).toString("base64")}`;
16
+ const request = async (args) => fetch(`${args.baseUrl}/api/v1${args.path}`, {
17
+ method: args.method,
18
+ headers: {
19
+ Authorization: authHeader(args.user, args.password),
20
+ ...(args.body !== undefined ? { "Content-Type": "application/json" } : {}),
21
+ },
22
+ ...(args.body !== undefined ? { body: JSON.stringify(args.body) } : {}),
23
+ });
24
+ const ok = async (response, method, path) => {
25
+ if (!response.ok) {
26
+ throw new Error(`Forgejo API ${method} ${path} failed (HTTP ${response.status}): ${await response.text()}`);
27
+ }
28
+ return response;
29
+ };
30
+ const okOrMissing = async (response, method, path) => {
31
+ if (response.status === 404) {
32
+ return;
33
+ }
34
+ await ok(response, method, path);
35
+ };
36
+ const toRepo = (raw) => ({ cloneUrl: raw.clone_url, sshUrl: raw.ssh_url });
37
+ export const forgejoApi = {
38
+ findRepo: async ({ baseUrl, user, password, owner, name }) => {
39
+ const path = `/repos/${encodeURIComponent(owner)}/${encodeURIComponent(name)}`;
40
+ const response = await request({ method: "GET", baseUrl, path, user, password });
41
+ if (response.status === 404) {
42
+ return undefined;
43
+ }
44
+ return toRepo(parseResponse(rawRepoSchema, await (await ok(response, "GET", path)).json(), `Forgejo API GET ${path}`));
45
+ },
46
+ createRepo: async ({ baseUrl, user, password, owner, ownerIsOrg, name, private: isPrivate, autoInit }) => {
47
+ const path = ownerIsOrg ? `/orgs/${encodeURIComponent(owner)}/repos` : `/admin/users/${encodeURIComponent(owner)}/repos`;
48
+ const response = await request({ method: "POST", baseUrl, path, user, password, body: { name, private: isPrivate, auto_init: autoInit } });
49
+ return toRepo(parseResponse(rawRepoSchema, await (await ok(response, "POST", path)).json(), `Forgejo API POST ${path}`));
50
+ },
51
+ findUser: async ({ baseUrl, user, password, username }) => {
52
+ const path = `/users/${encodeURIComponent(username)}`;
53
+ const response = await request({ method: "GET", baseUrl, path, user, password });
54
+ if (response.status === 404) {
55
+ return false;
56
+ }
57
+ await ok(response, "GET", path);
58
+ return true;
59
+ },
60
+ createUser: async ({ baseUrl, user, password, username, email, accountPassword }) => {
61
+ const path = "/admin/users";
62
+ const body = { username, email, password: accountPassword, must_change_password: false, visibility: "private" };
63
+ await ok(await request({ method: "POST", baseUrl, path, user, password, body }), "POST", path);
64
+ },
65
+ findOrg: async ({ baseUrl, user, password, org }) => {
66
+ const path = `/orgs/${encodeURIComponent(org)}`;
67
+ const response = await request({ method: "GET", baseUrl, path, user, password });
68
+ if (response.status === 404) {
69
+ return false;
70
+ }
71
+ await ok(response, "GET", path);
72
+ return true;
73
+ },
74
+ createOrg: async ({ baseUrl, user, password, org }) => {
75
+ const path = `/admin/users/${encodeURIComponent(user)}/orgs`;
76
+ await ok(await request({ method: "POST", baseUrl, path, user, password, body: { username: org, visibility: "private" } }), "POST", path);
77
+ },
78
+ findTeam: async ({ baseUrl, user, password, org, name }) => {
79
+ const path = `/orgs/${encodeURIComponent(org)}/teams/${encodeURIComponent(name)}`;
80
+ const response = await request({ method: "GET", baseUrl, path, user, password });
81
+ if (response.status === 404) {
82
+ return undefined;
83
+ }
84
+ const raw = parseResponse(rawTeamSchema, await (await ok(response, "GET", path)).json(), `Forgejo API GET ${path}`);
85
+ return { id: raw.id, permission: raw.permission };
86
+ },
87
+ createTeam: async ({ baseUrl, user, password, org, name, permission }) => {
88
+ const path = `/orgs/${encodeURIComponent(org)}/teams`;
89
+ const body = { name, permission, units: ["repo.code"], includes_all_repositories: false, can_create_org_repo: false };
90
+ const response = await request({ method: "POST", baseUrl, path, user, password, body });
91
+ const raw = parseResponse(rawTeamSchema, await (await ok(response, "POST", path)).json(), `Forgejo API POST ${path}`);
92
+ return { id: raw.id, permission: raw.permission };
93
+ },
94
+ addTeamMember: async ({ baseUrl, user, password, teamId, username }) => {
95
+ const path = `/teams/${teamId}/members/${encodeURIComponent(username)}`;
96
+ await ok(await request({ method: "PUT", baseUrl, path, user, password }), "PUT", path);
97
+ },
98
+ addTeamRepo: async ({ baseUrl, user, password, teamId, org, name }) => {
99
+ const path = `/teams/${teamId}/repos/${encodeURIComponent(org)}/${encodeURIComponent(name)}`;
100
+ await ok(await request({ method: "PUT", baseUrl, path, user, password }), "PUT", path);
101
+ },
102
+ listHooks: async ({ baseUrl, user, password, owner, name }) => {
103
+ const path = `/repos/${encodeURIComponent(owner)}/${encodeURIComponent(name)}/hooks`;
104
+ const response = await request({ method: "GET", baseUrl, path, user, password });
105
+ return parseResponse(z.array(forgejoHookSchema), await (await ok(response, "GET", path)).json(), `Forgejo API GET ${path}`);
106
+ },
107
+ createHook: async ({ baseUrl, user, password, owner, name, type, config, events }) => {
108
+ const path = `/repos/${encodeURIComponent(owner)}/${encodeURIComponent(name)}/hooks`;
109
+ await ok(await request({ method: "POST", baseUrl, path, user, password, body: { type, config, events, active: true } }), "POST", path);
110
+ },
111
+ updateHook: async ({ baseUrl, user, password, owner, name, id, config, events }) => {
112
+ const path = `/repos/${encodeURIComponent(owner)}/${encodeURIComponent(name)}/hooks/${id}`;
113
+ await ok(await request({ method: "PATCH", baseUrl, path, user, password, body: { config, events, active: true } }), "PATCH", path);
114
+ },
115
+ latestCommit: async ({ baseUrl, user, password, owner, name, branch }) => {
116
+ const path = `/repos/${encodeURIComponent(owner)}/${encodeURIComponent(name)}/commits?sha=${encodeURIComponent(branch)}&limit=1`;
117
+ const response = await request({ method: "GET", baseUrl, path, user, password });
118
+ if (!response.ok) {
119
+ return undefined;
120
+ }
121
+ const commits = parseResponse(z.array(rawCommitSchema), await response.json(), `Forgejo API GET ${path}`);
122
+ return commits[0]?.sha;
123
+ },
124
+ readFile: async ({ baseUrl, user, password, owner, name, branch, path: filePath }) => {
125
+ const path = `/repos/${encodeURIComponent(owner)}/${encodeURIComponent(name)}/raw/${encodePath(filePath)}?ref=${encodeURIComponent(branch)}`;
126
+ const response = await request({ method: "GET", baseUrl, path, user, password });
127
+ if (response.status === 404) {
128
+ return undefined;
129
+ }
130
+ return (await ok(response, "GET", path)).text();
131
+ },
132
+ commitFile: async ({ baseUrl, user, password, owner, name, branch, path: filePath, content, message }) => {
133
+ const path = `/repos/${encodeURIComponent(owner)}/${encodeURIComponent(name)}/contents/${encodePath(filePath)}`;
134
+ const base64 = Buffer.from(content).toString("base64");
135
+ const existing = await request({ method: "GET", baseUrl, path: `${path}?ref=${encodeURIComponent(branch)}`, user, password });
136
+ if (existing.status === 404) {
137
+ await ok(await request({ method: "POST", baseUrl, path, user, password, body: { content: base64, message, branch } }), "POST", path);
138
+ return;
139
+ }
140
+ const current = parseResponse(rawContentSchema, await (await ok(existing, "GET", path)).json(), `Forgejo API GET ${path}`);
141
+ await ok(await request({ method: "PUT", baseUrl, path, user, password, body: { content: base64, message, branch, sha: current.sha } }), "PUT", path);
142
+ },
143
+ setRepoSecret: async ({ baseUrl, user, password, owner, name, secretName, data }) => {
144
+ const path = `/repos/${encodeURIComponent(owner)}/${encodeURIComponent(name)}/actions/secrets/${encodeURIComponent(secretName)}`;
145
+ await ok(await request({ method: "PUT", baseUrl, path, user, password, body: { data } }), "PUT", path);
146
+ },
147
+ deleteRepo: async ({ baseUrl, user, password, owner, name }) => {
148
+ const path = `/repos/${encodeURIComponent(owner)}/${encodeURIComponent(name)}`;
149
+ await okOrMissing(await request({ method: "DELETE", baseUrl, path, user, password }), "DELETE", path);
150
+ },
151
+ deleteFile: async ({ baseUrl, user, password, owner, name, branch, path: filePath, message }) => {
152
+ const path = `/repos/${encodeURIComponent(owner)}/${encodeURIComponent(name)}/contents/${encodePath(filePath)}`;
153
+ const existing = await request({ method: "GET", baseUrl, path: `${path}?ref=${encodeURIComponent(branch)}`, user, password });
154
+ if (existing.status === 404) {
155
+ return;
156
+ }
157
+ const current = parseResponse(rawContentSchema, await (await ok(existing, "GET", path)).json(), `Forgejo API GET ${path}`);
158
+ await okOrMissing(await request({ method: "DELETE", baseUrl, path, user, password, body: { message, branch, sha: current.sha } }), "DELETE", path);
159
+ },
160
+ deleteRepoSecret: async ({ baseUrl, user, password, owner, name, secretName }) => {
161
+ const path = `/repos/${encodeURIComponent(owner)}/${encodeURIComponent(name)}/actions/secrets/${encodeURIComponent(secretName)}`;
162
+ await okOrMissing(await request({ method: "DELETE", baseUrl, path, user, password }), "DELETE", path);
163
+ },
164
+ deleteHook: async ({ baseUrl, user, password, owner, name, id }) => {
165
+ const path = `/repos/${encodeURIComponent(owner)}/${encodeURIComponent(name)}/hooks/${id}`;
166
+ await okOrMissing(await request({ method: "DELETE", baseUrl, path, user, password }), "DELETE", path);
167
+ },
168
+ deleteUser: async ({ baseUrl, user, password, username }) => {
169
+ const path = `/admin/users/${encodeURIComponent(username)}?purge=true`;
170
+ await okOrMissing(await request({ method: "DELETE", baseUrl, path, user, password }), "DELETE", path);
171
+ },
172
+ deleteOrg: async ({ baseUrl, user, password, org }) => {
173
+ const path = `/orgs/${encodeURIComponent(org)}`;
174
+ await okOrMissing(await request({ method: "DELETE", baseUrl, path, user, password }), "DELETE", path);
175
+ },
176
+ deleteTeam: async ({ baseUrl, user, password, teamId }) => {
177
+ const path = `/teams/${teamId}`;
178
+ await okOrMissing(await request({ method: "DELETE", baseUrl, path, user, password }), "DELETE", path);
179
+ },
180
+ };
181
+ //# sourceMappingURL=forgejo-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forgejo-api.js","sourceRoot":"","sources":["../src/forgejo-api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { Provider } from "@intentic/engine";
2
+ import type { ForgejoApi } from "./forgejo-api.js";
3
+ export declare const createForgejoNotifyProvider: (api?: ForgejoApi) => Provider;
4
+ //# sourceMappingURL=forgejo-notify.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forgejo-notify.d.ts","sourceRoot":"","sources":["../src/forgejo-notify.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAkB,MAAM,kBAAkB,CAAC;AAEjE,OAAO,KAAK,EAAE,UAAU,EAAe,MAAM,kBAAkB,CAAC;AA4BhE,eAAO,MAAM,2BAA2B,GAAI,MAAK,UAAuB,KAAG,QA0FzE,CAAC"}
@@ -0,0 +1,103 @@
1
+ import { z } from "zod";
2
+ import { forgejoApi } from "./forgejo-api.js";
3
+ import { parseInputs } from "./inputs.js";
4
+ const forgejoNotifySchema = z.object({
5
+ forgejoUrl: z.string(),
6
+ adminUser: z.string(),
7
+ adminPassword: z.string(),
8
+ owner: z.string(),
9
+ repoName: z.string(),
10
+ webhook: z.string(),
11
+ });
12
+ const parse = (inputs) => parseInputs(forgejoNotifySchema, inputs, "forgejo-notify");
13
+ const FORGEJO_EVENTS = ["push"];
14
+ const sameSet = (a, b) => a.length === b.length && a.every((value) => b.includes(value));
15
+ const findDiscordHook = (hooks, webhook) => hooks.find((hook) => hook.type === "discord" && hook.config["url"] === webhook);
16
+ export const createForgejoNotifyProvider = (api = forgejoApi) => ({
17
+ read: async (inputs, ctx) => {
18
+ if (typeof inputs["forgejoUrl"] !== "string" || typeof inputs["webhook"] !== "string") {
19
+ return undefined;
20
+ }
21
+ const parsed = parse(inputs);
22
+ try {
23
+ const hook = findDiscordHook(await api.listHooks({
24
+ baseUrl: parsed.forgejoUrl,
25
+ user: parsed.adminUser,
26
+ password: parsed.adminPassword,
27
+ owner: parsed.adminUser,
28
+ name: parsed.repoName,
29
+ }), parsed.webhook);
30
+ if (hook === undefined) {
31
+ return undefined;
32
+ }
33
+ return { outputs: {}, detail: { events: hook.events, active: hook.active } };
34
+ }
35
+ catch (error) {
36
+ ctx.log(`forgejo-notify "${ctx.id}": forgejo not reachable yet, treating as not-yet-created: ${String(error)}`);
37
+ return undefined;
38
+ }
39
+ },
40
+ diff: (_inputs, observed) => {
41
+ const detail = observed.detail;
42
+ const events = Array.isArray(detail?.["events"]) ? detail["events"] : [];
43
+ if (detail?.["active"] !== true || !sameSet(events, FORGEJO_EVENTS)) {
44
+ return { action: "update", reason: "discord webhook is disabled or its events differ from desired" };
45
+ }
46
+ return { action: "noop" };
47
+ },
48
+ apply: async (inputs) => {
49
+ const parsed = parse(inputs);
50
+ const config = { url: parsed.webhook, content_type: "json" };
51
+ const existing = findDiscordHook(await api.listHooks({
52
+ baseUrl: parsed.forgejoUrl,
53
+ user: parsed.adminUser,
54
+ password: parsed.adminPassword,
55
+ owner: parsed.owner,
56
+ name: parsed.repoName,
57
+ }), parsed.webhook);
58
+ if (existing === undefined) {
59
+ await api.createHook({
60
+ baseUrl: parsed.forgejoUrl,
61
+ user: parsed.adminUser,
62
+ password: parsed.adminPassword,
63
+ owner: parsed.owner,
64
+ name: parsed.repoName,
65
+ type: "discord",
66
+ config,
67
+ events: FORGEJO_EVENTS,
68
+ });
69
+ }
70
+ else {
71
+ await api.updateHook({
72
+ baseUrl: parsed.forgejoUrl,
73
+ user: parsed.adminUser,
74
+ password: parsed.adminPassword,
75
+ owner: parsed.owner,
76
+ name: parsed.repoName,
77
+ id: existing.id,
78
+ config,
79
+ events: FORGEJO_EVENTS,
80
+ });
81
+ }
82
+ return {};
83
+ },
84
+ delete: async (inputs) => {
85
+ if (typeof inputs["forgejoUrl"] !== "string") {
86
+ return;
87
+ }
88
+ const parsed = parse(inputs);
89
+ const auth = {
90
+ baseUrl: parsed.forgejoUrl,
91
+ user: parsed.adminUser,
92
+ password: parsed.adminPassword,
93
+ owner: parsed.owner,
94
+ name: parsed.repoName,
95
+ };
96
+ const existing = findDiscordHook(await api.listHooks(auth), parsed.webhook);
97
+ if (existing === undefined) {
98
+ return;
99
+ }
100
+ await api.deleteHook({ ...auth, id: existing.id });
101
+ },
102
+ });
103
+ //# sourceMappingURL=forgejo-notify.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forgejo-notify.js","sourceRoot":"","sources":["../src/forgejo-notify.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { Provider } from "@intentic/engine";
2
+ import type { ForgejoApi } from "./forgejo-api.js";
3
+ export declare const createForgejoOrgProvider: (api?: ForgejoApi) => Provider;
4
+ //# sourceMappingURL=forgejo-org.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forgejo-org.d.ts","sourceRoot":"","sources":["../src/forgejo-org.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAkB,MAAM,kBAAkB,CAAC;AAEjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAgBnD,eAAO,MAAM,wBAAwB,GAAI,MAAK,UAAuB,KAAG,QA8BtE,CAAC"}