@panorama-ai/gateway 2.26.40 → 2.26.113
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/README.md +17 -0
- package/dist/child-process-env.d.ts +8 -0
- package/dist/child-process-env.d.ts.map +1 -0
- package/dist/child-process-env.js +58 -0
- package/dist/child-process-env.js.map +1 -0
- package/dist/cli-providers/claude.d.ts.map +1 -1
- package/dist/cli-providers/claude.js +4 -6
- package/dist/cli-providers/claude.js.map +1 -1
- package/dist/cli-providers/codex.d.ts.map +1 -1
- package/dist/cli-providers/codex.js +2 -6
- package/dist/cli-providers/codex.js.map +1 -1
- package/dist/cli-providers/gemini.d.ts.map +1 -1
- package/dist/cli-providers/gemini.js +2 -5
- package/dist/cli-providers/gemini.js.map +1 -1
- package/dist/database.types.d.ts +265 -20
- package/dist/database.types.d.ts.map +1 -1
- package/dist/database.types.js.map +1 -1
- package/dist/debug-redaction.d.ts +2 -0
- package/dist/debug-redaction.d.ts.map +1 -0
- package/dist/debug-redaction.js +286 -0
- package/dist/debug-redaction.js.map +1 -0
- package/dist/index.js +78 -53
- package/dist/index.js.map +1 -1
- package/dist/local-security.d.ts +7 -0
- package/dist/local-security.d.ts.map +1 -0
- package/dist/local-security.js +57 -0
- package/dist/local-security.js.map +1 -0
- package/dist/subagent-adapters/codex.d.ts.map +1 -1
- package/dist/subagent-adapters/codex.js +2 -40
- package/dist/subagent-adapters/codex.js.map +1 -1
- package/dist/subagent-adapters/gemini.d.ts.map +1 -1
- package/dist/subagent-adapters/gemini.js +2 -40
- package/dist/subagent-adapters/gemini.js.map +1 -1
- package/dist/supabase-config.d.ts +26 -0
- package/dist/supabase-config.d.ts.map +1 -0
- package/dist/supabase-config.js +64 -0
- package/dist/supabase-config.js.map +1 -0
- package/package.json +2 -1
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const OWNER_ONLY_DIRECTORY_MODE = 448;
|
|
2
|
+
export declare const OWNER_ONLY_FILE_MODE = 384;
|
|
3
|
+
export declare function shouldEnforceOwnerOnlyPermissions(): boolean;
|
|
4
|
+
export declare function ensureOwnerOnlyDirectory(dirPath: string): Promise<void>;
|
|
5
|
+
export declare function ensureOwnerOnlyFile(filePath: string): Promise<void>;
|
|
6
|
+
export declare function writeOwnerOnlyFile(filePath: string, contents: string): Promise<void>;
|
|
7
|
+
//# sourceMappingURL=local-security.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-security.d.ts","sourceRoot":"","sources":["../src/local-security.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,yBAAyB,MAAQ,CAAA;AAC9C,eAAO,MAAM,oBAAoB,MAAQ,CAAA;AAMzC,wBAAgB,iCAAiC,IAAI,OAAO,CAE3D;AAMD,wBAAsB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAc7E;AAED,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBzE;AAED,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CASf"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import fs from 'node:fs/promises';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import process from 'node:process';
|
|
4
|
+
export const OWNER_ONLY_DIRECTORY_MODE = 0o700;
|
|
5
|
+
export const OWNER_ONLY_FILE_MODE = 0o600;
|
|
6
|
+
function normalizeMode(mode) {
|
|
7
|
+
return mode & 0o777;
|
|
8
|
+
}
|
|
9
|
+
export function shouldEnforceOwnerOnlyPermissions() {
|
|
10
|
+
return process.platform !== 'win32';
|
|
11
|
+
}
|
|
12
|
+
function isNotFoundError(error) {
|
|
13
|
+
return error?.code === 'ENOENT';
|
|
14
|
+
}
|
|
15
|
+
export async function ensureOwnerOnlyDirectory(dirPath) {
|
|
16
|
+
if (shouldEnforceOwnerOnlyPermissions()) {
|
|
17
|
+
await fs.mkdir(dirPath, { recursive: true, mode: OWNER_ONLY_DIRECTORY_MODE });
|
|
18
|
+
const stat = await fs.stat(dirPath);
|
|
19
|
+
if (!stat.isDirectory()) {
|
|
20
|
+
throw new Error(`Expected directory at ${dirPath}`);
|
|
21
|
+
}
|
|
22
|
+
if (normalizeMode(stat.mode) !== OWNER_ONLY_DIRECTORY_MODE) {
|
|
23
|
+
await fs.chmod(dirPath, OWNER_ONLY_DIRECTORY_MODE);
|
|
24
|
+
}
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
await fs.mkdir(dirPath, { recursive: true });
|
|
28
|
+
}
|
|
29
|
+
export async function ensureOwnerOnlyFile(filePath) {
|
|
30
|
+
if (!shouldEnforceOwnerOnlyPermissions())
|
|
31
|
+
return;
|
|
32
|
+
let stat;
|
|
33
|
+
try {
|
|
34
|
+
stat = await fs.stat(filePath);
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
if (isNotFoundError(error))
|
|
38
|
+
return;
|
|
39
|
+
throw error;
|
|
40
|
+
}
|
|
41
|
+
if (!stat.isFile()) {
|
|
42
|
+
throw new Error(`Expected regular file at ${filePath}`);
|
|
43
|
+
}
|
|
44
|
+
if (normalizeMode(stat.mode) !== OWNER_ONLY_FILE_MODE) {
|
|
45
|
+
await fs.chmod(filePath, OWNER_ONLY_FILE_MODE);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
export async function writeOwnerOnlyFile(filePath, contents) {
|
|
49
|
+
await ensureOwnerOnlyDirectory(path.dirname(filePath));
|
|
50
|
+
if (shouldEnforceOwnerOnlyPermissions()) {
|
|
51
|
+
await fs.writeFile(filePath, contents, { encoding: 'utf-8', mode: OWNER_ONLY_FILE_MODE });
|
|
52
|
+
await ensureOwnerOnlyFile(filePath);
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
await fs.writeFile(filePath, contents, { encoding: 'utf-8' });
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=local-security.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-security.js","sourceRoot":"","sources":["../src/local-security.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAA;AACjC,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,OAAO,MAAM,cAAc,CAAA;AAElC,MAAM,CAAC,MAAM,yBAAyB,GAAG,KAAK,CAAA;AAC9C,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,CAAA;AAEzC,SAAS,aAAa,CAAC,IAAY;IACjC,OAAO,IAAI,GAAG,KAAK,CAAA;AACrB,CAAC;AAED,MAAM,UAAU,iCAAiC;IAC/C,OAAO,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAA;AACrC,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,OAAQ,KAA+B,EAAE,IAAI,KAAK,QAAQ,CAAA;AAC5D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,OAAe;IAC5D,IAAI,iCAAiC,EAAE,EAAE,CAAC;QACxC,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,yBAAyB,EAAE,CAAC,CAAA;QAC7E,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACnC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,yBAAyB,OAAO,EAAE,CAAC,CAAA;QACrD,CAAC;QACD,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,yBAAyB,EAAE,CAAC;YAC3D,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAA;QACpD,CAAC;QACD,OAAM;IACR,CAAC;IAED,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;AAC9C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,QAAgB;IACxD,IAAI,CAAC,iCAAiC,EAAE;QAAE,OAAM;IAEhD,IAAI,IAAI,CAAA;IACR,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAChC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,eAAe,CAAC,KAAK,CAAC;YAAE,OAAM;QAClC,MAAM,KAAK,CAAA;IACb,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,4BAA4B,QAAQ,EAAE,CAAC,CAAA;IACzD,CAAC;IAED,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,oBAAoB,EAAE,CAAC;QACtD,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAA;IAChD,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,QAAgB,EAChB,QAAgB;IAEhB,MAAM,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;IACtD,IAAI,iCAAiC,EAAE,EAAE,CAAC;QACxC,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAA;QACzF,MAAM,mBAAmB,CAAC,QAAQ,CAAC,CAAA;QACnC,OAAM;IACR,CAAC;IAED,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAA;AAC/D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../src/subagent-adapters/codex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EAOhB,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../src/subagent-adapters/codex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EAOhB,MAAM,YAAY,CAAA;AAsGnB,wBAAgB,kBAAkB,IAAI,eAAe,CA8EpD"}
|
|
@@ -1,49 +1,11 @@
|
|
|
1
1
|
import { extractJsonFromText, normalizeStringList, toOutputEnvelope } from './utils.js';
|
|
2
|
+
import { buildGatewayChildProcessEnv } from '../child-process-env.js';
|
|
2
3
|
import { resolveGatewayTmpDir } from '../runtime-paths.js';
|
|
3
4
|
function resolveCodexCommand() {
|
|
4
5
|
return process.env.PANORAMA_CODEX_CLI || process.env.CODEX_CLI || 'codex';
|
|
5
6
|
}
|
|
6
|
-
const CODEX_ENV_ALLOWLIST = [
|
|
7
|
-
'PATH',
|
|
8
|
-
'HOME',
|
|
9
|
-
'USER',
|
|
10
|
-
'LOGNAME',
|
|
11
|
-
'SHELL',
|
|
12
|
-
'LANG',
|
|
13
|
-
'LC_ALL',
|
|
14
|
-
'LC_CTYPE',
|
|
15
|
-
'TERM',
|
|
16
|
-
'TMPDIR',
|
|
17
|
-
'TMP',
|
|
18
|
-
'TEMP',
|
|
19
|
-
'OPENAI_API_KEY',
|
|
20
|
-
'OPENAI_ORG_ID',
|
|
21
|
-
'OPENAI_ORGANIZATION',
|
|
22
|
-
'OPENAI_BASE_URL',
|
|
23
|
-
'OPENAI_API_BASE',
|
|
24
|
-
'HTTP_PROXY',
|
|
25
|
-
'HTTPS_PROXY',
|
|
26
|
-
'NO_PROXY',
|
|
27
|
-
'http_proxy',
|
|
28
|
-
'https_proxy',
|
|
29
|
-
'no_proxy',
|
|
30
|
-
'XDG_CONFIG_HOME',
|
|
31
|
-
'XDG_CACHE_HOME',
|
|
32
|
-
'XDG_DATA_HOME',
|
|
33
|
-
];
|
|
34
7
|
function buildCodexEnv() {
|
|
35
|
-
|
|
36
|
-
for (const key of CODEX_ENV_ALLOWLIST) {
|
|
37
|
-
const value = process.env[key];
|
|
38
|
-
if (value !== undefined) {
|
|
39
|
-
env[key] = value;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
const tmpDir = resolveGatewayTmpDir();
|
|
43
|
-
env.TMPDIR = tmpDir;
|
|
44
|
-
env.TMP = tmpDir;
|
|
45
|
-
env.TEMP = tmpDir;
|
|
46
|
-
return env;
|
|
8
|
+
return buildGatewayChildProcessEnv({ tmpDir: resolveGatewayTmpDir() });
|
|
47
9
|
}
|
|
48
10
|
function includesWebSearch(value) {
|
|
49
11
|
const list = normalizeStringList(value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/subagent-adapters/codex.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACvF,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAE1D,SAAS,mBAAmB;IAC1B,OAAO,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,OAAO,CAAA;AAC3E,CAAC;AAED,
|
|
1
|
+
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/subagent-adapters/codex.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../src/subagent-adapters/gemini.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EAOhB,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../src/subagent-adapters/gemini.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EAOhB,MAAM,YAAY,CAAA;AA4GnB,wBAAgB,mBAAmB,IAAI,eAAe,CAuFrD"}
|
|
@@ -1,38 +1,10 @@
|
|
|
1
1
|
import { extractJsonFromText, normalizeStringList, toOutputEnvelope } from './utils.js';
|
|
2
2
|
import path from 'node:path';
|
|
3
|
+
import { buildGatewayChildProcessEnv } from '../child-process-env.js';
|
|
3
4
|
import { resolveGatewayTmpDir } from '../runtime-paths.js';
|
|
4
5
|
function resolveGeminiCommand() {
|
|
5
6
|
return process.env.PANORAMA_GEMINI_CLI || process.env.GEMINI_CLI || 'gemini';
|
|
6
7
|
}
|
|
7
|
-
const GEMINI_ENV_ALLOWLIST = [
|
|
8
|
-
'PATH',
|
|
9
|
-
'HOME',
|
|
10
|
-
'USER',
|
|
11
|
-
'LOGNAME',
|
|
12
|
-
'SHELL',
|
|
13
|
-
'LANG',
|
|
14
|
-
'LC_ALL',
|
|
15
|
-
'LC_CTYPE',
|
|
16
|
-
'TERM',
|
|
17
|
-
'TMPDIR',
|
|
18
|
-
'TMP',
|
|
19
|
-
'TEMP',
|
|
20
|
-
'GEMINI_API_KEY',
|
|
21
|
-
'GOOGLE_API_KEY',
|
|
22
|
-
'GOOGLE_GENAI_USE_VERTEXAI',
|
|
23
|
-
'GOOGLE_GENAI_USE_GCA',
|
|
24
|
-
'GOOGLE_GENAI_PROJECT',
|
|
25
|
-
'GOOGLE_GENAI_LOCATION',
|
|
26
|
-
'HTTP_PROXY',
|
|
27
|
-
'HTTPS_PROXY',
|
|
28
|
-
'NO_PROXY',
|
|
29
|
-
'http_proxy',
|
|
30
|
-
'https_proxy',
|
|
31
|
-
'no_proxy',
|
|
32
|
-
'XDG_CONFIG_HOME',
|
|
33
|
-
'XDG_CACHE_HOME',
|
|
34
|
-
'XDG_DATA_HOME',
|
|
35
|
-
];
|
|
36
8
|
function withPathEntries(current, entries) {
|
|
37
9
|
const parts = (current ?? '')
|
|
38
10
|
.split(path.delimiter)
|
|
@@ -62,17 +34,7 @@ function ensureGeminiPath(env, command) {
|
|
|
62
34
|
}
|
|
63
35
|
}
|
|
64
36
|
function buildGeminiEnv(systemPromptPath, commandPath) {
|
|
65
|
-
const env = {};
|
|
66
|
-
for (const key of GEMINI_ENV_ALLOWLIST) {
|
|
67
|
-
const value = process.env[key];
|
|
68
|
-
if (value !== undefined) {
|
|
69
|
-
env[key] = value;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
const tmpDir = resolveGatewayTmpDir();
|
|
73
|
-
env.TMPDIR = tmpDir;
|
|
74
|
-
env.TMP = tmpDir;
|
|
75
|
-
env.TEMP = tmpDir;
|
|
37
|
+
const env = buildGatewayChildProcessEnv({ tmpDir: resolveGatewayTmpDir() });
|
|
76
38
|
if (systemPromptPath) {
|
|
77
39
|
env.GEMINI_SYSTEM_MD = systemPromptPath;
|
|
78
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../src/subagent-adapters/gemini.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACvF,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAE1D,SAAS,oBAAoB;IAC3B,OAAO,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,QAAQ,CAAA;AAC9E,CAAC;AAED,
|
|
1
|
+
{"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../src/subagent-adapters/gemini.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACvF,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAA;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAE1D,SAAS,oBAAoB;IAC3B,OAAO,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,QAAQ,CAAA;AAC9E,CAAC;AAED,SAAS,eAAe,CAAC,OAA2B,EAAE,OAAiB;IACrE,MAAM,KAAK,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;SAC1B,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;SACrB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;SAC5B,MAAM,CAAC,OAAO,CAAC,CAAA;IAClB,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAA;IAC3B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK;YAAE,SAAQ;QACpB,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,SAAQ;QAC7B,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACpB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IACjB,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;AACnC,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAsB,EAAE,OAAe;IAC/D,MAAM,OAAO,GAAa,EAAE,CAAA;IAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC9C,IAAI,OAAO;QAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAClC,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;IACrC,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,GAAG,CAAC,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAC/C,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,gBAAyB,EAAE,WAAoB;IACrE,MAAM,GAAG,GAAG,2BAA2B,CAAC,EAAE,MAAM,EAAE,oBAAoB,EAAE,EAAE,CAAC,CAAA;IAC3E,IAAI,gBAAgB,EAAE,CAAC;QACrB,GAAG,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;IACzC,CAAC;IACD,gBAAgB,CAAC,GAAG,EAAE,WAAW,IAAI,oBAAoB,EAAE,CAAC,CAAA;IAC5D,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAS,wBAAwB,CAAC,MAA6B;IAC7D,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/C,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;QAC7B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,SAAQ;QACjD,IAAK,KAAiC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC1D,MAAM,IAAI,GAAI,KAAiC,CAAC,IAAI,CAAA;YACpD,MAAM,OAAO,GAAI,KAAiC,CAAC,OAAO,CAAA;YAC1D,IAAI,IAAI,KAAK,WAAW,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACxD,OAAO,OAAO,CAAA;YAChB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,4BAA4B,CAAC,MAA6B;IACjE,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;QACzB,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,SAAQ;QACjD,IAAK,KAAiC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC1D,MAAM,IAAI,GAAI,KAAiC,CAAC,IAAI,CAAA;YACpD,MAAM,OAAO,GAAI,KAAiC,CAAC,OAAO,CAAA;YAC1D,IAAI,IAAI,KAAK,WAAW,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACxD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACtB,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IACpC,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;AAC/B,CAAC;AAED,SAAS,YAAY,CAAC,MAA6B;IACjD,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/C,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;QAC7B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,SAAQ;QACjD,IAAK,KAAiC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACzD,MAAM,KAAK,GAAI,KAAiC,CAAC,KAAK,CAAA;YACtD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACvC,OAAO,KAAgC,CAAA;YACzC,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,qBAAqB,CAAC,MAA6B;IAC1D,MAAM,UAAU,GAAyB,EAAE,CAAA;IAC3C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;QACzB,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,SAAQ;QACjD,IAAK,KAAiC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC1D,MAAM,IAAI,GAAI,KAAiC,CAAC,IAAI,CAAA;YACpD,MAAM,OAAO,GAAI,KAAiC,CAAC,OAAO,CAAA;YAC1D,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC5D,UAAU,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,CAAA;YACxE,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAA;AACnB,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,OAAO;QACL,EAAE,EAAE,QAAQ;QACZ,KAAK,EAAE,YAAY;QACnB,oBAAoB,EAAE,KAAK;QAC3B,YAAY,CAAC,OAA+B;YAC1C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,EAAE,CAAA;YACnC,MAAM,eAAe,GAAG,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAA;YAC5F,MAAM,YAAY,GAChB,eAAe,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAA;YAE9C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,oBAAoB,EAAE,CAAA;YACzD,MAAM,IAAI,GAAa,CAAC,iBAAiB,EAAE,YAAY,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;YAErF,MAAM,KAAK,GAAG,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;YACzE,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;YAC7B,CAAC;YAED,MAAM,UAAU,GAAG,mBAAmB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;YACzD,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;YACjD,CAAC;YAED,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;YAC3B,MAAM,YAAY,GAAG,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;YAChG,MAAM,kBAAkB,GAAG,OAAO,MAAM,CAAC,oBAAoB,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;YACpH,MAAM,iBAAiB,GAAG,CAAC,YAAY,EAAE,kBAAkB,CAAC;iBACzD,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;iBAC5B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;iBACnC,IAAI,CAAC,IAAI,CAAC,CAAA;YAEb,MAAM,QAAQ,GAAG,YAAY,KAAK,MAAM,CAAA;YACxC,MAAM,cAAc,GAAG,iBAAiB;gBACtC,CAAC,CAAC,QAAQ;oBACR,CAAC,CAAC,GAAG,iBAAiB,wDAAwD;oBAC9E,CAAC,CAAC,iBAAiB;gBACrB,CAAC,CAAC,QAAQ;oBACR,CAAC,CAAC,sDAAsD;oBACxD,CAAC,CAAC,EAAE,CAAA;YAER,MAAM,KAAK,GAA8C,cAAc;gBACrE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC;gBACnD,CAAC,CAAC,EAAE,CAAA;YAEN,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAEjB,OAAO;gBACL,OAAO;gBACP,IAAI;gBACJ,YAAY;gBACZ,SAAS,EAAE,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI;gBAC3E,GAAG,EAAE,cAAc;oBACjB,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,OAAO,CAAC;oBAC9D,CAAC,CAAC,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC;gBACtC,KAAK;aACN,CAAA;QACH,CAAC;QACD,kBAAkB,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE;YACzC,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;gBAC5B,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAA4B,CAAA;oBAC5D,MAAM,QAAQ,GAAG,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAA;oBAC3E,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAA;oBAC5D,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,CAAA;gBACnE,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,UAAU,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,6BAA6B,CAAA;oBACzF,OAAO;wBACL,MAAM,EAAE,gBAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC;wBAC/C,QAAQ,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE;wBAClC,UAAU;qBACX,CAAA;gBACH,CAAC;YACH,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,gBAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,CAAA;QAChG,CAAC;QACD,wBAAwB,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE;YAC5C,MAAM,UAAU,GACd,4BAA4B,CAAC,MAAM,CAAC,IAAI,wBAAwB,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE,CAAA;YAC9F,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,mBAAmB,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;YACjF,MAAM,QAAQ,GAA4B,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAA;YAClE,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;YAClC,IAAI,KAAK;gBAAE,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAA;YACjC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,IAAI,SAAS,EAAE,CAAA;QAClE,CAAC;QACD,qBAAqB;KACtB,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
type MissingSupabaseField = 'supabaseUrl' | 'supabaseAnonKey';
|
|
2
|
+
type SupabaseValueSource = 'cli' | 'env' | 'config' | 'missing';
|
|
3
|
+
export interface ResolveSupabaseConfigInput {
|
|
4
|
+
cliSupabaseUrl?: string;
|
|
5
|
+
cliAnonKey?: string;
|
|
6
|
+
configSupabaseUrl?: string | null;
|
|
7
|
+
configAnonKey?: string | null;
|
|
8
|
+
env?: NodeJS.ProcessEnv;
|
|
9
|
+
}
|
|
10
|
+
export interface ResolvedSupabaseConfig {
|
|
11
|
+
supabaseUrl: string;
|
|
12
|
+
supabaseAnonKey: string;
|
|
13
|
+
urlSource: SupabaseValueSource;
|
|
14
|
+
anonKeySource: SupabaseValueSource;
|
|
15
|
+
missingFields: MissingSupabaseField[];
|
|
16
|
+
}
|
|
17
|
+
interface MissingSupabaseErrorContext {
|
|
18
|
+
configPath?: string;
|
|
19
|
+
}
|
|
20
|
+
export declare function resolveSupabaseConfig(input: ResolveSupabaseConfigInput): ResolvedSupabaseConfig;
|
|
21
|
+
export declare function buildMissingSupabaseConfigError(action: 'pair' | 'start', missingFields: readonly MissingSupabaseField[], context?: MissingSupabaseErrorContext): {
|
|
22
|
+
message: string;
|
|
23
|
+
details: string;
|
|
24
|
+
};
|
|
25
|
+
export {};
|
|
26
|
+
//# sourceMappingURL=supabase-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"supabase-config.d.ts","sourceRoot":"","sources":["../src/supabase-config.ts"],"names":[],"mappings":"AAAA,KAAK,oBAAoB,GAAG,aAAa,GAAG,iBAAiB,CAAA;AAC7D,KAAK,mBAAmB,GAAG,KAAK,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,CAAA;AAO/D,MAAM,WAAW,0BAA0B;IACzC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;CACxB;AAED,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,MAAM,CAAA;IACnB,eAAe,EAAE,MAAM,CAAA;IACvB,SAAS,EAAE,mBAAmB,CAAA;IAC9B,aAAa,EAAE,mBAAmB,CAAA;IAClC,aAAa,EAAE,oBAAoB,EAAE,CAAA;CACtC;AAED,UAAU,2BAA2B;IACnC,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAsBD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,0BAA0B,GAAG,sBAAsB,CA2B/F;AAUD,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,MAAM,GAAG,OAAO,EACxB,aAAa,EAAE,SAAS,oBAAoB,EAAE,EAC9C,OAAO,GAAE,2BAAgC,GACxC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAmBtC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
function normalizeSupabaseValue(value) {
|
|
2
|
+
if (typeof value !== 'string')
|
|
3
|
+
return null;
|
|
4
|
+
const trimmed = value.trim();
|
|
5
|
+
return trimmed.length > 0 ? trimmed : null;
|
|
6
|
+
}
|
|
7
|
+
function resolveSupabaseValue(candidates) {
|
|
8
|
+
for (const candidate of candidates) {
|
|
9
|
+
const normalized = normalizeSupabaseValue(candidate.value);
|
|
10
|
+
if (normalized) {
|
|
11
|
+
return { value: normalized, source: candidate.source };
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
return { value: '', source: 'missing' };
|
|
15
|
+
}
|
|
16
|
+
export function resolveSupabaseConfig(input) {
|
|
17
|
+
const env = input.env ?? process.env;
|
|
18
|
+
const url = resolveSupabaseValue([
|
|
19
|
+
{ source: 'cli', value: input.cliSupabaseUrl },
|
|
20
|
+
{ source: 'env', value: env.PANORAMA_SUPABASE_URL },
|
|
21
|
+
{ source: 'env', value: env.SUPABASE_URL },
|
|
22
|
+
{ source: 'config', value: input.configSupabaseUrl },
|
|
23
|
+
]);
|
|
24
|
+
const anonKey = resolveSupabaseValue([
|
|
25
|
+
{ source: 'cli', value: input.cliAnonKey },
|
|
26
|
+
{ source: 'env', value: env.PANORAMA_SUPABASE_ANON_KEY },
|
|
27
|
+
{ source: 'env', value: env.SUPABASE_ANON_KEY },
|
|
28
|
+
{ source: 'env', value: env.SUPABASE_PUBLISHABLE_KEY },
|
|
29
|
+
{ source: 'config', value: input.configAnonKey },
|
|
30
|
+
]);
|
|
31
|
+
const missingFields = [];
|
|
32
|
+
if (!url.value)
|
|
33
|
+
missingFields.push('supabaseUrl');
|
|
34
|
+
if (!anonKey.value)
|
|
35
|
+
missingFields.push('supabaseAnonKey');
|
|
36
|
+
return {
|
|
37
|
+
supabaseUrl: url.value,
|
|
38
|
+
supabaseAnonKey: anonKey.value,
|
|
39
|
+
urlSource: url.source,
|
|
40
|
+
anonKeySource: anonKey.source,
|
|
41
|
+
missingFields,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
function formatMissingFields(missingFields) {
|
|
45
|
+
const labels = missingFields.map((field) => field === 'supabaseUrl' ? 'Supabase URL' : 'Supabase anon key');
|
|
46
|
+
if (labels.length <= 1)
|
|
47
|
+
return labels[0] ?? 'Supabase configuration';
|
|
48
|
+
return `${labels.slice(0, -1).join(', ')} and ${labels[labels.length - 1]}`;
|
|
49
|
+
}
|
|
50
|
+
export function buildMissingSupabaseConfigError(action, missingFields, context = {}) {
|
|
51
|
+
const missingSummary = formatMissingFields(missingFields);
|
|
52
|
+
const message = action === 'pair'
|
|
53
|
+
? 'Missing Supabase configuration for pairing.'
|
|
54
|
+
: 'Missing Supabase configuration for gateway start.';
|
|
55
|
+
const guidance = 'Provide --supabase-url and --anon-key, set PANORAMA_SUPABASE_URL and PANORAMA_SUPABASE_ANON_KEY, or load them via --env / --env-file.';
|
|
56
|
+
const configPathDetail = action === 'start' && context.configPath
|
|
57
|
+
? ` Existing config path: ${context.configPath}.`
|
|
58
|
+
: '';
|
|
59
|
+
return {
|
|
60
|
+
message,
|
|
61
|
+
details: `${missingSummary} not found.${configPathDetail} ${guidance}`.trim(),
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=supabase-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"supabase-config.js","sourceRoot":"","sources":["../src/supabase-config.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@panorama-ai/gateway",
|
|
3
|
-
"version": "2.26.
|
|
3
|
+
"version": "2.26.113",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
"scripts": {
|
|
18
18
|
"dev": "tsx src/index.ts",
|
|
19
19
|
"clean": "rm -rf dist tsconfig.tsbuildinfo",
|
|
20
|
+
"test": "tsx --test test/*.test.ts",
|
|
20
21
|
"generate:prod-defaults": "node scripts/generate-prod-defaults.mjs",
|
|
21
22
|
"reset:prod-defaults": "node scripts/reset-prod-defaults.mjs",
|
|
22
23
|
"build": "pnpm run clean && tsc --build && node scripts/add-shebang.mjs",
|