@sweny-ai/providers 0.2.0 → 0.2.2

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 (82) hide show
  1. package/dist/credential-vault/aws-secrets-manager.d.ts +2 -10
  2. package/dist/credential-vault/aws-secrets-manager.d.ts.map +1 -1
  3. package/dist/incident/opsgenie.d.ts +6 -11
  4. package/dist/incident/opsgenie.d.ts.map +1 -1
  5. package/dist/incident/pagerduty.d.ts +2 -10
  6. package/dist/incident/pagerduty.d.ts.map +1 -1
  7. package/dist/issue-tracking/file.d.ts +10 -0
  8. package/dist/issue-tracking/file.d.ts.map +1 -0
  9. package/dist/issue-tracking/file.js +180 -0
  10. package/dist/issue-tracking/file.js.map +1 -0
  11. package/dist/issue-tracking/github-issues.d.ts +2 -12
  12. package/dist/issue-tracking/github-issues.d.ts.map +1 -1
  13. package/dist/issue-tracking/index.d.ts +1 -0
  14. package/dist/issue-tracking/index.d.ts.map +1 -1
  15. package/dist/issue-tracking/index.js +1 -0
  16. package/dist/issue-tracking/index.js.map +1 -1
  17. package/dist/issue-tracking/jira.d.ts +5 -15
  18. package/dist/issue-tracking/jira.d.ts.map +1 -1
  19. package/dist/issue-tracking/jira.js +57 -0
  20. package/dist/issue-tracking/jira.js.map +1 -1
  21. package/dist/issue-tracking/linear.d.ts +2 -8
  22. package/dist/issue-tracking/linear.d.ts.map +1 -1
  23. package/dist/issue-tracking/types.d.ts +2 -0
  24. package/dist/issue-tracking/types.d.ts.map +1 -1
  25. package/dist/issue-tracking/types.js.map +1 -1
  26. package/dist/messaging/slack.d.ts +2 -8
  27. package/dist/messaging/slack.d.ts.map +1 -1
  28. package/dist/messaging/teams.d.ts +2 -12
  29. package/dist/messaging/teams.d.ts.map +1 -1
  30. package/dist/notification/discord-webhook.d.ts +2 -8
  31. package/dist/notification/discord-webhook.d.ts.map +1 -1
  32. package/dist/notification/email.d.ts +3 -13
  33. package/dist/notification/email.d.ts.map +1 -1
  34. package/dist/notification/file.d.ts +10 -0
  35. package/dist/notification/file.d.ts.map +1 -0
  36. package/dist/notification/file.js +81 -0
  37. package/dist/notification/file.js.map +1 -0
  38. package/dist/notification/github-summary.d.ts +2 -6
  39. package/dist/notification/github-summary.d.ts.map +1 -1
  40. package/dist/notification/index.d.ts +1 -0
  41. package/dist/notification/index.d.ts.map +1 -1
  42. package/dist/notification/index.js +1 -0
  43. package/dist/notification/index.js.map +1 -1
  44. package/dist/notification/slack-webhook.d.ts +2 -8
  45. package/dist/notification/slack-webhook.d.ts.map +1 -1
  46. package/dist/notification/teams-webhook.d.ts +2 -8
  47. package/dist/notification/teams-webhook.d.ts.map +1 -1
  48. package/dist/notification/webhook.d.ts +6 -18
  49. package/dist/notification/webhook.d.ts.map +1 -1
  50. package/dist/notification/webhook.js +1 -1
  51. package/dist/notification/webhook.js.map +1 -1
  52. package/dist/observability/cloudwatch.d.ts +2 -10
  53. package/dist/observability/cloudwatch.d.ts.map +1 -1
  54. package/dist/observability/datadog.d.ts +2 -12
  55. package/dist/observability/datadog.d.ts.map +1 -1
  56. package/dist/observability/elastic.d.ts +3 -31
  57. package/dist/observability/elastic.d.ts.map +1 -1
  58. package/dist/observability/elastic.js +7 -11
  59. package/dist/observability/elastic.js.map +1 -1
  60. package/dist/observability/file.d.ts +2 -8
  61. package/dist/observability/file.d.ts.map +1 -1
  62. package/dist/observability/file.js +29 -7
  63. package/dist/observability/file.js.map +1 -1
  64. package/dist/observability/loki.d.ts +2 -12
  65. package/dist/observability/loki.d.ts.map +1 -1
  66. package/dist/observability/newrelic.d.ts +6 -13
  67. package/dist/observability/newrelic.d.ts.map +1 -1
  68. package/dist/observability/sentry.d.ts +2 -14
  69. package/dist/observability/sentry.d.ts.map +1 -1
  70. package/dist/observability/splunk.d.ts +2 -12
  71. package/dist/observability/splunk.d.ts.map +1 -1
  72. package/dist/source-control/file.d.ts +11 -0
  73. package/dist/source-control/file.d.ts.map +1 -0
  74. package/dist/source-control/file.js +208 -0
  75. package/dist/source-control/file.js.map +1 -0
  76. package/dist/source-control/gitlab.d.ts +3 -15
  77. package/dist/source-control/gitlab.d.ts.map +1 -1
  78. package/dist/source-control/index.d.ts +1 -0
  79. package/dist/source-control/index.d.ts.map +1 -1
  80. package/dist/source-control/index.js +1 -0
  81. package/dist/source-control/index.js.map +1 -1
  82. package/package.json +8 -7
@@ -4,19 +4,12 @@ import type { ObservabilityProvider } from "./types.js";
4
4
  export declare const newrelicConfigSchema: z.ZodObject<{
5
5
  apiKey: z.ZodString;
6
6
  accountId: z.ZodString;
7
- region: z.ZodDefault<z.ZodEnum<["us", "eu"]>>;
8
- logger: z.ZodOptional<z.ZodType<Logger, z.ZodTypeDef, Logger>>;
9
- }, "strip", z.ZodTypeAny, {
10
- apiKey: string;
11
- region: "us" | "eu";
12
- accountId: string;
13
- logger?: Logger | undefined;
14
- }, {
15
- apiKey: string;
16
- accountId: string;
17
- logger?: Logger | undefined;
18
- region?: "us" | "eu" | undefined;
19
- }>;
7
+ region: z.ZodDefault<z.ZodEnum<{
8
+ us: "us";
9
+ eu: "eu";
10
+ }>>;
11
+ logger: z.ZodOptional<z.ZodCustom<Logger, Logger>>;
12
+ }, z.core.$strip>;
20
13
  export type NewRelicConfig = z.infer<typeof newrelicConfigSchema>;
21
14
  export declare function newrelic(config: NewRelicConfig): ObservabilityProvider;
22
15
  //# sourceMappingURL=newrelic.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"newrelic.d.ts","sourceRoot":"","sources":["../../src/observability/newrelic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAG3C,OAAO,KAAK,EAAE,qBAAqB,EAA8C,MAAM,YAAY,CAAC;AAEpG,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;EAK/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAMlE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,qBAAqB,CAGtE"}
1
+ {"version":3,"file":"newrelic.d.ts","sourceRoot":"","sources":["../../src/observability/newrelic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAG3C,OAAO,KAAK,EAAE,qBAAqB,EAA8C,MAAM,YAAY,CAAC;AAEpG,eAAO,MAAM,oBAAoB;;;;;;;;iBAK/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAMlE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,qBAAqB,CAGtE"}
@@ -6,20 +6,8 @@ export declare const sentryConfigSchema: z.ZodObject<{
6
6
  organization: z.ZodString;
7
7
  project: z.ZodString;
8
8
  baseUrl: z.ZodDefault<z.ZodString>;
9
- logger: z.ZodOptional<z.ZodType<Logger, z.ZodTypeDef, Logger>>;
10
- }, "strip", z.ZodTypeAny, {
11
- authToken: string;
12
- organization: string;
13
- project: string;
14
- baseUrl: string;
15
- logger?: Logger | undefined;
16
- }, {
17
- authToken: string;
18
- organization: string;
19
- project: string;
20
- logger?: Logger | undefined;
21
- baseUrl?: string | undefined;
22
- }>;
9
+ logger: z.ZodOptional<z.ZodCustom<Logger, Logger>>;
10
+ }, z.core.$strip>;
23
11
  export type SentryConfig = z.infer<typeof sentryConfigSchema>;
24
12
  export declare function sentry(config: SentryConfig): ObservabilityProvider;
25
13
  //# sourceMappingURL=sentry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sentry.d.ts","sourceRoot":"","sources":["../../src/observability/sentry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAG3C,OAAO,KAAK,EAAE,qBAAqB,EAA8C,MAAM,YAAY,CAAC;AAEpG,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;EAM7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,wBAAgB,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,qBAAqB,CAGlE"}
1
+ {"version":3,"file":"sentry.d.ts","sourceRoot":"","sources":["../../src/observability/sentry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAG3C,OAAO,KAAK,EAAE,qBAAqB,EAA8C,MAAM,YAAY,CAAC;AAEpG,eAAO,MAAM,kBAAkB;;;;;;iBAM7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,wBAAgB,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,qBAAqB,CAGlE"}
@@ -5,18 +5,8 @@ export declare const splunkConfigSchema: z.ZodObject<{
5
5
  baseUrl: z.ZodString;
6
6
  token: z.ZodString;
7
7
  index: z.ZodDefault<z.ZodString>;
8
- logger: z.ZodOptional<z.ZodType<Logger, z.ZodTypeDef, Logger>>;
9
- }, "strip", z.ZodTypeAny, {
10
- baseUrl: string;
11
- token: string;
12
- index: string;
13
- logger?: Logger | undefined;
14
- }, {
15
- baseUrl: string;
16
- token: string;
17
- logger?: Logger | undefined;
18
- index?: string | undefined;
19
- }>;
8
+ logger: z.ZodOptional<z.ZodCustom<Logger, Logger>>;
9
+ }, z.core.$strip>;
20
10
  export type SplunkConfig = z.infer<typeof splunkConfigSchema>;
21
11
  export declare function splunk(config: SplunkConfig): ObservabilityProvider;
22
12
  //# sourceMappingURL=splunk.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"splunk.d.ts","sourceRoot":"","sources":["../../src/observability/splunk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAG3C,OAAO,KAAK,EAAE,qBAAqB,EAA8C,MAAM,YAAY,CAAC;AAEpG,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;EAK7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAM9D,wBAAgB,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,qBAAqB,CAGlE"}
1
+ {"version":3,"file":"splunk.d.ts","sourceRoot":"","sources":["../../src/observability/splunk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAG3C,OAAO,KAAK,EAAE,qBAAqB,EAA8C,MAAM,YAAY,CAAC;AAEpG,eAAO,MAAM,kBAAkB;;;;;iBAK7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAM9D,wBAAgB,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,qBAAqB,CAGlE"}
@@ -0,0 +1,11 @@
1
+ import { z } from "zod";
2
+ import type { Logger } from "../logger.js";
3
+ import type { SourceControlProvider } from "./types.js";
4
+ export declare const fileSourceControlConfigSchema: z.ZodObject<{
5
+ outputDir: z.ZodString;
6
+ baseBranch: z.ZodDefault<z.ZodString>;
7
+ logger: z.ZodOptional<z.ZodCustom<Logger, Logger>>;
8
+ }, z.core.$strip>;
9
+ export type FileSourceControlConfig = z.infer<typeof fileSourceControlConfigSchema>;
10
+ export declare function fileSourceControl(config: FileSourceControlConfig): SourceControlProvider;
11
+ //# sourceMappingURL=file.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../src/source-control/file.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,KAAK,EACV,qBAAqB,EAKtB,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,6BAA6B;;;;iBAIxC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,GAAG,qBAAqB,CAGxF"}
@@ -0,0 +1,208 @@
1
+ import { execSync } from "node:child_process";
2
+ import { mkdirSync, readFileSync, writeFileSync } from "node:fs";
3
+ import * as path from "node:path";
4
+ import { z } from "zod";
5
+ import { consoleLogger } from "../logger.js";
6
+ export const fileSourceControlConfigSchema = z.object({
7
+ outputDir: z.string().min(1, "Output directory is required"),
8
+ baseBranch: z.string().default("main"),
9
+ logger: z.custom().optional(),
10
+ });
11
+ export function fileSourceControl(config) {
12
+ const parsed = fileSourceControlConfigSchema.parse(config);
13
+ return new FileSourceControlProvider(parsed);
14
+ }
15
+ // ---------------------------------------------------------------------------
16
+ // Provider
17
+ // ---------------------------------------------------------------------------
18
+ class FileSourceControlProvider {
19
+ outputDir;
20
+ prsDir;
21
+ statePath;
22
+ baseBranch;
23
+ log;
24
+ inGitRepo;
25
+ constructor(config) {
26
+ this.outputDir = path.resolve(config.outputDir);
27
+ this.prsDir = path.join(this.outputDir, "prs");
28
+ this.statePath = path.join(this.outputDir, "state.json");
29
+ this.baseBranch = config.baseBranch;
30
+ this.log = config.logger ?? consoleLogger;
31
+ this.inGitRepo = this.detectGit();
32
+ }
33
+ detectGit() {
34
+ try {
35
+ execSync("git rev-parse --is-inside-work-tree", { stdio: "pipe" });
36
+ return true;
37
+ }
38
+ catch {
39
+ return false;
40
+ }
41
+ }
42
+ git(cmd) {
43
+ return execSync(`git ${cmd}`, { encoding: "utf-8", stdio: "pipe" }).trim();
44
+ }
45
+ // ── state helpers ────────────────────────────────────────────────────
46
+ readState() {
47
+ try {
48
+ const raw = JSON.parse(readFileSync(this.statePath, "utf-8"));
49
+ return { nextPrNumber: 1, prs: [], ...raw };
50
+ }
51
+ catch {
52
+ return { nextPrNumber: 1, prs: [] };
53
+ }
54
+ }
55
+ writeState(state) {
56
+ writeFileSync(this.statePath, JSON.stringify(state, null, 2), "utf-8");
57
+ }
58
+ toPullRequest(rec) {
59
+ return {
60
+ number: rec.number,
61
+ url: rec.url,
62
+ state: rec.state,
63
+ title: rec.title,
64
+ };
65
+ }
66
+ // ── SourceControlProvider ────────────────────────────────────────────
67
+ async verifyAccess() {
68
+ mkdirSync(this.prsDir, { recursive: true });
69
+ this.log.info(`File source control verified (git: ${this.inGitRepo})`);
70
+ }
71
+ async configureBotIdentity() {
72
+ if (!this.inGitRepo) {
73
+ this.log.info("Skipping bot identity (no git repo)");
74
+ return;
75
+ }
76
+ try {
77
+ this.git('config user.name "sweny-bot"');
78
+ this.git('config user.email "bot@sweny.ai"');
79
+ this.log.info("Configured local git identity: sweny-bot");
80
+ }
81
+ catch (err) {
82
+ this.log.warn(`Failed to configure git identity: ${err}`);
83
+ }
84
+ }
85
+ async createBranch(name) {
86
+ if (!this.inGitRepo) {
87
+ this.log.info(`Skipping branch creation (no git repo): ${name}`);
88
+ return;
89
+ }
90
+ this.git(`checkout -b ${name}`);
91
+ this.log.info(`Created branch: ${name}`);
92
+ }
93
+ async pushBranch(name) {
94
+ this.log.info(`Skipping push (file provider — local only): ${name}`);
95
+ }
96
+ async hasChanges() {
97
+ if (!this.inGitRepo)
98
+ return false;
99
+ const output = this.git("status --porcelain");
100
+ return output.length > 0;
101
+ }
102
+ async hasNewCommits() {
103
+ if (!this.inGitRepo)
104
+ return false;
105
+ try {
106
+ const count = this.git(`rev-list --count ${this.baseBranch}..HEAD`);
107
+ return parseInt(count, 10) > 0;
108
+ }
109
+ catch {
110
+ return false;
111
+ }
112
+ }
113
+ async getChangedFiles() {
114
+ if (!this.inGitRepo)
115
+ return [];
116
+ try {
117
+ const output = this.git(`diff --name-only ${this.baseBranch}..HEAD`);
118
+ return output ? output.split("\n").filter(Boolean) : [];
119
+ }
120
+ catch {
121
+ return [];
122
+ }
123
+ }
124
+ async resetPaths(paths) {
125
+ if (!this.inGitRepo)
126
+ return;
127
+ for (const p of paths) {
128
+ try {
129
+ this.git(`checkout HEAD -- ${p}`);
130
+ }
131
+ catch {
132
+ // path may not exist — ignore
133
+ }
134
+ }
135
+ }
136
+ async stageAndCommit(message) {
137
+ if (!this.inGitRepo) {
138
+ this.log.info("Skipping commit (no git repo)");
139
+ return;
140
+ }
141
+ this.git("add -A");
142
+ this.git(`commit -m "${message.replace(/"/g, '\\"')}"`);
143
+ this.log.info("Staged and committed changes");
144
+ }
145
+ async createPullRequest(opts) {
146
+ const state = this.readState();
147
+ const num = state.nextPrNumber;
148
+ state.nextPrNumber = num + 1;
149
+ const filePath = path.join(this.prsDir, `pr-${num}.md`);
150
+ const rec = {
151
+ number: num,
152
+ title: opts.title,
153
+ state: "open",
154
+ url: `file://${filePath}`,
155
+ head: opts.head,
156
+ base: opts.base ?? this.baseBranch,
157
+ labels: opts.labels ?? [],
158
+ createdAt: new Date().toISOString(),
159
+ };
160
+ state.prs.push(rec);
161
+ this.writeState(state);
162
+ // Write PR markdown
163
+ const labels = rec.labels.length > 0 ? rec.labels.join(", ") : "—";
164
+ const lines = [
165
+ `# PR #${num}: ${opts.title}`,
166
+ "",
167
+ "| Field | Value |",
168
+ "|-------|-------|",
169
+ `| **Number** | ${num} |`,
170
+ `| **State** | open |`,
171
+ `| **Head** | \`${rec.head}\` |`,
172
+ `| **Base** | \`${rec.base}\` |`,
173
+ `| **Labels** | ${labels} |`,
174
+ `| **Created** | ${rec.createdAt} |`,
175
+ "",
176
+ "## Description",
177
+ "",
178
+ opts.body,
179
+ ];
180
+ writeFileSync(filePath, lines.join("\n"), "utf-8");
181
+ this.log.info(`Created PR #${num}: ${filePath}`);
182
+ return this.toPullRequest(rec);
183
+ }
184
+ async listPullRequests(opts) {
185
+ const state = this.readState();
186
+ let prs = state.prs;
187
+ if (opts?.state && opts.state !== "all") {
188
+ prs = prs.filter((p) => p.state === opts.state);
189
+ }
190
+ if (opts?.labels && opts.labels.length > 0) {
191
+ prs = prs.filter((p) => opts.labels.some((l) => p.labels.includes(l)));
192
+ }
193
+ if (opts?.limit) {
194
+ prs = prs.slice(0, opts.limit);
195
+ }
196
+ return prs.map((p) => this.toPullRequest(p));
197
+ }
198
+ async findExistingPr(searchTerm) {
199
+ const state = this.readState();
200
+ const lower = searchTerm.toLowerCase();
201
+ const match = state.prs.find((p) => p.title.toLowerCase().includes(lower));
202
+ return match ? this.toPullRequest(match) : null;
203
+ }
204
+ async dispatchWorkflow(_opts) {
205
+ this.log.info("Skipping workflow dispatch (file provider — local only)");
206
+ }
207
+ }
208
+ //# sourceMappingURL=file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file.js","sourceRoot":"","sources":["../../src/source-control/file.ts"],"names":[],"mappings":"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"}
@@ -3,23 +3,11 @@ import type { SourceControlProvider } from "./types.js";
3
3
  import type { Logger } from "../logger.js";
4
4
  export declare const gitlabConfigSchema: z.ZodObject<{
5
5
  token: z.ZodString;
6
- projectId: z.ZodUnion<[z.ZodString, z.ZodNumber]>;
6
+ projectId: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
7
7
  baseUrl: z.ZodDefault<z.ZodString>;
8
8
  baseBranch: z.ZodDefault<z.ZodString>;
9
- logger: z.ZodOptional<z.ZodType<Logger, z.ZodTypeDef, Logger>>;
10
- }, "strip", z.ZodTypeAny, {
11
- baseUrl: string;
12
- token: string;
13
- baseBranch: string;
14
- projectId: string | number;
15
- logger?: Logger | undefined;
16
- }, {
17
- token: string;
18
- projectId: string | number;
19
- logger?: Logger | undefined;
20
- baseUrl?: string | undefined;
21
- baseBranch?: string | undefined;
22
- }>;
9
+ logger: z.ZodOptional<z.ZodCustom<Logger, Logger>>;
10
+ }, z.core.$strip>;
23
11
  export type GitLabSourceControlConfig = z.infer<typeof gitlabConfigSchema>;
24
12
  export declare function gitlab(config: GitLabSourceControlConfig): SourceControlProvider;
25
13
  //# sourceMappingURL=gitlab.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gitlab.d.ts","sourceRoot":"","sources":["../../src/source-control/gitlab.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EACV,qBAAqB,EAKtB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAM3C,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;EAM7B,CAAC;AAEH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAwD3E,wBAAgB,MAAM,CAAC,MAAM,EAAE,yBAAyB,GAAG,qBAAqB,CAgO/E"}
1
+ {"version":3,"file":"gitlab.d.ts","sourceRoot":"","sources":["../../src/source-control/gitlab.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EACV,qBAAqB,EAKtB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAM3C,eAAO,MAAM,kBAAkB;;;;;;iBAM7B,CAAC;AAEH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAwD3E,wBAAgB,MAAM,CAAC,MAAM,EAAE,yBAAyB,GAAG,qBAAqB,CAgO/E"}
@@ -3,4 +3,5 @@ export { github } from "./github.js";
3
3
  export type { GitHubSourceControlConfig } from "./github.js";
4
4
  export { gitlab, gitlabConfigSchema } from "./gitlab.js";
5
5
  export type { GitLabSourceControlConfig } from "./gitlab.js";
6
+ export { fileSourceControl, fileSourceControlConfigSchema, type FileSourceControlConfig } from "./file.js";
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/source-control/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,qBAAqB,EACrB,WAAW,EACX,eAAe,EACf,aAAa,EACb,uBAAuB,GACxB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAE7D,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACzD,YAAY,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/source-control/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,qBAAqB,EACrB,WAAW,EACX,eAAe,EACf,aAAa,EACb,uBAAuB,GACxB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAE7D,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACzD,YAAY,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAE7D,OAAO,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,KAAK,uBAAuB,EAAE,MAAM,WAAW,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export { github } from "./github.js";
2
2
  export { gitlab, gitlabConfigSchema } from "./gitlab.js";
3
+ export { fileSourceControl, fileSourceControlConfigSchema } from "./file.js";
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/source-control/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/source-control/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGzD,OAAO,EAAE,iBAAiB,EAAE,6BAA6B,EAAgC,MAAM,WAAW,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sweny-ai/providers",
3
- "version": "0.2.0",
3
+ "version": "0.2.2",
4
4
  "description": "Shared provider interfaces and implementations for SWEny",
5
5
  "type": "module",
6
6
  "engines": {
@@ -74,11 +74,11 @@
74
74
  }
75
75
  },
76
76
  "dependencies": {
77
- "zod": "^3.24"
77
+ "zod": "^4.3"
78
78
  },
79
79
  "peerDependencies": {
80
- "@actions/core": "^1.10",
81
- "@actions/exec": "^1.1",
80
+ "@actions/core": "^3.0",
81
+ "@actions/exec": "^3.0",
82
82
  "@aws-sdk/client-cloudwatch-logs": "^3",
83
83
  "@aws-sdk/client-s3": "^3",
84
84
  "@aws-sdk/client-secrets-manager": "^3",
@@ -113,14 +113,15 @@
113
113
  }
114
114
  },
115
115
  "devDependencies": {
116
- "@actions/core": "^1.10",
117
- "@actions/exec": "^1.1",
116
+ "@actions/core": "^3.0",
117
+ "@actions/exec": "^3.0",
118
118
  "@aws-sdk/client-cloudwatch-logs": "^3",
119
119
  "@aws-sdk/client-s3": "^3",
120
120
  "@aws-sdk/client-secrets-manager": "^3",
121
121
  "@aws-sdk/s3-request-presigner": "^3",
122
+ "@changesets/cli": "^2.30.0",
122
123
  "@slack/web-api": "^7",
123
- "@types/node": "^22",
124
+ "@types/node": "^25",
124
125
  "typescript": "^5.6",
125
126
  "vitest": "^4"
126
127
  },