@nairon-ai/aegis 0.5.7 → 0.5.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-node/cli/commands/deploy.d.ts.map +1 -1
- package/dist-node/cli/commands/deploy.js +30 -13
- package/dist-node/cli/commands/deploy.js.map +1 -1
- package/dist-node/integrations/linear.js +1 -1
- package/package.json +1 -1
- package/src/cli/commands/deploy.ts +38 -13
- package/src/integrations/linear.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/deploy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/deploy.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,aAAa,qDAKxB,CAAC;AAEH,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAqC/C"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { execFileSync, spawnSync } from "node:child_process";
|
|
2
|
-
import { existsSync } from "node:fs";
|
|
2
|
+
import { existsSync, readFileSync, writeFileSync } from "node:fs";
|
|
3
3
|
import { dirname, resolve } from "node:path";
|
|
4
4
|
import { defineCommand } from "citty";
|
|
5
5
|
import { consola } from "consola";
|
|
@@ -22,6 +22,7 @@ export async function runDeploy() {
|
|
|
22
22
|
cwd: packageRoot,
|
|
23
23
|
stdio: "inherit",
|
|
24
24
|
});
|
|
25
|
+
writeWorkerVars(packageRoot, config);
|
|
25
26
|
pushSecrets(toSecrets(config), packageRoot, wranglerBin);
|
|
26
27
|
consola.start("Deploying with Wrangler...");
|
|
27
28
|
const output = execFileSync(wranglerBin, ["deploy", "--config", resolve(packageRoot, "dist/wrangler.jsonc")], {
|
|
@@ -41,6 +42,15 @@ export async function runDeploy() {
|
|
|
41
42
|
consola.success("Deploy complete.");
|
|
42
43
|
}
|
|
43
44
|
}
|
|
45
|
+
function writeWorkerVars(packageRoot, config) {
|
|
46
|
+
const wranglerConfigPath = resolve(packageRoot, "dist/wrangler.jsonc");
|
|
47
|
+
const wranglerConfig = JSON.parse(readFileSync(wranglerConfigPath, "utf-8"));
|
|
48
|
+
wranglerConfig.vars = {
|
|
49
|
+
...(wranglerConfig.vars ?? {}),
|
|
50
|
+
...toVars(config),
|
|
51
|
+
};
|
|
52
|
+
writeFileSync(wranglerConfigPath, `${JSON.stringify(wranglerConfig, null, "\t")}\n`);
|
|
53
|
+
}
|
|
44
54
|
function runDeployPreflight(packageRoot, wranglerBin) {
|
|
45
55
|
consola.start("Checking Cloudflare deploy prerequisites...");
|
|
46
56
|
checkDocker();
|
|
@@ -110,9 +120,8 @@ function pushSecrets(secrets, packageRoot, wranglerBin) {
|
|
|
110
120
|
}
|
|
111
121
|
consola.success("Secrets pushed");
|
|
112
122
|
}
|
|
113
|
-
function
|
|
114
|
-
return {
|
|
115
|
-
AEGIS_WORKER_URL: config.workerUrl,
|
|
123
|
+
function toVars(config) {
|
|
124
|
+
return compact({
|
|
116
125
|
MONITORED_REPO: config.monitoredRepo,
|
|
117
126
|
BASE_BRANCH: config.baseBranch,
|
|
118
127
|
AUTOMATION_MODE: config.automationMode,
|
|
@@ -120,12 +129,7 @@ function toSecrets(config) {
|
|
|
120
129
|
READY_LABEL: config.readyLabel,
|
|
121
130
|
BUG_LABEL: config.bugLabel,
|
|
122
131
|
GITHUB_APP_ID: config.githubAppId,
|
|
123
|
-
GITHUB_APP_PRIVATE_KEY: config.githubAppPrivateKey,
|
|
124
132
|
GITHUB_INSTALLATION_ID: config.githubInstallationId,
|
|
125
|
-
GITHUB_WEBHOOK_SECRET: config.githubWebhookSecret,
|
|
126
|
-
GITHUB_TOKEN: config.githubToken,
|
|
127
|
-
LINEAR_API_KEY: config.linearApiKey,
|
|
128
|
-
LINEAR_WEBHOOK_SECRET: config.linearWebhookSecret,
|
|
129
133
|
LINEAR_TEAM_ID: config.linearTeamId,
|
|
130
134
|
LINEAR_PROJECT_ID: config.linearProjectId,
|
|
131
135
|
LINEAR_READY_STATUS: config.linearReadyStatus,
|
|
@@ -133,17 +137,30 @@ function toSecrets(config) {
|
|
|
133
137
|
LINEAR_NEEDS_INFO_STATUS: config.linearNeedsInfoStatus,
|
|
134
138
|
LINEAR_BLOCKED_STATUS: config.linearBlockedStatus,
|
|
135
139
|
LINEAR_BUG_LABEL: config.linearBugLabel,
|
|
136
|
-
TELEGRAM_BOT_TOKEN: config.telegramBotToken,
|
|
137
140
|
TELEGRAM_CHAT_ID: config.telegramChatId,
|
|
138
|
-
TELEGRAM_WEBHOOK_SECRET: config.telegramWebhookSecret,
|
|
139
|
-
DATABASE_URL: config.databaseUrl,
|
|
140
|
-
VERCEL_TOKEN: config.vercelToken,
|
|
141
141
|
VERCEL_PROJECT_ID: config.vercelProjectId,
|
|
142
142
|
VERCEL_TEAM_ID: config.vercelTeamId,
|
|
143
143
|
AGENT_AUTH_METHOD: config.agentAuthMethod,
|
|
144
144
|
AGENT_MODEL: config.agentModel,
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
function toSecrets(config) {
|
|
148
|
+
return {
|
|
149
|
+
AEGIS_WORKER_URL: config.workerUrl,
|
|
150
|
+
GITHUB_APP_PRIVATE_KEY: config.githubAppPrivateKey,
|
|
151
|
+
GITHUB_WEBHOOK_SECRET: config.githubWebhookSecret,
|
|
152
|
+
GITHUB_TOKEN: config.githubToken,
|
|
153
|
+
LINEAR_API_KEY: config.linearApiKey,
|
|
154
|
+
LINEAR_WEBHOOK_SECRET: config.linearWebhookSecret,
|
|
155
|
+
TELEGRAM_BOT_TOKEN: config.telegramBotToken,
|
|
156
|
+
TELEGRAM_WEBHOOK_SECRET: config.telegramWebhookSecret,
|
|
157
|
+
DATABASE_URL: config.databaseUrl,
|
|
158
|
+
VERCEL_TOKEN: config.vercelToken,
|
|
145
159
|
OPENAI_API_KEY: config.openaiApiKey,
|
|
146
160
|
CODEX_OAUTH_CREDENTIALS_B64: config.codexOauthCredentials,
|
|
147
161
|
};
|
|
148
162
|
}
|
|
163
|
+
function compact(input) {
|
|
164
|
+
return Object.fromEntries(Object.entries(input).filter((entry) => Boolean(entry[1])));
|
|
165
|
+
}
|
|
149
166
|
//# sourceMappingURL=deploy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../src/cli/commands/deploy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../src/cli/commands/deploy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAErD,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAAC;IAC1C,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mCAAmC,EAAE;IAC1E,KAAK,CAAC,GAAG;QACR,MAAM,SAAS,EAAE,CAAC;IACnB,CAAC;CACD,CAAC,CAAC;AAEH,MAAM,CAAC,KAAK,UAAU,SAAS;IAC9B,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,oBAAoB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAC1D,MAAM,WAAW,GAAG,oBAAoB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAElE,kBAAkB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAE7C,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACzC,YAAY,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,CAAC,EAAE;QAC1D,GAAG,EAAE,WAAW;QAChB,KAAK,EAAE,SAAS;KAChB,CAAC,CAAC;IAEH,eAAe,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACrC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;IAEzD,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,YAAY,CAC1B,WAAW,EACX,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,WAAW,EAAE,qBAAqB,CAAC,CAAC,EACnE;QACC,GAAG,EAAE,WAAW;QAChB,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,OAAO;KACjB,CACD,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACpB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;IAC7D,IAAI,KAAK,EAAE,CAAC;QACX,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5B,UAAU,CAAC,MAAM,CAAC,CAAC;QACnB,WAAW,CAAC,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;QACtE,OAAO,CAAC,OAAO,CAAC,qBAAqB,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAClD,CAAC;SAAM,CAAC;QACP,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACrC,CAAC;AACF,CAAC;AAED,SAAS,eAAe,CAAC,WAAmB,EAAE,MAAsB;IACnE,MAAM,kBAAkB,GAAG,OAAO,CAAC,WAAW,EAAE,qBAAqB,CAAC,CAAC;IACvE,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAE1E,CAAC;IACF,cAAc,CAAC,IAAI,GAAG;QACrB,GAAG,CAAC,cAAc,CAAC,IAAI,IAAI,EAAE,CAAC;QAC9B,GAAG,MAAM,CAAC,MAAM,CAAC;KACjB,CAAC;IACF,aAAa,CAAC,kBAAkB,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;AACtF,CAAC;AAED,SAAS,kBAAkB,CAAC,WAAmB,EAAE,WAAmB;IACnE,OAAO,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;IAC7D,WAAW,EAAE,CAAC;IACd,iBAAiB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAC5C,OAAO,CAAC,IAAI,CACX,iIAAiI,CACjI,CAAC;IACF,OAAO,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,WAAW;IACnB,IAAI,CAAC;QACJ,YAAY,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE;YAChC,KAAK,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC;SACnC,CAAC,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACR,MAAM,IAAI,KAAK,CACd,8IAA8I,CAC9I,CAAC;IACH,CAAC;AACF,CAAC;AAED,SAAS,iBAAiB,CAAC,WAAmB,EAAE,WAAmB;IAClE,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,CAAC;QACJ,MAAM,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE;YAC9C,GAAG,EAAE,WAAW;YAChB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;YACjC,QAAQ,EAAE,OAAO;SACjB,CAAC,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACR,MAAM,IAAI,KAAK,CACd,wJAAwJ,CACxJ,CAAC;IACH,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACzC,OAAO,CAAC,IAAI,CACX,2HAA2H,CAC3H,CAAC;IACH,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;QACxF,OAAO,CAAC,IAAI,CACX,2IAA2I,CAC3I,CAAC;IACH,CAAC;AACF,CAAC;AAED,SAAS,oBAAoB,CAAC,WAAmB,EAAE,IAAY;IAC9D,MAAM,UAAU,GAAG;QAClB,OAAO,CAAC,WAAW,EAAE,mBAAmB,EAAE,IAAI,CAAC;QAC/C,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC;KACpD,CAAC;IACF,IAAI,OAAO,GAAG,WAAW,CAAC;IAC1B,OAAO,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACrC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,mBAAmB,EAAE,IAAI,CAAC,CAAC,CAAC;QAC7D,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;IACrE,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAE1B,MAAM,IAAI,KAAK,CACd,kBAAkB,IAAI,uGAAuG,CAC7H,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CACnB,OAA2C,EAC3C,WAAmB,EACnB,WAAmB;IAEnB,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAC/C,MAAM,cAAc,GAAG,OAAO,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;IAC9D,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACpD,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,MAAM,MAAM,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,cAAc,CAAC,EAAE;YACzF,GAAG,EAAE,WAAW;YAChB,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;YAC/B,QAAQ,EAAE,OAAO;SACjB,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,iBAAiB,GAAG,KAAK,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5E,CAAC;IACF,CAAC;IACD,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,MAAM,CAAC,MAAsB;IACrC,OAAO,OAAO,CAAC;QACd,cAAc,EAAE,MAAM,CAAC,aAAa;QACpC,WAAW,EAAE,MAAM,CAAC,UAAU;QAC9B,eAAe,EAAE,MAAM,CAAC,cAAc;QACtC,eAAe,EAAE,MAAM,CAAC,cAAc;QACtC,WAAW,EAAE,MAAM,CAAC,UAAU;QAC9B,SAAS,EAAE,MAAM,CAAC,QAAQ;QAC1B,aAAa,EAAE,MAAM,CAAC,WAAW;QACjC,sBAAsB,EAAE,MAAM,CAAC,oBAAoB;QACnD,cAAc,EAAE,MAAM,CAAC,YAAY;QACnC,iBAAiB,EAAE,MAAM,CAAC,eAAe;QACzC,mBAAmB,EAAE,MAAM,CAAC,iBAAiB;QAC7C,yBAAyB,EAAE,MAAM,CAAC,sBAAsB;QACxD,wBAAwB,EAAE,MAAM,CAAC,qBAAqB;QACtD,qBAAqB,EAAE,MAAM,CAAC,mBAAmB;QACjD,gBAAgB,EAAE,MAAM,CAAC,cAAc;QACvC,gBAAgB,EAAE,MAAM,CAAC,cAAc;QACvC,iBAAiB,EAAE,MAAM,CAAC,eAAe;QACzC,cAAc,EAAE,MAAM,CAAC,YAAY;QACnC,iBAAiB,EAAE,MAAM,CAAC,eAAe;QACzC,WAAW,EAAE,MAAM,CAAC,UAAU;KAC9B,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,MAAqC;IACvD,OAAO;QACN,gBAAgB,EAAE,MAAM,CAAC,SAAS;QAClC,sBAAsB,EAAE,MAAM,CAAC,mBAAmB;QAClD,qBAAqB,EAAE,MAAM,CAAC,mBAAmB;QACjD,YAAY,EAAE,MAAM,CAAC,WAAW;QAChC,cAAc,EAAE,MAAM,CAAC,YAAY;QACnC,qBAAqB,EAAE,MAAM,CAAC,mBAAmB;QACjD,kBAAkB,EAAE,MAAM,CAAC,gBAAgB;QAC3C,uBAAuB,EAAE,MAAM,CAAC,qBAAqB;QACrD,YAAY,EAAE,MAAM,CAAC,WAAW;QAChC,YAAY,EAAE,MAAM,CAAC,WAAW;QAChC,cAAc,EAAE,MAAM,CAAC,YAAY;QACnC,2BAA2B,EAAE,MAAM,CAAC,qBAAqB;KACzD,CAAC;AACH,CAAC;AAED,SAAS,OAAO,CAAC,KAAyC;IACzD,OAAO,MAAM,CAAC,WAAW,CACxB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAA6B,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CACrF,CAAC;AACH,CAAC"}
|
|
@@ -110,7 +110,7 @@ export class LinearClient {
|
|
|
110
110
|
}
|
|
111
111
|
async findStateId(name) {
|
|
112
112
|
const linear = this.requireConfig();
|
|
113
|
-
const result = await this.graphql(`query WorkflowStates($teamId:
|
|
113
|
+
const result = await this.graphql(`query WorkflowStates($teamId: ID!) {
|
|
114
114
|
workflowStates(filter: { team: { id: { eq: $teamId } } }) {
|
|
115
115
|
nodes { id name }
|
|
116
116
|
}
|
package/package.json
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { execFileSync, spawnSync } from "node:child_process";
|
|
2
|
-
import { existsSync } from "node:fs";
|
|
2
|
+
import { existsSync, readFileSync, writeFileSync } from "node:fs";
|
|
3
3
|
import { dirname, resolve } from "node:path";
|
|
4
4
|
import { defineCommand } from "citty";
|
|
5
5
|
import { consola } from "consola";
|
|
6
|
+
import type { AegisCliConfig } from "../../shared/types.js";
|
|
6
7
|
import { findPackageRoot } from "../paths.js";
|
|
7
8
|
import { loadConfig, saveConfig } from "../state.js";
|
|
8
9
|
|
|
@@ -27,6 +28,7 @@ export async function runDeploy(): Promise<void> {
|
|
|
27
28
|
stdio: "inherit",
|
|
28
29
|
});
|
|
29
30
|
|
|
31
|
+
writeWorkerVars(packageRoot, config);
|
|
30
32
|
pushSecrets(toSecrets(config), packageRoot, wranglerBin);
|
|
31
33
|
|
|
32
34
|
consola.start("Deploying with Wrangler...");
|
|
@@ -51,6 +53,18 @@ export async function runDeploy(): Promise<void> {
|
|
|
51
53
|
}
|
|
52
54
|
}
|
|
53
55
|
|
|
56
|
+
function writeWorkerVars(packageRoot: string, config: AegisCliConfig): void {
|
|
57
|
+
const wranglerConfigPath = resolve(packageRoot, "dist/wrangler.jsonc");
|
|
58
|
+
const wranglerConfig = JSON.parse(readFileSync(wranglerConfigPath, "utf-8")) as {
|
|
59
|
+
vars?: Record<string, string>;
|
|
60
|
+
};
|
|
61
|
+
wranglerConfig.vars = {
|
|
62
|
+
...(wranglerConfig.vars ?? {}),
|
|
63
|
+
...toVars(config),
|
|
64
|
+
};
|
|
65
|
+
writeFileSync(wranglerConfigPath, `${JSON.stringify(wranglerConfig, null, "\t")}\n`);
|
|
66
|
+
}
|
|
67
|
+
|
|
54
68
|
function runDeployPreflight(packageRoot: string, wranglerBin: string): void {
|
|
55
69
|
consola.start("Checking Cloudflare deploy prerequisites...");
|
|
56
70
|
checkDocker();
|
|
@@ -140,9 +154,8 @@ function pushSecrets(
|
|
|
140
154
|
consola.success("Secrets pushed");
|
|
141
155
|
}
|
|
142
156
|
|
|
143
|
-
function
|
|
144
|
-
return {
|
|
145
|
-
AEGIS_WORKER_URL: config.workerUrl,
|
|
157
|
+
function toVars(config: AegisCliConfig): Record<string, string> {
|
|
158
|
+
return compact({
|
|
146
159
|
MONITORED_REPO: config.monitoredRepo,
|
|
147
160
|
BASE_BRANCH: config.baseBranch,
|
|
148
161
|
AUTOMATION_MODE: config.automationMode,
|
|
@@ -150,12 +163,7 @@ function toSecrets(config: ReturnType<typeof loadConfig>): Record<string, string
|
|
|
150
163
|
READY_LABEL: config.readyLabel,
|
|
151
164
|
BUG_LABEL: config.bugLabel,
|
|
152
165
|
GITHUB_APP_ID: config.githubAppId,
|
|
153
|
-
GITHUB_APP_PRIVATE_KEY: config.githubAppPrivateKey,
|
|
154
166
|
GITHUB_INSTALLATION_ID: config.githubInstallationId,
|
|
155
|
-
GITHUB_WEBHOOK_SECRET: config.githubWebhookSecret,
|
|
156
|
-
GITHUB_TOKEN: config.githubToken,
|
|
157
|
-
LINEAR_API_KEY: config.linearApiKey,
|
|
158
|
-
LINEAR_WEBHOOK_SECRET: config.linearWebhookSecret,
|
|
159
167
|
LINEAR_TEAM_ID: config.linearTeamId,
|
|
160
168
|
LINEAR_PROJECT_ID: config.linearProjectId,
|
|
161
169
|
LINEAR_READY_STATUS: config.linearReadyStatus,
|
|
@@ -163,16 +171,33 @@ function toSecrets(config: ReturnType<typeof loadConfig>): Record<string, string
|
|
|
163
171
|
LINEAR_NEEDS_INFO_STATUS: config.linearNeedsInfoStatus,
|
|
164
172
|
LINEAR_BLOCKED_STATUS: config.linearBlockedStatus,
|
|
165
173
|
LINEAR_BUG_LABEL: config.linearBugLabel,
|
|
166
|
-
TELEGRAM_BOT_TOKEN: config.telegramBotToken,
|
|
167
174
|
TELEGRAM_CHAT_ID: config.telegramChatId,
|
|
168
|
-
TELEGRAM_WEBHOOK_SECRET: config.telegramWebhookSecret,
|
|
169
|
-
DATABASE_URL: config.databaseUrl,
|
|
170
|
-
VERCEL_TOKEN: config.vercelToken,
|
|
171
175
|
VERCEL_PROJECT_ID: config.vercelProjectId,
|
|
172
176
|
VERCEL_TEAM_ID: config.vercelTeamId,
|
|
173
177
|
AGENT_AUTH_METHOD: config.agentAuthMethod,
|
|
174
178
|
AGENT_MODEL: config.agentModel,
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
function toSecrets(config: ReturnType<typeof loadConfig>): Record<string, string | undefined> {
|
|
183
|
+
return {
|
|
184
|
+
AEGIS_WORKER_URL: config.workerUrl,
|
|
185
|
+
GITHUB_APP_PRIVATE_KEY: config.githubAppPrivateKey,
|
|
186
|
+
GITHUB_WEBHOOK_SECRET: config.githubWebhookSecret,
|
|
187
|
+
GITHUB_TOKEN: config.githubToken,
|
|
188
|
+
LINEAR_API_KEY: config.linearApiKey,
|
|
189
|
+
LINEAR_WEBHOOK_SECRET: config.linearWebhookSecret,
|
|
190
|
+
TELEGRAM_BOT_TOKEN: config.telegramBotToken,
|
|
191
|
+
TELEGRAM_WEBHOOK_SECRET: config.telegramWebhookSecret,
|
|
192
|
+
DATABASE_URL: config.databaseUrl,
|
|
193
|
+
VERCEL_TOKEN: config.vercelToken,
|
|
175
194
|
OPENAI_API_KEY: config.openaiApiKey,
|
|
176
195
|
CODEX_OAUTH_CREDENTIALS_B64: config.codexOauthCredentials,
|
|
177
196
|
};
|
|
178
197
|
}
|
|
198
|
+
|
|
199
|
+
function compact(input: Record<string, string | undefined>): Record<string, string> {
|
|
200
|
+
return Object.fromEntries(
|
|
201
|
+
Object.entries(input).filter((entry): entry is [string, string] => Boolean(entry[1])),
|
|
202
|
+
);
|
|
203
|
+
}
|
|
@@ -151,7 +151,7 @@ export class LinearClient {
|
|
|
151
151
|
private async findStateId(name: string): Promise<string | undefined> {
|
|
152
152
|
const linear = this.requireConfig();
|
|
153
153
|
const result = await this.graphql<{ workflowStates: { nodes: LinearStateNode[] } }>(
|
|
154
|
-
`query WorkflowStates($teamId:
|
|
154
|
+
`query WorkflowStates($teamId: ID!) {
|
|
155
155
|
workflowStates(filter: { team: { id: { eq: $teamId } } }) {
|
|
156
156
|
nodes { id name }
|
|
157
157
|
}
|