@nairon-ai/aegis 0.5.3 → 0.5.5
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 +19 -3
- package/dist-node/cli/commands/deploy.js.map +1 -1
- package/dist-node/sandbox/github-token.js +68 -3
- package/dist-node/sandbox/github-token.js.map +1 -1
- package/package.json +1 -1
- package/src/cli/commands/deploy.ts +23 -3
- package/src/sandbox/github-token.ts +78 -3
|
@@ -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":"AAQA,eAAO,MAAM,aAAa,qDAKxB,CAAC;AAEH,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAkC/C"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { execFileSync, spawnSync } from "node:child_process";
|
|
2
|
-
import {
|
|
2
|
+
import { existsSync } from "node:fs";
|
|
3
|
+
import { dirname, resolve } from "node:path";
|
|
3
4
|
import { defineCommand } from "citty";
|
|
4
5
|
import { consola } from "consola";
|
|
5
6
|
import { findPackageRoot } from "../paths.js";
|
|
@@ -13,8 +14,8 @@ export const deployCommand = defineCommand({
|
|
|
13
14
|
export async function runDeploy() {
|
|
14
15
|
const packageRoot = findPackageRoot(import.meta.url);
|
|
15
16
|
const config = loadConfig();
|
|
16
|
-
const flueBin =
|
|
17
|
-
const wranglerBin =
|
|
17
|
+
const flueBin = resolvePackageBinary(packageRoot, "flue");
|
|
18
|
+
const wranglerBin = resolvePackageBinary(packageRoot, "wrangler");
|
|
18
19
|
consola.start("Building Flue Worker...");
|
|
19
20
|
execFileSync(flueBin, ["build", "--target", "cloudflare"], {
|
|
20
21
|
cwd: packageRoot,
|
|
@@ -39,6 +40,21 @@ export async function runDeploy() {
|
|
|
39
40
|
consola.success("Deploy complete.");
|
|
40
41
|
}
|
|
41
42
|
}
|
|
43
|
+
function resolvePackageBinary(packageRoot, name) {
|
|
44
|
+
const candidates = [
|
|
45
|
+
resolve(packageRoot, "node_modules/.bin", name),
|
|
46
|
+
resolve(dirname(dirname(packageRoot)), ".bin", name),
|
|
47
|
+
];
|
|
48
|
+
let current = packageRoot;
|
|
49
|
+
while (current !== dirname(current)) {
|
|
50
|
+
candidates.push(resolve(current, "node_modules/.bin", name));
|
|
51
|
+
current = dirname(current);
|
|
52
|
+
}
|
|
53
|
+
const binary = candidates.find((candidate) => existsSync(candidate));
|
|
54
|
+
if (binary)
|
|
55
|
+
return binary;
|
|
56
|
+
throw new Error(`Could not find ${name}. Re-run with npx --yes @nairon-ai/aegis@latest deploy, or install dependencies in the Aegis package.`);
|
|
57
|
+
}
|
|
42
58
|
function pushSecrets(secrets, packageRoot, wranglerBin) {
|
|
43
59
|
consola.start("Pushing Cloudflare secrets...");
|
|
44
60
|
const wranglerConfig = resolve(packageRoot, "wrangler.jsonc");
|
|
@@ -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,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../src/cli/commands/deploy.ts"],"names":[],"mappings":"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"}
|
|
@@ -52,15 +52,80 @@ function base64url(input) {
|
|
|
52
52
|
return base64.replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
|
|
53
53
|
}
|
|
54
54
|
function pemToArrayBuffer(pem) {
|
|
55
|
-
const
|
|
55
|
+
const isPkcs1 = pem.includes("BEGIN RSA PRIVATE KEY");
|
|
56
|
+
const base64 = pem
|
|
56
57
|
.replace(/-----BEGIN .+-----/, "")
|
|
57
58
|
.replace(/-----END .+-----/, "")
|
|
58
59
|
.replace(/\s/g, "");
|
|
59
|
-
const binary = atob(
|
|
60
|
+
const binary = atob(base64);
|
|
60
61
|
const bytes = new Uint8Array(binary.length);
|
|
61
62
|
for (let i = 0; i < binary.length; i++) {
|
|
62
63
|
bytes[i] = binary.charCodeAt(i);
|
|
63
64
|
}
|
|
64
|
-
return bytes
|
|
65
|
+
return toArrayBuffer(isPkcs1 ? wrapPkcs1RsaKey(bytes) : bytes);
|
|
66
|
+
}
|
|
67
|
+
function wrapPkcs1RsaKey(pkcs1) {
|
|
68
|
+
const version = derIntegerZero();
|
|
69
|
+
const algorithm = derSequence(derObjectIdentifier([1, 2, 840, 113549, 1, 1, 1]), derNull());
|
|
70
|
+
const privateKey = derOctetString(pkcs1);
|
|
71
|
+
return derSequence(version, algorithm, privateKey);
|
|
72
|
+
}
|
|
73
|
+
function derSequence(...parts) {
|
|
74
|
+
return derTagged(0x30, concatBytes(parts));
|
|
75
|
+
}
|
|
76
|
+
function derIntegerZero() {
|
|
77
|
+
return new Uint8Array([0x02, 0x01, 0x00]);
|
|
78
|
+
}
|
|
79
|
+
function derNull() {
|
|
80
|
+
return new Uint8Array([0x05, 0x00]);
|
|
81
|
+
}
|
|
82
|
+
function derOctetString(value) {
|
|
83
|
+
return derTagged(0x04, value);
|
|
84
|
+
}
|
|
85
|
+
function derObjectIdentifier(parts) {
|
|
86
|
+
const [first, second, ...rest] = parts;
|
|
87
|
+
const bytes = [first * 40 + second];
|
|
88
|
+
for (const part of rest) {
|
|
89
|
+
bytes.push(...encodeBase128(part));
|
|
90
|
+
}
|
|
91
|
+
return derTagged(0x06, new Uint8Array(bytes));
|
|
92
|
+
}
|
|
93
|
+
function derTagged(tag, value) {
|
|
94
|
+
return concatBytes([new Uint8Array([tag]), derLength(value.length), value]);
|
|
95
|
+
}
|
|
96
|
+
function derLength(length) {
|
|
97
|
+
if (length < 0x80)
|
|
98
|
+
return new Uint8Array([length]);
|
|
99
|
+
const bytes = [];
|
|
100
|
+
let remaining = length;
|
|
101
|
+
while (remaining > 0) {
|
|
102
|
+
bytes.unshift(remaining & 0xff);
|
|
103
|
+
remaining >>= 8;
|
|
104
|
+
}
|
|
105
|
+
return new Uint8Array([0x80 | bytes.length, ...bytes]);
|
|
106
|
+
}
|
|
107
|
+
function encodeBase128(value) {
|
|
108
|
+
const bytes = [value & 0x7f];
|
|
109
|
+
let remaining = value >> 7;
|
|
110
|
+
while (remaining > 0) {
|
|
111
|
+
bytes.unshift(0x80 | (remaining & 0x7f));
|
|
112
|
+
remaining >>= 7;
|
|
113
|
+
}
|
|
114
|
+
return bytes;
|
|
115
|
+
}
|
|
116
|
+
function concatBytes(parts) {
|
|
117
|
+
const size = parts.reduce((total, part) => total + part.length, 0);
|
|
118
|
+
const output = new Uint8Array(size);
|
|
119
|
+
let offset = 0;
|
|
120
|
+
for (const part of parts) {
|
|
121
|
+
output.set(part, offset);
|
|
122
|
+
offset += part.length;
|
|
123
|
+
}
|
|
124
|
+
return output;
|
|
125
|
+
}
|
|
126
|
+
function toArrayBuffer(bytes) {
|
|
127
|
+
const copy = new Uint8Array(bytes.byteLength);
|
|
128
|
+
copy.set(bytes);
|
|
129
|
+
return copy.buffer;
|
|
65
130
|
}
|
|
66
131
|
//# sourceMappingURL=github-token.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-token.js","sourceRoot":"","sources":["../../src/sandbox/github-token.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"github-token.js","sourceRoot":"","sources":["../../src/sandbox/github-token.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { execFileSync, spawnSync } from "node:child_process";
|
|
2
|
-
import {
|
|
2
|
+
import { existsSync } from "node:fs";
|
|
3
|
+
import { dirname, resolve } from "node:path";
|
|
3
4
|
import { defineCommand } from "citty";
|
|
4
5
|
import { consola } from "consola";
|
|
5
6
|
import { findPackageRoot } from "../paths.js";
|
|
@@ -15,8 +16,8 @@ export const deployCommand = defineCommand({
|
|
|
15
16
|
export async function runDeploy(): Promise<void> {
|
|
16
17
|
const packageRoot = findPackageRoot(import.meta.url);
|
|
17
18
|
const config = loadConfig();
|
|
18
|
-
const flueBin =
|
|
19
|
-
const wranglerBin =
|
|
19
|
+
const flueBin = resolvePackageBinary(packageRoot, "flue");
|
|
20
|
+
const wranglerBin = resolvePackageBinary(packageRoot, "wrangler");
|
|
20
21
|
|
|
21
22
|
consola.start("Building Flue Worker...");
|
|
22
23
|
execFileSync(flueBin, ["build", "--target", "cloudflare"], {
|
|
@@ -48,6 +49,25 @@ export async function runDeploy(): Promise<void> {
|
|
|
48
49
|
}
|
|
49
50
|
}
|
|
50
51
|
|
|
52
|
+
function resolvePackageBinary(packageRoot: string, name: string): string {
|
|
53
|
+
const candidates = [
|
|
54
|
+
resolve(packageRoot, "node_modules/.bin", name),
|
|
55
|
+
resolve(dirname(dirname(packageRoot)), ".bin", name),
|
|
56
|
+
];
|
|
57
|
+
let current = packageRoot;
|
|
58
|
+
while (current !== dirname(current)) {
|
|
59
|
+
candidates.push(resolve(current, "node_modules/.bin", name));
|
|
60
|
+
current = dirname(current);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
const binary = candidates.find((candidate) => existsSync(candidate));
|
|
64
|
+
if (binary) return binary;
|
|
65
|
+
|
|
66
|
+
throw new Error(
|
|
67
|
+
`Could not find ${name}. Re-run with npx --yes @nairon-ai/aegis@latest deploy, or install dependencies in the Aegis package.`,
|
|
68
|
+
);
|
|
69
|
+
}
|
|
70
|
+
|
|
51
71
|
function pushSecrets(
|
|
52
72
|
secrets: Record<string, string | undefined>,
|
|
53
73
|
packageRoot: string,
|
|
@@ -79,14 +79,89 @@ function base64url(input: string | ArrayBuffer): string {
|
|
|
79
79
|
}
|
|
80
80
|
|
|
81
81
|
function pemToArrayBuffer(pem: string): ArrayBuffer {
|
|
82
|
-
const
|
|
82
|
+
const isPkcs1 = pem.includes("BEGIN RSA PRIVATE KEY");
|
|
83
|
+
const base64 = pem
|
|
83
84
|
.replace(/-----BEGIN .+-----/, "")
|
|
84
85
|
.replace(/-----END .+-----/, "")
|
|
85
86
|
.replace(/\s/g, "");
|
|
86
|
-
const binary = atob(
|
|
87
|
+
const binary = atob(base64);
|
|
87
88
|
const bytes = new Uint8Array(binary.length);
|
|
88
89
|
for (let i = 0; i < binary.length; i++) {
|
|
89
90
|
bytes[i] = binary.charCodeAt(i);
|
|
90
91
|
}
|
|
91
|
-
return bytes
|
|
92
|
+
return toArrayBuffer(isPkcs1 ? wrapPkcs1RsaKey(bytes) : bytes);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
function wrapPkcs1RsaKey(pkcs1: Uint8Array): Uint8Array {
|
|
96
|
+
const version = derIntegerZero();
|
|
97
|
+
const algorithm = derSequence(derObjectIdentifier([1, 2, 840, 113549, 1, 1, 1]), derNull());
|
|
98
|
+
const privateKey = derOctetString(pkcs1);
|
|
99
|
+
return derSequence(version, algorithm, privateKey);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
function derSequence(...parts: Uint8Array[]): Uint8Array {
|
|
103
|
+
return derTagged(0x30, concatBytes(parts));
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
function derIntegerZero(): Uint8Array {
|
|
107
|
+
return new Uint8Array([0x02, 0x01, 0x00]);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
function derNull(): Uint8Array {
|
|
111
|
+
return new Uint8Array([0x05, 0x00]);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
function derOctetString(value: Uint8Array): Uint8Array {
|
|
115
|
+
return derTagged(0x04, value);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
function derObjectIdentifier(parts: number[]): Uint8Array {
|
|
119
|
+
const [first, second, ...rest] = parts;
|
|
120
|
+
const bytes = [first * 40 + second];
|
|
121
|
+
for (const part of rest) {
|
|
122
|
+
bytes.push(...encodeBase128(part));
|
|
123
|
+
}
|
|
124
|
+
return derTagged(0x06, new Uint8Array(bytes));
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
function derTagged(tag: number, value: Uint8Array): Uint8Array {
|
|
128
|
+
return concatBytes([new Uint8Array([tag]), derLength(value.length), value]);
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
function derLength(length: number): Uint8Array {
|
|
132
|
+
if (length < 0x80) return new Uint8Array([length]);
|
|
133
|
+
const bytes: number[] = [];
|
|
134
|
+
let remaining = length;
|
|
135
|
+
while (remaining > 0) {
|
|
136
|
+
bytes.unshift(remaining & 0xff);
|
|
137
|
+
remaining >>= 8;
|
|
138
|
+
}
|
|
139
|
+
return new Uint8Array([0x80 | bytes.length, ...bytes]);
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
function encodeBase128(value: number): number[] {
|
|
143
|
+
const bytes = [value & 0x7f];
|
|
144
|
+
let remaining = value >> 7;
|
|
145
|
+
while (remaining > 0) {
|
|
146
|
+
bytes.unshift(0x80 | (remaining & 0x7f));
|
|
147
|
+
remaining >>= 7;
|
|
148
|
+
}
|
|
149
|
+
return bytes;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
function concatBytes(parts: Uint8Array[]): Uint8Array {
|
|
153
|
+
const size = parts.reduce((total, part) => total + part.length, 0);
|
|
154
|
+
const output = new Uint8Array(size);
|
|
155
|
+
let offset = 0;
|
|
156
|
+
for (const part of parts) {
|
|
157
|
+
output.set(part, offset);
|
|
158
|
+
offset += part.length;
|
|
159
|
+
}
|
|
160
|
+
return output;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
function toArrayBuffer(bytes: Uint8Array): ArrayBuffer {
|
|
164
|
+
const copy = new Uint8Array(bytes.byteLength);
|
|
165
|
+
copy.set(bytes);
|
|
166
|
+
return copy.buffer;
|
|
92
167
|
}
|