@1claw/cli 0.34.1 → 0.34.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.
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/commands/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/commands/setup.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6CpC,wBAAgB,aAAa,IAAI,OAAO,CAwEvC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA+CpC,wBAAgB,aAAa,IAAI,OAAO,CA0EvC"}
package/dist/src/index.js CHANGED
@@ -18,6 +18,8 @@ import { mfaCommand } from "./commands/mfa.js";
18
18
  import { configCommand } from "./commands/config.js";
19
19
  import { setupCommand } from "./commands/setup.js";
20
20
  import { importCommand } from "./commands/import.js";
21
+ import { localCommand } from "./commands/local.js";
22
+ import { daemonCommand } from "./commands/daemon.js";
21
23
  import { proxyCommand } from "./commands/proxy.js";
22
24
  import { treasuryCommand } from "./commands/treasury.js";
23
25
  import { webhookCommand } from "./commands/webhook.js";
@@ -58,9 +60,11 @@ export function createProgram() {
58
60
  // Security
59
61
  program.addCommand(auditCommand);
60
62
  program.addCommand(mfaCommand);
61
- // Setup & import
63
+ // Setup, import & local vault
62
64
  program.addCommand(setupCommand);
63
65
  program.addCommand(importCommand);
66
+ program.addCommand(localCommand);
67
+ program.addCommand(daemonCommand);
64
68
  // Config
65
69
  program.addCommand(configCommand);
66
70
  // Treasury
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ export declare const POLICY_FILE: string;
2
+ export interface SecretPolicy {
3
+ allowed_hosts: string[];
4
+ inject_as: "header" | "query" | "bearer" | "basic";
5
+ header_name?: string;
6
+ query_param?: string;
7
+ }
8
+ export interface PolicyFile {
9
+ version: number;
10
+ defaults: {
11
+ inject_as: "header" | "bearer";
12
+ header_name: string;
13
+ };
14
+ secrets: Record<string, SecretPolicy>;
15
+ }
16
+ export declare function loadPolicy(): PolicyFile;
17
+ export declare function savePolicy(policy: PolicyFile): void;
18
+ export declare function policyExists(): boolean;
19
+ export declare function getPolicyPath(): string;
20
+ export declare function getSecretPolicy(policy: PolicyFile, secretName: string): SecretPolicy | null;
21
+ export declare function setSecretPolicy(policy: PolicyFile, secretName: string, sp: SecretPolicy): void;
22
+ export declare function removeSecretPolicy(policy: PolicyFile, secretName: string): boolean;
23
+ /**
24
+ * Check if a request URL is allowed by the secret's policy.
25
+ * When no policy exists for a secret, all hosts are denied by default
26
+ * (fail-closed — the daemon won't inject a secret without a policy).
27
+ */
28
+ export declare function isHostAllowed(policy: PolicyFile, secretName: string, targetUrl: string): {
29
+ allowed: boolean;
30
+ reason: string;
31
+ };
32
+ /**
33
+ * Resolve how to inject a secret into a request.
34
+ */
35
+ export declare function resolveInjection(policy: PolicyFile, secretName: string, secretValue: string): {
36
+ headers: Record<string, string>;
37
+ queryParams: Record<string, string>;
38
+ };
39
+ //# sourceMappingURL=local-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-policy.d.ts","sourceRoot":"","sources":["../../src/local-policy.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,WAAW,QAAkC,CAAC;AAE3D,MAAM,WAAW,YAAY;IACzB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,SAAS,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE;QACN,SAAS,EAAE,QAAQ,GAAG,QAAQ,CAAC;QAC/B,WAAW,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CACzC;AAWD,wBAAgB,UAAU,IAAI,UAAU,CASvC;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAEnD;AAED,wBAAgB,YAAY,IAAI,OAAO,CAEtC;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,wBAAgB,eAAe,CAC3B,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,MAAM,GACnB,YAAY,GAAG,IAAI,CAErB;AAED,wBAAgB,eAAe,CAC3B,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,MAAM,EAClB,EAAE,EAAE,YAAY,GACjB,IAAI,CAEN;AAED,wBAAgB,kBAAkB,CAC9B,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,MAAM,GACnB,OAAO,CAIT;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CACzB,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAClB;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CA4CtC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC5B,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,GACpB;IAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CA4B1E"}
@@ -0,0 +1,123 @@
1
+ import { existsSync, readFileSync, writeFileSync } from "node:fs";
2
+ import { homedir } from "node:os";
3
+ import { join } from "node:path";
4
+ const CONFIG_DIR = process.env.ONECLAW_CONFIG_DIR || join(homedir(), ".config", "1claw");
5
+ export const POLICY_FILE = join(CONFIG_DIR, "policy.json");
6
+ const DEFAULT_POLICY = {
7
+ version: 1,
8
+ defaults: {
9
+ inject_as: "bearer",
10
+ header_name: "Authorization",
11
+ },
12
+ secrets: {},
13
+ };
14
+ export function loadPolicy() {
15
+ if (!existsSync(POLICY_FILE)) {
16
+ return { ...DEFAULT_POLICY, secrets: {} };
17
+ }
18
+ try {
19
+ return JSON.parse(readFileSync(POLICY_FILE, "utf-8"));
20
+ }
21
+ catch {
22
+ return { ...DEFAULT_POLICY, secrets: {} };
23
+ }
24
+ }
25
+ export function savePolicy(policy) {
26
+ writeFileSync(POLICY_FILE, JSON.stringify(policy, null, 2) + "\n", "utf-8");
27
+ }
28
+ export function policyExists() {
29
+ return existsSync(POLICY_FILE);
30
+ }
31
+ export function getPolicyPath() {
32
+ return POLICY_FILE;
33
+ }
34
+ export function getSecretPolicy(policy, secretName) {
35
+ return policy.secrets[secretName] ?? null;
36
+ }
37
+ export function setSecretPolicy(policy, secretName, sp) {
38
+ policy.secrets[secretName] = sp;
39
+ }
40
+ export function removeSecretPolicy(policy, secretName) {
41
+ if (!(secretName in policy.secrets))
42
+ return false;
43
+ delete policy.secrets[secretName];
44
+ return true;
45
+ }
46
+ /**
47
+ * Check if a request URL is allowed by the secret's policy.
48
+ * When no policy exists for a secret, all hosts are denied by default
49
+ * (fail-closed — the daemon won't inject a secret without a policy).
50
+ */
51
+ export function isHostAllowed(policy, secretName, targetUrl) {
52
+ const sp = policy.secrets[secretName];
53
+ if (!sp) {
54
+ return {
55
+ allowed: false,
56
+ reason: `No policy defined for secret "${secretName}". Add one with: 1claw daemon policy add ${secretName} --hosts <host1,host2>`,
57
+ };
58
+ }
59
+ if (sp.allowed_hosts.length === 0) {
60
+ return {
61
+ allowed: false,
62
+ reason: `Secret "${secretName}" has an empty allowed_hosts list.`,
63
+ };
64
+ }
65
+ let hostname;
66
+ try {
67
+ hostname = new URL(targetUrl).hostname;
68
+ }
69
+ catch {
70
+ return {
71
+ allowed: false,
72
+ reason: `Invalid URL: "${targetUrl}"`,
73
+ };
74
+ }
75
+ for (const pattern of sp.allowed_hosts) {
76
+ if (pattern === "*") {
77
+ return { allowed: true, reason: "Wildcard policy" };
78
+ }
79
+ if (pattern.startsWith("*.")) {
80
+ const suffix = pattern.slice(2);
81
+ if (hostname === suffix || hostname.endsWith("." + suffix)) {
82
+ return { allowed: true, reason: `Matches *.${suffix}` };
83
+ }
84
+ }
85
+ else if (hostname === pattern) {
86
+ return { allowed: true, reason: `Matches ${pattern}` };
87
+ }
88
+ }
89
+ return {
90
+ allowed: false,
91
+ reason: `Host "${hostname}" is not in the allowed list for "${secretName}": [${sp.allowed_hosts.join(", ")}]`,
92
+ };
93
+ }
94
+ /**
95
+ * Resolve how to inject a secret into a request.
96
+ */
97
+ export function resolveInjection(policy, secretName, secretValue) {
98
+ const sp = policy.secrets[secretName];
99
+ const injectAs = sp?.inject_as ?? policy.defaults.inject_as;
100
+ const headers = {};
101
+ const queryParams = {};
102
+ switch (injectAs) {
103
+ case "bearer":
104
+ headers["Authorization"] = `Bearer ${secretValue}`;
105
+ break;
106
+ case "basic":
107
+ headers["Authorization"] =
108
+ `Basic ${Buffer.from(secretValue).toString("base64")}`;
109
+ break;
110
+ case "header": {
111
+ const headerName = sp?.header_name ?? policy.defaults.header_name ?? "Authorization";
112
+ headers[headerName] = secretValue;
113
+ break;
114
+ }
115
+ case "query": {
116
+ const param = sp?.query_param ?? secretName;
117
+ queryParams[param] = secretValue;
118
+ break;
119
+ }
120
+ }
121
+ return { headers, queryParams };
122
+ }
123
+ //# sourceMappingURL=local-policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-policy.js","sourceRoot":"","sources":["../../src/local-policy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ export interface LocalSecret {
2
+ value: string;
3
+ type: string;
4
+ created_at: string;
5
+ updated_at: string;
6
+ synced_to_cloud: boolean;
7
+ cloud_vault_id: string | null;
8
+ cloud_path: string | null;
9
+ }
10
+ export interface LocalVaultData {
11
+ version: number;
12
+ created_at: string;
13
+ updated_at: string;
14
+ secrets: Record<string, LocalSecret>;
15
+ }
16
+ export declare function getVaultPath(): string;
17
+ export declare function vaultExists(): boolean;
18
+ export declare function createVault(passphrase: string): LocalVaultData;
19
+ export declare function loadVault(passphrase: string): LocalVaultData;
20
+ export declare function saveVault(vault: LocalVaultData, passphrase: string): void;
21
+ export declare function addSecret(vault: LocalVaultData, name: string, value: string, type?: string): void;
22
+ export declare function removeSecret(vault: LocalVaultData, name: string): boolean;
23
+ export declare function getSecret(vault: LocalVaultData, name: string): LocalSecret | null;
24
+ export declare function listSecrets(vault: LocalVaultData): Array<{
25
+ name: string;
26
+ type: string;
27
+ synced: boolean;
28
+ updated_at: string;
29
+ }>;
30
+ export declare function markSynced(vault: LocalVaultData, name: string, cloudVaultId: string, cloudPath: string): void;
31
+ export declare function getVaultInfo(): {
32
+ exists: boolean;
33
+ sizeBytes?: number;
34
+ path: string;
35
+ };
36
+ export declare function deleteVault(): boolean;
37
+ export declare function exportAsEnv(vault: LocalVaultData): string;
38
+ export declare function fingerprintPassphrase(passphrase: string): string;
39
+ //# sourceMappingURL=local-vault.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-vault.d.ts","sourceRoot":"","sources":["../../src/local-vault.ts"],"names":[],"mappings":"AAiCA,MAAM,WAAW,WAAW;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;CACxC;AAuDD,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,wBAAgB,WAAW,IAAI,OAAO,CAErC;AAED,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,CAe9D;AAED,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,CAU5D;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAkBzE;AAED,wBAAgB,SAAS,CACrB,KAAK,EAAE,cAAc,EACrB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,IAAI,GAAE,MAAkB,GACzB,IAAI,CAWN;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAIzE;AAED,wBAAgB,SAAS,CACrB,KAAK,EAAE,cAAc,EACrB,IAAI,EAAE,MAAM,GACb,WAAW,GAAG,IAAI,CAEpB;AAED,wBAAgB,WAAW,CACvB,KAAK,EAAE,cAAc,GACtB,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,CAO5E;AAED,wBAAgB,UAAU,CACtB,KAAK,EAAE,cAAc,EACrB,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,GAClB,IAAI,CAMN;AAED,wBAAgB,YAAY,IAAI;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CAChB,CAMA;AAED,wBAAgB,WAAW,IAAI,OAAO,CAIrC;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CAOzD;AAED,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAKhE"}
@@ -0,0 +1,166 @@
1
+ import { existsSync, readFileSync, writeFileSync, mkdirSync, chmodSync, statSync, unlinkSync, renameSync, } from "node:fs";
2
+ import { createCipheriv, createDecipheriv, randomBytes, pbkdf2Sync, createHash, } from "node:crypto";
3
+ import { homedir } from "node:os";
4
+ import { join } from "node:path";
5
+ const CONFIG_DIR = process.env.ONECLAW_CONFIG_DIR || join(homedir(), ".config", "1claw");
6
+ const VAULT_FILE = process.env.ONECLAW_LOCAL_VAULT || join(CONFIG_DIR, "local-vault.enc");
7
+ const ALGORITHM = "aes-256-gcm";
8
+ const IV_LENGTH = 12;
9
+ const TAG_LENGTH = 16;
10
+ const SALT_LENGTH = 16;
11
+ const PBKDF2_ITERATIONS = 100_000;
12
+ const FILE_VERSION = 1;
13
+ function deriveKey(passphrase, salt) {
14
+ return pbkdf2Sync(passphrase, salt, PBKDF2_ITERATIONS, 32, "sha256");
15
+ }
16
+ function encrypt(plaintext, passphrase) {
17
+ const salt = randomBytes(SALT_LENGTH);
18
+ const key = deriveKey(passphrase, salt);
19
+ const iv = randomBytes(IV_LENGTH);
20
+ const cipher = createCipheriv(ALGORITHM, key, iv);
21
+ const encrypted = Buffer.concat([
22
+ cipher.update(plaintext, "utf-8"),
23
+ cipher.final(),
24
+ ]);
25
+ const tag = cipher.getAuthTag();
26
+ // Wire format: [version:1][salt:16][iv:12][tag:16][ciphertext]
27
+ return Buffer.concat([
28
+ Buffer.from([FILE_VERSION]),
29
+ salt,
30
+ iv,
31
+ tag,
32
+ encrypted,
33
+ ]);
34
+ }
35
+ function decrypt(data, passphrase) {
36
+ const version = data[0];
37
+ if (version !== FILE_VERSION) {
38
+ throw new Error(`Unsupported vault file version: ${version}`);
39
+ }
40
+ let offset = 1;
41
+ const salt = data.subarray(offset, offset + SALT_LENGTH);
42
+ offset += SALT_LENGTH;
43
+ const iv = data.subarray(offset, offset + IV_LENGTH);
44
+ offset += IV_LENGTH;
45
+ const tag = data.subarray(offset, offset + TAG_LENGTH);
46
+ offset += TAG_LENGTH;
47
+ const encrypted = data.subarray(offset);
48
+ const key = deriveKey(passphrase, salt);
49
+ const decipher = createDecipheriv(ALGORITHM, key, iv);
50
+ decipher.setAuthTag(tag);
51
+ const decrypted = Buffer.concat([
52
+ decipher.update(encrypted),
53
+ decipher.final(),
54
+ ]);
55
+ return decrypted.toString("utf-8");
56
+ }
57
+ export function getVaultPath() {
58
+ return VAULT_FILE;
59
+ }
60
+ export function vaultExists() {
61
+ return existsSync(VAULT_FILE);
62
+ }
63
+ export function createVault(passphrase) {
64
+ if (!existsSync(CONFIG_DIR)) {
65
+ mkdirSync(CONFIG_DIR, { recursive: true });
66
+ }
67
+ const now = new Date().toISOString();
68
+ const vault = {
69
+ version: FILE_VERSION,
70
+ created_at: now,
71
+ updated_at: now,
72
+ secrets: {},
73
+ };
74
+ saveVault(vault, passphrase);
75
+ return vault;
76
+ }
77
+ export function loadVault(passphrase) {
78
+ if (!existsSync(VAULT_FILE)) {
79
+ throw new Error("No local vault found. Run `1claw local init` first.");
80
+ }
81
+ const data = readFileSync(VAULT_FILE);
82
+ const json = decrypt(data, passphrase);
83
+ return JSON.parse(json);
84
+ }
85
+ export function saveVault(vault, passphrase) {
86
+ vault.updated_at = new Date().toISOString();
87
+ const json = JSON.stringify(vault);
88
+ const encrypted = encrypt(json, passphrase);
89
+ if (!existsSync(CONFIG_DIR)) {
90
+ mkdirSync(CONFIG_DIR, { recursive: true });
91
+ }
92
+ const tmpPath = VAULT_FILE + ".tmp";
93
+ writeFileSync(tmpPath, encrypted);
94
+ try {
95
+ chmodSync(tmpPath, 0o600);
96
+ }
97
+ catch {
98
+ // best-effort
99
+ }
100
+ renameSync(tmpPath, VAULT_FILE);
101
+ }
102
+ export function addSecret(vault, name, value, type = "api_key") {
103
+ const now = new Date().toISOString();
104
+ vault.secrets[name] = {
105
+ value,
106
+ type,
107
+ created_at: vault.secrets[name]?.created_at ?? now,
108
+ updated_at: now,
109
+ synced_to_cloud: false,
110
+ cloud_vault_id: null,
111
+ cloud_path: null,
112
+ };
113
+ }
114
+ export function removeSecret(vault, name) {
115
+ if (!(name in vault.secrets))
116
+ return false;
117
+ delete vault.secrets[name];
118
+ return true;
119
+ }
120
+ export function getSecret(vault, name) {
121
+ return vault.secrets[name] ?? null;
122
+ }
123
+ export function listSecrets(vault) {
124
+ return Object.entries(vault.secrets).map(([name, s]) => ({
125
+ name,
126
+ type: s.type,
127
+ synced: s.synced_to_cloud,
128
+ updated_at: s.updated_at,
129
+ }));
130
+ }
131
+ export function markSynced(vault, name, cloudVaultId, cloudPath) {
132
+ const secret = vault.secrets[name];
133
+ if (!secret)
134
+ return;
135
+ secret.synced_to_cloud = true;
136
+ secret.cloud_vault_id = cloudVaultId;
137
+ secret.cloud_path = cloudPath;
138
+ }
139
+ export function getVaultInfo() {
140
+ if (!existsSync(VAULT_FILE)) {
141
+ return { exists: false, path: VAULT_FILE };
142
+ }
143
+ const stat = statSync(VAULT_FILE);
144
+ return { exists: true, sizeBytes: stat.size, path: VAULT_FILE };
145
+ }
146
+ export function deleteVault() {
147
+ if (!existsSync(VAULT_FILE))
148
+ return false;
149
+ unlinkSync(VAULT_FILE);
150
+ return true;
151
+ }
152
+ export function exportAsEnv(vault) {
153
+ return Object.entries(vault.secrets)
154
+ .map(([name, s]) => {
155
+ const val = s.value.includes(" ") ? `"${s.value}"` : s.value;
156
+ return `${name}=${val}`;
157
+ })
158
+ .join("\n") + "\n";
159
+ }
160
+ export function fingerprintPassphrase(passphrase) {
161
+ return createHash("sha256")
162
+ .update(passphrase)
163
+ .digest("hex")
164
+ .slice(0, 8);
165
+ }
166
+ //# sourceMappingURL=local-vault.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-vault.js","sourceRoot":"","sources":["../../src/local-vault.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { type PolicyFile } from "./local-policy.js";
2
+ import type { LocalVaultData } from "./local-vault.js";
3
+ export interface ProxyRequest {
4
+ secretName: string;
5
+ url: string;
6
+ method?: string;
7
+ headers?: Record<string, string>;
8
+ body?: string;
9
+ }
10
+ export interface ProxyResponse {
11
+ status: number;
12
+ headers: Record<string, string>;
13
+ body: string;
14
+ }
15
+ export interface ProxyResult {
16
+ success: boolean;
17
+ response?: ProxyResponse;
18
+ error?: string;
19
+ }
20
+ /**
21
+ * Execute an HTTP request with a secret injected, without exposing
22
+ * the secret value to the caller. The secret is resolved from the
23
+ * local vault, checked against the policy, and injected into the
24
+ * request per the policy rules.
25
+ */
26
+ export declare function proxyRequest(req: ProxyRequest, vault: LocalVaultData, policy: PolicyFile): Promise<ProxyResult>;
27
+ //# sourceMappingURL=secret-proxy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secret-proxy.d.ts","sourceRoot":"","sources":["../../src/secret-proxy.ts"],"names":[],"mappings":"AAGA,OAAO,EACH,KAAK,UAAU,EAGlB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,MAAM,WAAW,YAAY;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAC9B,GAAG,EAAE,YAAY,EACjB,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,UAAU,GACnB,OAAO,CAAC,WAAW,CAAC,CAyEtB"}
@@ -0,0 +1,73 @@
1
+ import { request as httpsRequest } from "node:https";
2
+ import { request as httpRequest } from "node:http";
3
+ import { URL } from "node:url";
4
+ import { isHostAllowed, resolveInjection, } from "./local-policy.js";
5
+ /**
6
+ * Execute an HTTP request with a secret injected, without exposing
7
+ * the secret value to the caller. The secret is resolved from the
8
+ * local vault, checked against the policy, and injected into the
9
+ * request per the policy rules.
10
+ */
11
+ export async function proxyRequest(req, vault, policy) {
12
+ const secret = vault.secrets[req.secretName];
13
+ if (!secret) {
14
+ return {
15
+ success: false,
16
+ error: `Secret "${req.secretName}" not found in local vault.`,
17
+ };
18
+ }
19
+ const hostCheck = isHostAllowed(policy, req.secretName, req.url);
20
+ if (!hostCheck.allowed) {
21
+ return { success: false, error: hostCheck.reason };
22
+ }
23
+ const injection = resolveInjection(policy, req.secretName, secret.value);
24
+ const url = new URL(req.url);
25
+ for (const [k, v] of Object.entries(injection.queryParams)) {
26
+ url.searchParams.set(k, v);
27
+ }
28
+ const mergedHeaders = {
29
+ ...(req.headers ?? {}),
30
+ ...injection.headers,
31
+ };
32
+ const method = req.method ?? "GET";
33
+ return new Promise((resolve) => {
34
+ const isHttps = url.protocol === "https:";
35
+ const requestFn = isHttps ? httpsRequest : httpRequest;
36
+ const upstreamReq = requestFn(url, { method, headers: mergedHeaders }, (res) => {
37
+ const chunks = [];
38
+ res.on("data", (c) => chunks.push(c));
39
+ res.on("end", () => {
40
+ const body = Buffer.concat(chunks).toString("utf-8");
41
+ const responseHeaders = {};
42
+ for (const [k, v] of Object.entries(res.headers)) {
43
+ if (typeof v === "string")
44
+ responseHeaders[k] = v;
45
+ else if (Array.isArray(v))
46
+ responseHeaders[k] = v.join(", ");
47
+ }
48
+ resolve({
49
+ success: true,
50
+ response: {
51
+ status: res.statusCode ?? 502,
52
+ headers: responseHeaders,
53
+ body,
54
+ },
55
+ });
56
+ });
57
+ });
58
+ upstreamReq.on("error", (err) => {
59
+ resolve({
60
+ success: false,
61
+ error: `Upstream request failed: ${err.message}`,
62
+ });
63
+ });
64
+ upstreamReq.setTimeout(30_000, () => {
65
+ upstreamReq.destroy(new Error("Request timed out (30s)"));
66
+ });
67
+ if (req.body) {
68
+ upstreamReq.write(req.body);
69
+ }
70
+ upstreamReq.end();
71
+ });
72
+ }
73
+ //# sourceMappingURL=secret-proxy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secret-proxy.js","sourceRoot":"","sources":["../../src/secret-proxy.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@1claw/cli",
3
- "version": "0.34.1",
3
+ "version": "0.34.2",
4
4
  "description": "CLI for 1Claw — secrets management for AI agents and humans",
5
5
  "license": "MIT",
6
6
  "repository": {