@skillrecordings/cli 0.14.1 → 0.14.3
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/.env.encrypted +0 -0
- package/dist/{chunk-FT5L3SDS.js → chunk-A5RBWKVF.js} +8 -8
- package/dist/chunk-JMAMXCWW.js +192 -0
- package/dist/chunk-JMAMXCWW.js.map +1 -0
- package/dist/{chunk-RA5G6CYF.js → chunk-L6YTBYNV.js} +11 -11
- package/dist/{config-AKU2GEMV.js → config-44V5DJBS.js} +5 -5
- package/dist/crypto-MTXIOCYL.js +23 -0
- package/dist/crypto-MTXIOCYL.js.map +1 -0
- package/dist/index.js +142 -201
- package/dist/index.js.map +1 -1
- package/dist/{pipeline-MJVBAX5W.js → pipeline-FGI6ICWM.js} +4 -4
- package/dist/secrets-MGVPGMFJ.js +14 -0
- package/dist/secrets-MGVPGMFJ.js.map +1 -0
- package/package.json +2 -2
- /package/dist/{chunk-FT5L3SDS.js.map → chunk-A5RBWKVF.js.map} +0 -0
- /package/dist/{chunk-RA5G6CYF.js.map → chunk-L6YTBYNV.js.map} +0 -0
- /package/dist/{config-AKU2GEMV.js.map → config-44V5DJBS.js.map} +0 -0
- /package/dist/{pipeline-MJVBAX5W.js.map → pipeline-FGI6ICWM.js.map} +0 -0
package/.env.encrypted
ADDED
|
Binary file
|
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
Redis2,
|
|
3
|
-
log
|
|
4
|
-
} from "./chunk-KEV3QKXP.js";
|
|
5
1
|
import {
|
|
6
2
|
citeMemories,
|
|
7
3
|
formatMemoriesCompact,
|
|
@@ -10,11 +6,15 @@ import {
|
|
|
10
6
|
queryMemoriesForStage
|
|
11
7
|
} from "./chunk-HK3PEWFD.js";
|
|
12
8
|
import {
|
|
13
|
-
|
|
14
|
-
|
|
9
|
+
Redis2,
|
|
10
|
+
log
|
|
11
|
+
} from "./chunk-KEV3QKXP.js";
|
|
15
12
|
import {
|
|
16
13
|
queryVectors
|
|
17
14
|
} from "./chunk-H3D6VCME.js";
|
|
15
|
+
import {
|
|
16
|
+
SupportMemoryService
|
|
17
|
+
} from "./chunk-WYKL32C3.js";
|
|
18
18
|
import {
|
|
19
19
|
Index2
|
|
20
20
|
} from "./chunk-MG37YDAK.js";
|
|
@@ -3560,7 +3560,7 @@ ${message.body}
|
|
|
3560
3560
|
---
|
|
3561
3561
|
Write your response:`;
|
|
3562
3562
|
if (useAgentMode && appId) {
|
|
3563
|
-
const { runSupportAgent } = await import("./config-
|
|
3563
|
+
const { runSupportAgent } = await import("./config-44V5DJBS.js");
|
|
3564
3564
|
await log("debug", "draft using agent mode", {
|
|
3565
3565
|
workflow: "pipeline",
|
|
3566
3566
|
step: "draft",
|
|
@@ -7096,4 +7096,4 @@ export {
|
|
|
7096
7096
|
runPipeline,
|
|
7097
7097
|
runThreadPipeline
|
|
7098
7098
|
};
|
|
7099
|
-
//# sourceMappingURL=chunk-
|
|
7099
|
+
//# sourceMappingURL=chunk-A5RBWKVF.js.map
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
import {
|
|
2
|
+
init_esm_shims
|
|
3
|
+
} from "./chunk-WFANXVQG.js";
|
|
4
|
+
|
|
5
|
+
// src/core/secrets.ts
|
|
6
|
+
init_esm_shims();
|
|
7
|
+
|
|
8
|
+
// src/core/secret-refs.ts
|
|
9
|
+
init_esm_shims();
|
|
10
|
+
var SECRET_REFS = {
|
|
11
|
+
LINEAR_API_KEY: "op://Support/skill-cli/LINEAR_API_KEY",
|
|
12
|
+
AI_GATEWAY_API_KEY: "op://Support/skill-cli/AI_GATEWAY_API_KEY",
|
|
13
|
+
DATABASE_URL: "op://Support/skill-cli/DATABASE_URL",
|
|
14
|
+
FRONT_API_TOKEN: "op://Support/skill-cli/FRONT_API_TOKEN",
|
|
15
|
+
FRONT_WEBHOOK_SECRET: "op://Support/skill-cli/FRONT_WEBHOOK_SECRET",
|
|
16
|
+
SUPPORT_WEBHOOK_SECRET: "op://Support/skill-cli/SUPPORT_WEBHOOK_SECRET",
|
|
17
|
+
INNGEST_SIGNING_KEY: "op://Support/skill-cli/INNGEST_SIGNING_KEY",
|
|
18
|
+
INNGEST_EVENT_KEY: "op://Support/skill-cli/INNGEST_EVENT_KEY",
|
|
19
|
+
SLACK_BOT_TOKEN: "op://Support/skill-cli/SLACK_BOT_TOKEN",
|
|
20
|
+
SLACK_SIGNING_SECRET: "op://Support/skill-cli/SLACK_SIGNING_SECRET",
|
|
21
|
+
SLACK_APPROVAL_CHANNEL: "op://Support/skill-cli/SLACK_APPROVAL_CHANNEL",
|
|
22
|
+
UPSTASH_REDIS_REST_URL: "op://Support/skill-cli/UPSTASH_REDIS_REST_URL",
|
|
23
|
+
UPSTASH_REDIS_REST_TOKEN: "op://Support/skill-cli/UPSTASH_REDIS_REST_TOKEN",
|
|
24
|
+
UPSTASH_VECTOR_REST_URL: "op://Support/skill-cli/UPSTASH_VECTOR_REST_URL",
|
|
25
|
+
UPSTASH_VECTOR_REST_TOKEN: "op://Support/skill-cli/UPSTASH_VECTOR_REST_TOKEN",
|
|
26
|
+
STRIPE_SECRET_KEY: "op://Support/skill-cli/STRIPE_SECRET_KEY",
|
|
27
|
+
STRIPE_CONNECT_CLIENT_ID: "op://Support/skill-cli/STRIPE_CONNECT_CLIENT_ID",
|
|
28
|
+
STRIPE_WEBHOOK_SECRET: "op://Support/skill-cli/STRIPE_WEBHOOK_SECRET",
|
|
29
|
+
AXIOM_TOKEN: "op://Support/skill-cli/AXIOM_TOKEN",
|
|
30
|
+
LANGFUSE_PUBLIC_KEY: "op://Support/skill-cli/LANGFUSE_PUBLIC_KEY",
|
|
31
|
+
LANGFUSE_SECRET_KEY: "op://Support/skill-cli/LANGFUSE_SECRET_KEY",
|
|
32
|
+
BETTERAUTH_SECRET: "op://Support/skill-cli/BETTERAUTH_SECRET",
|
|
33
|
+
MYSQL_HOST: "op://Support/skill-cli/MYSQL_HOST",
|
|
34
|
+
MYSQL_PORT: "op://Support/skill-cli/MYSQL_PORT",
|
|
35
|
+
MYSQL_USER: "op://Support/skill-cli/MYSQL_USER",
|
|
36
|
+
MYSQL_PASSWORD: "op://Support/skill-cli/MYSQL_PASSWORD",
|
|
37
|
+
MYSQL_DATABASE: "op://Support/skill-cli/MYSQL_DATABASE",
|
|
38
|
+
QDRANT_URL: "op://Support/skill-cli/QDRANT_URL",
|
|
39
|
+
QDRANT_COLLECTION: "op://Support/skill-cli/QDRANT_COLLECTION",
|
|
40
|
+
OLLAMA_BASE_URL: "op://Support/skill-cli/OLLAMA_BASE_URL",
|
|
41
|
+
EMBEDDING_MODEL: "op://Support/skill-cli/EMBEDDING_MODEL",
|
|
42
|
+
AGE_SECRET_KEY: "op://Support/skill-cli-age-key/private_key"
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
// src/core/secrets.ts
|
|
46
|
+
var REF_TO_ENV_KEY = new Map(
|
|
47
|
+
Object.entries(SECRET_REFS).map(([envKey, ref]) => [ref, envKey])
|
|
48
|
+
);
|
|
49
|
+
var DEFAULT_SECRETS_PROVIDER = {
|
|
50
|
+
name: "none",
|
|
51
|
+
async isAvailable() {
|
|
52
|
+
return false;
|
|
53
|
+
},
|
|
54
|
+
async resolve(ref) {
|
|
55
|
+
throw new Error(`No secrets provider available for ${ref}`);
|
|
56
|
+
},
|
|
57
|
+
async resolveAll() {
|
|
58
|
+
throw new Error("No secrets provider available");
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
var OnePasswordProvider = class {
|
|
62
|
+
name = "1password";
|
|
63
|
+
cache = /* @__PURE__ */ new Map();
|
|
64
|
+
clientPromise;
|
|
65
|
+
sdkPromise;
|
|
66
|
+
integrationName;
|
|
67
|
+
integrationVersion;
|
|
68
|
+
constructor(options = {}) {
|
|
69
|
+
this.integrationName = options.integrationName ?? "skill-cli";
|
|
70
|
+
this.integrationVersion = options.integrationVersion ?? "0.0.0";
|
|
71
|
+
}
|
|
72
|
+
async isAvailable() {
|
|
73
|
+
if (!process.env.OP_SERVICE_ACCOUNT_TOKEN) {
|
|
74
|
+
return false;
|
|
75
|
+
}
|
|
76
|
+
try {
|
|
77
|
+
await this.getClient();
|
|
78
|
+
return true;
|
|
79
|
+
} catch {
|
|
80
|
+
return false;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
async resolve(ref) {
|
|
84
|
+
if (this.cache.has(ref)) {
|
|
85
|
+
return this.cache.get(ref);
|
|
86
|
+
}
|
|
87
|
+
const client = await this.getClient();
|
|
88
|
+
const secretsClient = client.secrets;
|
|
89
|
+
const value = await secretsClient.resolve(ref);
|
|
90
|
+
if (!value) {
|
|
91
|
+
throw new Error(`1Password returned empty secret for ${ref}`);
|
|
92
|
+
}
|
|
93
|
+
this.cache.set(ref, value);
|
|
94
|
+
return value;
|
|
95
|
+
}
|
|
96
|
+
async resolveAll(refs) {
|
|
97
|
+
if (refs.length === 0) {
|
|
98
|
+
return {};
|
|
99
|
+
}
|
|
100
|
+
const client = await this.getClient();
|
|
101
|
+
const secrets = await this.resolveAllWithClient(client, refs);
|
|
102
|
+
for (const [ref, value] of Object.entries(secrets)) {
|
|
103
|
+
this.cache.set(ref, value);
|
|
104
|
+
}
|
|
105
|
+
return secrets;
|
|
106
|
+
}
|
|
107
|
+
async getClient() {
|
|
108
|
+
if (this.clientPromise) {
|
|
109
|
+
return this.clientPromise;
|
|
110
|
+
}
|
|
111
|
+
const token = process.env.OP_SERVICE_ACCOUNT_TOKEN;
|
|
112
|
+
if (!token) {
|
|
113
|
+
throw new Error("OP_SERVICE_ACCOUNT_TOKEN not set");
|
|
114
|
+
}
|
|
115
|
+
const { createClient } = await this.getSdk();
|
|
116
|
+
this.clientPromise = createClient({
|
|
117
|
+
auth: token,
|
|
118
|
+
integrationName: this.integrationName,
|
|
119
|
+
integrationVersion: this.integrationVersion
|
|
120
|
+
});
|
|
121
|
+
return this.clientPromise;
|
|
122
|
+
}
|
|
123
|
+
async getSdk() {
|
|
124
|
+
if (this.sdkPromise) {
|
|
125
|
+
return this.sdkPromise;
|
|
126
|
+
}
|
|
127
|
+
this.sdkPromise = import("@1password/sdk");
|
|
128
|
+
return this.sdkPromise;
|
|
129
|
+
}
|
|
130
|
+
async resolveAllWithClient(client, refs) {
|
|
131
|
+
const secretsClient = client.secrets;
|
|
132
|
+
if (typeof secretsClient.resolveAll === "function") {
|
|
133
|
+
const resolved = await secretsClient.resolveAll(refs);
|
|
134
|
+
if (Array.isArray(resolved)) {
|
|
135
|
+
const entries2 = resolved.map((item) => {
|
|
136
|
+
if (item && typeof item === "object" && "reference" in item && "value" in item) {
|
|
137
|
+
return [
|
|
138
|
+
item.reference,
|
|
139
|
+
String(item.value)
|
|
140
|
+
];
|
|
141
|
+
}
|
|
142
|
+
return null;
|
|
143
|
+
}).filter((entry) => Boolean(entry));
|
|
144
|
+
return Object.fromEntries(entries2);
|
|
145
|
+
}
|
|
146
|
+
return resolved;
|
|
147
|
+
}
|
|
148
|
+
const entries = await Promise.all(
|
|
149
|
+
refs.map(async (ref) => [ref, await this.resolve(ref)])
|
|
150
|
+
);
|
|
151
|
+
return Object.fromEntries(entries);
|
|
152
|
+
}
|
|
153
|
+
};
|
|
154
|
+
var EnvProvider = class {
|
|
155
|
+
name = "env";
|
|
156
|
+
async isAvailable() {
|
|
157
|
+
return true;
|
|
158
|
+
}
|
|
159
|
+
async resolve(ref) {
|
|
160
|
+
const envKey = REF_TO_ENV_KEY.get(ref);
|
|
161
|
+
if (!envKey) {
|
|
162
|
+
throw new Error(`No env mapping found for secret ref: ${ref}`);
|
|
163
|
+
}
|
|
164
|
+
const value = process.env[envKey];
|
|
165
|
+
if (!value) {
|
|
166
|
+
throw new Error(`Missing environment secret for ${envKey}`);
|
|
167
|
+
}
|
|
168
|
+
return value;
|
|
169
|
+
}
|
|
170
|
+
async resolveAll(refs) {
|
|
171
|
+
const entries = await Promise.all(
|
|
172
|
+
refs.map(async (ref) => [ref, await this.resolve(ref)])
|
|
173
|
+
);
|
|
174
|
+
return Object.fromEntries(entries);
|
|
175
|
+
}
|
|
176
|
+
};
|
|
177
|
+
async function createSecretsProvider() {
|
|
178
|
+
const onePassword = new OnePasswordProvider();
|
|
179
|
+
if (await onePassword.isAvailable()) {
|
|
180
|
+
return onePassword;
|
|
181
|
+
}
|
|
182
|
+
return new EnvProvider();
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
export {
|
|
186
|
+
SECRET_REFS,
|
|
187
|
+
DEFAULT_SECRETS_PROVIDER,
|
|
188
|
+
OnePasswordProvider,
|
|
189
|
+
EnvProvider,
|
|
190
|
+
createSecretsProvider
|
|
191
|
+
};
|
|
192
|
+
//# sourceMappingURL=chunk-JMAMXCWW.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/core/secrets.ts","../src/core/secret-refs.ts"],"sourcesContent":["import { SECRET_REFS } from './secret-refs'\n\nexport interface SecretsProvider {\n name: string\n isAvailable(): Promise<boolean>\n resolve(ref: string): Promise<string>\n resolveAll(refs: string[]): Promise<Record<string, string>>\n}\n\nconst REF_TO_ENV_KEY = new Map<string, string>(\n Object.entries(SECRET_REFS).map(([envKey, ref]) => [ref, envKey])\n)\n\nexport const DEFAULT_SECRETS_PROVIDER: SecretsProvider = {\n name: 'none',\n async isAvailable() {\n return false\n },\n async resolve(ref: string) {\n throw new Error(`No secrets provider available for ${ref}`)\n },\n async resolveAll() {\n throw new Error('No secrets provider available')\n },\n}\n\ntype OnePasswordSdk = typeof import('@1password/sdk')\ntype OnePasswordClient = Awaited<ReturnType<OnePasswordSdk['createClient']>>\n\ntype OnePasswordOptions = {\n integrationName?: string\n integrationVersion?: string\n}\n\nexport class OnePasswordProvider implements SecretsProvider {\n name = '1password'\n private cache = new Map<string, string>()\n private clientPromise?: Promise<OnePasswordClient>\n private sdkPromise?: Promise<OnePasswordSdk>\n private integrationName: string\n private integrationVersion: string\n\n constructor(options: OnePasswordOptions = {}) {\n this.integrationName = options.integrationName ?? 'skill-cli'\n this.integrationVersion = options.integrationVersion ?? '0.0.0'\n }\n\n async isAvailable(): Promise<boolean> {\n if (!process.env.OP_SERVICE_ACCOUNT_TOKEN) {\n return false\n }\n\n try {\n await this.getClient()\n return true\n } catch {\n return false\n }\n }\n\n async resolve(ref: string): Promise<string> {\n if (this.cache.has(ref)) {\n return this.cache.get(ref) as string\n }\n\n const client = await this.getClient()\n const secretsClient = client.secrets as {\n resolve: (reference: string) => Promise<string>\n }\n const value = await secretsClient.resolve(ref)\n\n if (!value) {\n throw new Error(`1Password returned empty secret for ${ref}`)\n }\n\n this.cache.set(ref, value)\n return value\n }\n\n async resolveAll(refs: string[]): Promise<Record<string, string>> {\n if (refs.length === 0) {\n return {}\n }\n\n const client = await this.getClient()\n const secrets = await this.resolveAllWithClient(client, refs)\n\n for (const [ref, value] of Object.entries(secrets)) {\n this.cache.set(ref, value)\n }\n\n return secrets\n }\n\n private async getClient(): Promise<OnePasswordClient> {\n if (this.clientPromise) {\n return this.clientPromise\n }\n\n const token = process.env.OP_SERVICE_ACCOUNT_TOKEN\n if (!token) {\n throw new Error('OP_SERVICE_ACCOUNT_TOKEN not set')\n }\n\n const { createClient } = await this.getSdk()\n\n this.clientPromise = createClient({\n auth: token,\n integrationName: this.integrationName,\n integrationVersion: this.integrationVersion,\n })\n\n return this.clientPromise\n }\n\n private async getSdk(): Promise<OnePasswordSdk> {\n if (this.sdkPromise) {\n return this.sdkPromise\n }\n\n this.sdkPromise = import('@1password/sdk')\n\n return this.sdkPromise\n }\n\n private async resolveAllWithClient(\n client: OnePasswordClient,\n refs: string[]\n ): Promise<Record<string, string>> {\n const secretsClient = client.secrets as {\n resolve: (reference: string) => Promise<string>\n resolveAll?: (references: string[]) => Promise<unknown>\n }\n\n if (typeof secretsClient.resolveAll === 'function') {\n const resolved = await secretsClient.resolveAll(refs)\n\n if (Array.isArray(resolved)) {\n const entries = resolved\n .map((item) => {\n if (\n item &&\n typeof item === 'object' &&\n 'reference' in item &&\n 'value' in item\n ) {\n return [\n (item as { reference: string }).reference,\n String((item as { value: string }).value),\n ] as const\n }\n return null\n })\n .filter((entry): entry is [string, string] => Boolean(entry))\n\n return Object.fromEntries(entries)\n }\n\n return resolved as Record<string, string>\n }\n\n const entries = await Promise.all(\n refs.map(async (ref) => [ref, await this.resolve(ref)] as const)\n )\n\n return Object.fromEntries(entries)\n }\n}\n\nexport class EnvProvider implements SecretsProvider {\n name = 'env'\n\n async isAvailable(): Promise<boolean> {\n return true\n }\n\n async resolve(ref: string): Promise<string> {\n const envKey = REF_TO_ENV_KEY.get(ref)\n\n if (!envKey) {\n throw new Error(`No env mapping found for secret ref: ${ref}`)\n }\n\n const value = process.env[envKey]\n\n if (!value) {\n throw new Error(`Missing environment secret for ${envKey}`)\n }\n\n return value\n }\n\n async resolveAll(refs: string[]): Promise<Record<string, string>> {\n const entries = await Promise.all(\n refs.map(async (ref) => [ref, await this.resolve(ref)] as const)\n )\n\n return Object.fromEntries(entries)\n }\n}\n\nexport async function createSecretsProvider(): Promise<SecretsProvider> {\n const onePassword = new OnePasswordProvider()\n\n if (await onePassword.isAvailable()) {\n return onePassword\n }\n\n return new EnvProvider()\n}\n","export const SECRET_REFS = {\n LINEAR_API_KEY: 'op://Support/skill-cli/LINEAR_API_KEY',\n AI_GATEWAY_API_KEY: 'op://Support/skill-cli/AI_GATEWAY_API_KEY',\n DATABASE_URL: 'op://Support/skill-cli/DATABASE_URL',\n FRONT_API_TOKEN: 'op://Support/skill-cli/FRONT_API_TOKEN',\n FRONT_WEBHOOK_SECRET: 'op://Support/skill-cli/FRONT_WEBHOOK_SECRET',\n SUPPORT_WEBHOOK_SECRET: 'op://Support/skill-cli/SUPPORT_WEBHOOK_SECRET',\n INNGEST_SIGNING_KEY: 'op://Support/skill-cli/INNGEST_SIGNING_KEY',\n INNGEST_EVENT_KEY: 'op://Support/skill-cli/INNGEST_EVENT_KEY',\n SLACK_BOT_TOKEN: 'op://Support/skill-cli/SLACK_BOT_TOKEN',\n SLACK_SIGNING_SECRET: 'op://Support/skill-cli/SLACK_SIGNING_SECRET',\n SLACK_APPROVAL_CHANNEL: 'op://Support/skill-cli/SLACK_APPROVAL_CHANNEL',\n UPSTASH_REDIS_REST_URL: 'op://Support/skill-cli/UPSTASH_REDIS_REST_URL',\n UPSTASH_REDIS_REST_TOKEN: 'op://Support/skill-cli/UPSTASH_REDIS_REST_TOKEN',\n UPSTASH_VECTOR_REST_URL: 'op://Support/skill-cli/UPSTASH_VECTOR_REST_URL',\n UPSTASH_VECTOR_REST_TOKEN: 'op://Support/skill-cli/UPSTASH_VECTOR_REST_TOKEN',\n STRIPE_SECRET_KEY: 'op://Support/skill-cli/STRIPE_SECRET_KEY',\n STRIPE_CONNECT_CLIENT_ID: 'op://Support/skill-cli/STRIPE_CONNECT_CLIENT_ID',\n STRIPE_WEBHOOK_SECRET: 'op://Support/skill-cli/STRIPE_WEBHOOK_SECRET',\n AXIOM_TOKEN: 'op://Support/skill-cli/AXIOM_TOKEN',\n LANGFUSE_PUBLIC_KEY: 'op://Support/skill-cli/LANGFUSE_PUBLIC_KEY',\n LANGFUSE_SECRET_KEY: 'op://Support/skill-cli/LANGFUSE_SECRET_KEY',\n BETTERAUTH_SECRET: 'op://Support/skill-cli/BETTERAUTH_SECRET',\n MYSQL_HOST: 'op://Support/skill-cli/MYSQL_HOST',\n MYSQL_PORT: 'op://Support/skill-cli/MYSQL_PORT',\n MYSQL_USER: 'op://Support/skill-cli/MYSQL_USER',\n MYSQL_PASSWORD: 'op://Support/skill-cli/MYSQL_PASSWORD',\n MYSQL_DATABASE: 'op://Support/skill-cli/MYSQL_DATABASE',\n QDRANT_URL: 'op://Support/skill-cli/QDRANT_URL',\n QDRANT_COLLECTION: 'op://Support/skill-cli/QDRANT_COLLECTION',\n OLLAMA_BASE_URL: 'op://Support/skill-cli/OLLAMA_BASE_URL',\n EMBEDDING_MODEL: 'op://Support/skill-cli/EMBEDDING_MODEL',\n AGE_SECRET_KEY: 'op://Support/skill-cli-age-key/private_key',\n} as const\n\nexport type SecretRefKey = keyof typeof SECRET_REFS\nexport type SecretRef = (typeof SECRET_REFS)[SecretRefKey]\n"],"mappings":";;;;;AAAA;;;ACAA;AAAO,IAAM,cAAc;AAAA,EACzB,gBAAgB;AAAA,EAChB,oBAAoB;AAAA,EACpB,cAAc;AAAA,EACd,iBAAiB;AAAA,EACjB,sBAAsB;AAAA,EACtB,wBAAwB;AAAA,EACxB,qBAAqB;AAAA,EACrB,mBAAmB;AAAA,EACnB,iBAAiB;AAAA,EACjB,sBAAsB;AAAA,EACtB,wBAAwB;AAAA,EACxB,wBAAwB;AAAA,EACxB,0BAA0B;AAAA,EAC1B,yBAAyB;AAAA,EACzB,2BAA2B;AAAA,EAC3B,mBAAmB;AAAA,EACnB,0BAA0B;AAAA,EAC1B,uBAAuB;AAAA,EACvB,aAAa;AAAA,EACb,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,mBAAmB;AAAA,EACnB,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,YAAY;AAAA,EACZ,mBAAmB;AAAA,EACnB,iBAAiB;AAAA,EACjB,iBAAiB;AAAA,EACjB,gBAAgB;AAClB;;;ADxBA,IAAM,iBAAiB,IAAI;AAAA,EACzB,OAAO,QAAQ,WAAW,EAAE,IAAI,CAAC,CAAC,QAAQ,GAAG,MAAM,CAAC,KAAK,MAAM,CAAC;AAClE;AAEO,IAAM,2BAA4C;AAAA,EACvD,MAAM;AAAA,EACN,MAAM,cAAc;AAClB,WAAO;AAAA,EACT;AAAA,EACA,MAAM,QAAQ,KAAa;AACzB,UAAM,IAAI,MAAM,qCAAqC,GAAG,EAAE;AAAA,EAC5D;AAAA,EACA,MAAM,aAAa;AACjB,UAAM,IAAI,MAAM,+BAA+B;AAAA,EACjD;AACF;AAUO,IAAM,sBAAN,MAAqD;AAAA,EAC1D,OAAO;AAAA,EACC,QAAQ,oBAAI,IAAoB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAER,YAAY,UAA8B,CAAC,GAAG;AAC5C,SAAK,kBAAkB,QAAQ,mBAAmB;AAClD,SAAK,qBAAqB,QAAQ,sBAAsB;AAAA,EAC1D;AAAA,EAEA,MAAM,cAAgC;AACpC,QAAI,CAAC,QAAQ,IAAI,0BAA0B;AACzC,aAAO;AAAA,IACT;AAEA,QAAI;AACF,YAAM,KAAK,UAAU;AACrB,aAAO;AAAA,IACT,QAAQ;AACN,aAAO;AAAA,IACT;AAAA,EACF;AAAA,EAEA,MAAM,QAAQ,KAA8B;AAC1C,QAAI,KAAK,MAAM,IAAI,GAAG,GAAG;AACvB,aAAO,KAAK,MAAM,IAAI,GAAG;AAAA,IAC3B;AAEA,UAAM,SAAS,MAAM,KAAK,UAAU;AACpC,UAAM,gBAAgB,OAAO;AAG7B,UAAM,QAAQ,MAAM,cAAc,QAAQ,GAAG;AAE7C,QAAI,CAAC,OAAO;AACV,YAAM,IAAI,MAAM,uCAAuC,GAAG,EAAE;AAAA,IAC9D;AAEA,SAAK,MAAM,IAAI,KAAK,KAAK;AACzB,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,WAAW,MAAiD;AAChE,QAAI,KAAK,WAAW,GAAG;AACrB,aAAO,CAAC;AAAA,IACV;AAEA,UAAM,SAAS,MAAM,KAAK,UAAU;AACpC,UAAM,UAAU,MAAM,KAAK,qBAAqB,QAAQ,IAAI;AAE5D,eAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,OAAO,GAAG;AAClD,WAAK,MAAM,IAAI,KAAK,KAAK;AAAA,IAC3B;AAEA,WAAO;AAAA,EACT;AAAA,EAEA,MAAc,YAAwC;AACpD,QAAI,KAAK,eAAe;AACtB,aAAO,KAAK;AAAA,IACd;AAEA,UAAM,QAAQ,QAAQ,IAAI;AAC1B,QAAI,CAAC,OAAO;AACV,YAAM,IAAI,MAAM,kCAAkC;AAAA,IACpD;AAEA,UAAM,EAAE,aAAa,IAAI,MAAM,KAAK,OAAO;AAE3C,SAAK,gBAAgB,aAAa;AAAA,MAChC,MAAM;AAAA,MACN,iBAAiB,KAAK;AAAA,MACtB,oBAAoB,KAAK;AAAA,IAC3B,CAAC;AAED,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,MAAc,SAAkC;AAC9C,QAAI,KAAK,YAAY;AACnB,aAAO,KAAK;AAAA,IACd;AAEA,SAAK,aAAa,OAAO,gBAAgB;AAEzC,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,MAAc,qBACZ,QACA,MACiC;AACjC,UAAM,gBAAgB,OAAO;AAK7B,QAAI,OAAO,cAAc,eAAe,YAAY;AAClD,YAAM,WAAW,MAAM,cAAc,WAAW,IAAI;AAEpD,UAAI,MAAM,QAAQ,QAAQ,GAAG;AAC3B,cAAMA,WAAU,SACb,IAAI,CAAC,SAAS;AACb,cACE,QACA,OAAO,SAAS,YAChB,eAAe,QACf,WAAW,MACX;AACA,mBAAO;AAAA,cACJ,KAA+B;AAAA,cAChC,OAAQ,KAA2B,KAAK;AAAA,YAC1C;AAAA,UACF;AACA,iBAAO;AAAA,QACT,CAAC,EACA,OAAO,CAAC,UAAqC,QAAQ,KAAK,CAAC;AAE9D,eAAO,OAAO,YAAYA,QAAO;AAAA,MACnC;AAEA,aAAO;AAAA,IACT;AAEA,UAAM,UAAU,MAAM,QAAQ;AAAA,MAC5B,KAAK,IAAI,OAAO,QAAQ,CAAC,KAAK,MAAM,KAAK,QAAQ,GAAG,CAAC,CAAU;AAAA,IACjE;AAEA,WAAO,OAAO,YAAY,OAAO;AAAA,EACnC;AACF;AAEO,IAAM,cAAN,MAA6C;AAAA,EAClD,OAAO;AAAA,EAEP,MAAM,cAAgC;AACpC,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,QAAQ,KAA8B;AAC1C,UAAM,SAAS,eAAe,IAAI,GAAG;AAErC,QAAI,CAAC,QAAQ;AACX,YAAM,IAAI,MAAM,wCAAwC,GAAG,EAAE;AAAA,IAC/D;AAEA,UAAM,QAAQ,QAAQ,IAAI,MAAM;AAEhC,QAAI,CAAC,OAAO;AACV,YAAM,IAAI,MAAM,kCAAkC,MAAM,EAAE;AAAA,IAC5D;AAEA,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,WAAW,MAAiD;AAChE,UAAM,UAAU,MAAM,QAAQ;AAAA,MAC5B,KAAK,IAAI,OAAO,QAAQ,CAAC,KAAK,MAAM,KAAK,QAAQ,GAAG,CAAC,CAAU;AAAA,IACjE;AAEA,WAAO,OAAO,YAAY,OAAO;AAAA,EACnC;AACF;AAEA,eAAsB,wBAAkD;AACtE,QAAM,cAAc,IAAI,oBAAoB;AAE5C,MAAI,MAAM,YAAY,YAAY,GAAG;AACnC,WAAO;AAAA,EACT;AAEA,SAAO,IAAI,YAAY;AACzB;","names":["entries"]}
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
createTool
|
|
3
|
-
} from "./chunk-F4EM72IH.js";
|
|
4
1
|
import {
|
|
5
2
|
Redis2,
|
|
6
3
|
traceMemoryCite,
|
|
@@ -9,6 +6,16 @@ import {
|
|
|
9
6
|
traceMemoryVote,
|
|
10
7
|
traceWorkflowStep
|
|
11
8
|
} from "./chunk-KEV3QKXP.js";
|
|
9
|
+
import {
|
|
10
|
+
classifyMessage,
|
|
11
|
+
telemetryConfig
|
|
12
|
+
} from "./chunk-ZNF7XD2S.js";
|
|
13
|
+
import {
|
|
14
|
+
queryVectors
|
|
15
|
+
} from "./chunk-H3D6VCME.js";
|
|
16
|
+
import {
|
|
17
|
+
createTool
|
|
18
|
+
} from "./chunk-F4EM72IH.js";
|
|
12
19
|
import {
|
|
13
20
|
MemoryService,
|
|
14
21
|
VotingService,
|
|
@@ -19,13 +26,6 @@ import {
|
|
|
19
26
|
database,
|
|
20
27
|
eq
|
|
21
28
|
} from "./chunk-V34YUISF.js";
|
|
22
|
-
import {
|
|
23
|
-
classifyMessage,
|
|
24
|
-
telemetryConfig
|
|
25
|
-
} from "./chunk-ZNF7XD2S.js";
|
|
26
|
-
import {
|
|
27
|
-
queryVectors
|
|
28
|
-
} from "./chunk-H3D6VCME.js";
|
|
29
29
|
import {
|
|
30
30
|
init_esm_shims
|
|
31
31
|
} from "./chunk-WFANXVQG.js";
|
|
@@ -15606,4 +15606,4 @@ export {
|
|
|
15606
15606
|
DEFAULT_AGENT_MODEL,
|
|
15607
15607
|
runSupportAgent
|
|
15608
15608
|
};
|
|
15609
|
-
//# sourceMappingURL=chunk-
|
|
15609
|
+
//# sourceMappingURL=chunk-L6YTBYNV.js.map
|
|
@@ -3,14 +3,14 @@ import {
|
|
|
3
3
|
SUPPORT_AGENT_PROMPT,
|
|
4
4
|
agentTools,
|
|
5
5
|
runSupportAgent
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-F4EM72IH.js";
|
|
6
|
+
} from "./chunk-L6YTBYNV.js";
|
|
8
7
|
import "./chunk-KEV3QKXP.js";
|
|
9
|
-
import "./chunk-MLNDSBZ4.js";
|
|
10
|
-
import "./chunk-V34YUISF.js";
|
|
11
8
|
import "./chunk-ZNF7XD2S.js";
|
|
12
9
|
import "./chunk-H3D6VCME.js";
|
|
10
|
+
import "./chunk-F4EM72IH.js";
|
|
11
|
+
import "./chunk-MLNDSBZ4.js";
|
|
13
12
|
import "./chunk-MG37YDAK.js";
|
|
13
|
+
import "./chunk-V34YUISF.js";
|
|
14
14
|
import "./chunk-WFANXVQG.js";
|
|
15
15
|
export {
|
|
16
16
|
DEFAULT_AGENT_MODEL,
|
|
@@ -18,4 +18,4 @@ export {
|
|
|
18
18
|
agentTools,
|
|
19
19
|
runSupportAgent
|
|
20
20
|
};
|
|
21
|
-
//# sourceMappingURL=config-
|
|
21
|
+
//# sourceMappingURL=config-44V5DJBS.js.map
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import {
|
|
2
|
+
init_esm_shims
|
|
3
|
+
} from "./chunk-WFANXVQG.js";
|
|
4
|
+
|
|
5
|
+
// src/lib/crypto.ts
|
|
6
|
+
init_esm_shims();
|
|
7
|
+
import { Decrypter, Encrypter } from "age-encryption";
|
|
8
|
+
async function decrypt(encrypted, privateKey) {
|
|
9
|
+
const decrypter = new Decrypter();
|
|
10
|
+
decrypter.addIdentity(privateKey);
|
|
11
|
+
const input = encrypted instanceof Buffer ? new Uint8Array(encrypted) : encrypted;
|
|
12
|
+
return decrypter.decrypt(input, "text");
|
|
13
|
+
}
|
|
14
|
+
async function encrypt(content, recipientPublicKey) {
|
|
15
|
+
const encrypter = new Encrypter();
|
|
16
|
+
encrypter.addRecipient(recipientPublicKey);
|
|
17
|
+
return encrypter.encrypt(content);
|
|
18
|
+
}
|
|
19
|
+
export {
|
|
20
|
+
decrypt,
|
|
21
|
+
encrypt
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=crypto-MTXIOCYL.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/lib/crypto.ts"],"sourcesContent":["import { Decrypter, Encrypter } from 'age-encryption'\n\n/**\n * Decrypt data with an age private key\n * @param encrypted - Encrypted data as Uint8Array or Buffer\n * @param privateKey - age private key (AGE-SECRET-KEY-1...)\n * @returns Decrypted data as string\n */\nexport async function decrypt(\n encrypted: Uint8Array | Buffer,\n privateKey: string\n): Promise<string> {\n const decrypter = new Decrypter()\n decrypter.addIdentity(privateKey)\n\n const input =\n encrypted instanceof Buffer ? new Uint8Array(encrypted) : encrypted\n return decrypter.decrypt(input, 'text')\n}\n\n/**\n * Encrypt data with an age recipient public key\n * @param content - Content to encrypt (string)\n * @param recipientPublicKey - age public key (age1...)\n * @returns Encrypted data as Uint8Array\n */\nexport async function encrypt(\n content: string,\n recipientPublicKey: string\n): Promise<Uint8Array> {\n const encrypter = new Encrypter()\n encrypter.addRecipient(recipientPublicKey)\n\n return encrypter.encrypt(content)\n}\n"],"mappings":";;;;;AAAA;AAAA,SAAS,WAAW,iBAAiB;AAQrC,eAAsB,QACpB,WACA,YACiB;AACjB,QAAM,YAAY,IAAI,UAAU;AAChC,YAAU,YAAY,UAAU;AAEhC,QAAM,QACJ,qBAAqB,SAAS,IAAI,WAAW,SAAS,IAAI;AAC5D,SAAO,UAAU,QAAQ,OAAO,MAAM;AACxC;AAQA,eAAsB,QACpB,SACA,oBACqB;AACrB,QAAM,YAAY,IAAI,UAAU;AAChC,YAAU,aAAa,kBAAkB;AAEzC,SAAO,UAAU,QAAQ,OAAO;AAClC;","names":[]}
|