amalgm 0.1.131-canary.20260625234755 → 0.1.131
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/lib/cli.js +1 -4
- package/lib/paths.js +1 -2
- package/lib/tunnel-chat.js +2 -6
- package/package.json +1 -1
- package/runtime/scripts/amalgm-mcp/config.js +3 -15
- package/runtime/scripts/amalgm-mcp/index.js +1 -1
- package/runtime/scripts/chat-core/contract.js +2 -2
- package/runtime/scripts/chat-core/server.js +2 -2
- package/runtime/scripts/chat-server/config.js +0 -1
- package/runtime/scripts/chat-server.js +1 -2
- package/runtime/scripts/proxy-token-store.js +1 -13
package/lib/cli.js
CHANGED
|
@@ -1051,10 +1051,7 @@ async function status() {
|
|
|
1051
1051
|
if (record?.webhook_url) console.log(`Events: ${record.webhook_url}`);
|
|
1052
1052
|
if (record?.tunnel_url) console.log(`Tunnel: ${record.tunnel_url}`);
|
|
1053
1053
|
if (record?.tunnel_token) {
|
|
1054
|
-
|
|
1055
|
-
? 'wss://amalgm-chat-gateway.fly.dev/wire'
|
|
1056
|
-
: 'wss://chat.preview.amalgm.ai/wire';
|
|
1057
|
-
console.log(`Chat tunnel: ${record.chat_tunnel_url || defaultChatTunnel}`);
|
|
1054
|
+
console.log(`Chat tunnel: ${record.chat_tunnel_url || 'wss://amalgm-chat-gateway.fly.dev/wire'}`);
|
|
1058
1055
|
}
|
|
1059
1056
|
console.log(`HMAC proxy: ${proxyTokenFromRecord(record) ? 'configured' : 'not configured'}`);
|
|
1060
1057
|
|
package/lib/paths.js
CHANGED
|
@@ -49,8 +49,7 @@ const SERVICE_PID_FILE = path.join(AMALGM_RUNTIME_STATE_DIR, 'amalgm-service.pid
|
|
|
49
49
|
const SERVICE_STATE_FILE = path.join(AMALGM_RUNTIME_STATE_DIR, 'service-state.json');
|
|
50
50
|
const SERVICE_STOP_FILE = path.join(AMALGM_RUNTIME_STATE_DIR, 'amalgm-service.stop');
|
|
51
51
|
const SHUTDOWN_REASON_FILE = path.join(AMALGM_RUNTIME_STATE_DIR, 'shutdown-reason.json');
|
|
52
|
-
const DEFAULT_APP_URL = process.env.AMALGM_APP_URL
|
|
53
|
-
|| (AMALGM_RUNTIME_LABEL === 'main' ? 'https://amalgm.ai' : 'https://preview.amalgm.ai');
|
|
52
|
+
const DEFAULT_APP_URL = process.env.AMALGM_APP_URL || 'https://amalgm.ai';
|
|
54
53
|
|
|
55
54
|
module.exports = {
|
|
56
55
|
AMALGM_BRANCH,
|
package/lib/tunnel-chat.js
CHANGED
|
@@ -16,11 +16,7 @@ const DEFAULT_PORT_MONITOR_PORT = runtimeServiceByName('port-monitor').defaultPo
|
|
|
16
16
|
const DEFAULT_MCP_PORT = runtimeServiceByName('amalgm-mcp').defaultPort;
|
|
17
17
|
const DEFAULT_CHAT_SERVER_PORT = runtimeServiceByName('chat-server').defaultPort;
|
|
18
18
|
const DEFAULT_TARGET_PORT = DEFAULT_CHAT_SERVER_PORT;
|
|
19
|
-
|
|
20
|
-
return AMALGM_RUNTIME_LABEL === 'main'
|
|
21
|
-
? 'wss://amalgm-chat-gateway.fly.dev/wire'
|
|
22
|
-
: 'wss://chat.preview.amalgm.ai/wire';
|
|
23
|
-
}
|
|
19
|
+
const DEFAULT_CHAT_TUNNEL_URL = 'wss://amalgm-chat-gateway.fly.dev/wire';
|
|
24
20
|
const CONNECT_TIMEOUT_MS = 20_000;
|
|
25
21
|
const WATCHDOG_INTERVAL_MS = 15_000;
|
|
26
22
|
const HEARTBEAT_TIMEOUT_MS = 75_000;
|
|
@@ -77,7 +73,7 @@ const HOP_BY_HOP_HEADERS = new Set([
|
|
|
77
73
|
]);
|
|
78
74
|
|
|
79
75
|
function tunnelUrl(rawUrl) {
|
|
80
|
-
const url = new URL(rawUrl ||
|
|
76
|
+
const url = new URL(rawUrl || DEFAULT_CHAT_TUNNEL_URL);
|
|
81
77
|
url.searchParams.delete('token');
|
|
82
78
|
return url.toString();
|
|
83
79
|
}
|
package/package.json
CHANGED
|
@@ -52,21 +52,9 @@ const DEFAULT_CWD = process.env.AMALGM_DEFAULT_CWD || os.homedir();
|
|
|
52
52
|
const AMALGM_USER_ID = process.env.AMALGM_USER_ID || '';
|
|
53
53
|
const AMALGM_COMPUTER_ID = process.env.AMALGM_COMPUTER_ID || process.env.AMALGM_CONTAINER_ID || '';
|
|
54
54
|
|
|
55
|
-
function usesPreviewInfraDefaults() {
|
|
56
|
-
const raw = String(
|
|
57
|
-
process.env.AMALGM_RUNTIME_LABEL
|
|
58
|
-
|| process.env.AMALGM_CHANNEL
|
|
59
|
-
|| process.env.AMALGM_BRANCH
|
|
60
|
-
|| '',
|
|
61
|
-
).trim().toLowerCase();
|
|
62
|
-
return ['preview', 'canary', 'native-chat', 'staging', 'local', 'dev', 'development'].includes(raw);
|
|
63
|
-
}
|
|
64
|
-
|
|
65
55
|
const PROXY_TOKEN = process.env.AMALGM_PROXY_TOKEN
|
|
66
56
|
|| (process.env.AMALGM_RUNTIME_SOURCE === 'npm' ? '' : process.env.ANTHROPIC_API_KEY || '');
|
|
67
|
-
const DEFAULT_PROXY_BASE_URL =
|
|
68
|
-
? 'https://api.preview.amalgm.ai'
|
|
69
|
-
: 'https://amalgm-api-proxy-v2.fly.dev';
|
|
57
|
+
const DEFAULT_PROXY_BASE_URL = 'https://amalgm-api-proxy-v2.fly.dev';
|
|
70
58
|
const PROXY_BASE_URL = process.env.AMALGM_PROXY_URL || (PROXY_TOKEN ? DEFAULT_PROXY_BASE_URL : '');
|
|
71
59
|
const SUPABASE_PROXY_URL = PROXY_BASE_URL ? `${PROXY_BASE_URL}/supabase` : '';
|
|
72
60
|
|
|
@@ -91,14 +79,14 @@ const APPS_DOMAIN = (
|
|
|
91
79
|
|| process.env.NEXT_PUBLIC_APPS_DOMAIN
|
|
92
80
|
|| process.env.AMALGM_ARTIFACTS_DOMAIN
|
|
93
81
|
|| process.env.NEXT_PUBLIC_ARTIFACTS_DOMAIN
|
|
94
|
-
||
|
|
82
|
+
|| 'apps.amalgm.ai'
|
|
95
83
|
);
|
|
96
84
|
const APP_PORT_MIN = parseInt(process.env.AMALGM_APP_PORT_MIN || process.env.AMALGM_ARTIFACT_PORT_MIN || '9100', 10);
|
|
97
85
|
const APP_PORT_MAX = parseInt(process.env.AMALGM_APP_PORT_MAX || process.env.AMALGM_ARTIFACT_PORT_MAX || '9199', 10);
|
|
98
86
|
const GATEWAY_BASE_URL = (
|
|
99
87
|
process.env.AMALGM_GATEWAY_INTERNAL_URL
|
|
100
88
|
|| process.env.AMALGM_GATEWAY_URL
|
|
101
|
-
||
|
|
89
|
+
|| 'https://wire.events.amalgm.ai'
|
|
102
90
|
).replace(/\/$/, '');
|
|
103
91
|
const GATEWAY_INTERNAL_SECRET =
|
|
104
92
|
process.env.AMALGM_GATEWAY_INTERNAL_SECRET
|
|
@@ -56,7 +56,7 @@ async function ensureProxyToken() {
|
|
|
56
56
|
const adminSecret = process.env.PROXY_ADMIN_SECRET || process.env.ADMIN_SECRET;
|
|
57
57
|
if (!adminSecret) return;
|
|
58
58
|
|
|
59
|
-
const proxyUrl = process.env.AMALGM_PROXY_URL ||
|
|
59
|
+
const proxyUrl = process.env.AMALGM_PROXY_URL || 'https://amalgm-api-proxy-v2.fly.dev';
|
|
60
60
|
|
|
61
61
|
try {
|
|
62
62
|
const res = await fetch(`${proxyUrl}/internal/token`, {
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
const fs = require('fs');
|
|
4
4
|
const os = require('os');
|
|
5
5
|
const path = require('path');
|
|
6
|
-
const { AMALGM_DIR, DEFAULT_CWD,
|
|
6
|
+
const { AMALGM_DIR, DEFAULT_CWD, PROXY_BASE_URL, PROXY_TOKEN } = require('../chat-server/config');
|
|
7
7
|
const { canonicalProjectPath } = require('../lib/project-paths');
|
|
8
8
|
const { authEnvelope, coerceAuth, fingerprint } = require('./auth');
|
|
9
9
|
const { runtimePort } = require('../../lib/runtime-manifest');
|
|
@@ -427,7 +427,7 @@ function createContract(payload, options = {}) {
|
|
|
427
427
|
sessionId,
|
|
428
428
|
localBaseUrl,
|
|
429
429
|
proxyToken: options.proxyToken || PROXY_TOKEN,
|
|
430
|
-
proxyBaseUrl: options.proxyBaseUrl || PROXY_BASE_URL ||
|
|
430
|
+
proxyBaseUrl: options.proxyBaseUrl || PROXY_BASE_URL || 'https://amalgm-api-proxy-v2.fly.dev',
|
|
431
431
|
amalgmDir: options.amalgmDir || AMALGM_DIR || path.join(process.env.HOME || '.', '.amalgm'),
|
|
432
432
|
userId,
|
|
433
433
|
credentialId: payload.credentialId || payload.byokCredentialId || null,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
const http = require('http');
|
|
4
|
-
const { PORT,
|
|
4
|
+
const { PORT, PROXY_BASE_URL, ensureFreshProxyToken } = require('../chat-server/config');
|
|
5
5
|
const db = require('../chat-server/db');
|
|
6
6
|
const { CodexAdapter } = require('./adapters/codex');
|
|
7
7
|
const { ClaudeAdapter } = require('./adapters/claude');
|
|
@@ -107,7 +107,7 @@ function createServer(core = createCore()) {
|
|
|
107
107
|
res,
|
|
108
108
|
contract,
|
|
109
109
|
turn: core.turns.active(route.sessionId),
|
|
110
|
-
proxyBaseUrl: PROXY_BASE_URL ||
|
|
110
|
+
proxyBaseUrl: PROXY_BASE_URL || 'https://amalgm-api-proxy-v2.fly.dev',
|
|
111
111
|
proxyToken,
|
|
112
112
|
upstreamPath: `${route.upstreamPath}${route.search || ''}`,
|
|
113
113
|
});
|
|
@@ -31,8 +31,7 @@ async function boot() {
|
|
|
31
31
|
}
|
|
32
32
|
const adminSecret = process.env.PROXY_ADMIN_SECRET || process.env.ADMIN_SECRET;
|
|
33
33
|
if (adminSecret) {
|
|
34
|
-
const
|
|
35
|
-
const proxyUrl = process.env.AMALGM_PROXY_URL || DEFAULT_PROXY_BASE_URL;
|
|
34
|
+
const proxyUrl = process.env.AMALGM_PROXY_URL || 'https://amalgm-api-proxy-v2.fly.dev';
|
|
36
35
|
try {
|
|
37
36
|
const userId = process.env.AMALGM_USER_ID || process.env.USER_ID || process.env.NEXT_PUBLIC_AMALGM_USER_ID || '';
|
|
38
37
|
const containerId = process.env.AMALGM_CONTAINER_ID || 'standalone';
|
|
@@ -4,19 +4,7 @@ const fs = require('fs');
|
|
|
4
4
|
const os = require('os');
|
|
5
5
|
const path = require('path');
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
const raw = String(
|
|
9
|
-
process.env.AMALGM_RUNTIME_LABEL
|
|
10
|
-
|| process.env.AMALGM_CHANNEL
|
|
11
|
-
|| process.env.AMALGM_BRANCH
|
|
12
|
-
|| '',
|
|
13
|
-
).trim().toLowerCase();
|
|
14
|
-
return ['preview', 'canary', 'native-chat', 'staging', 'local', 'dev', 'development'].includes(raw);
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
const DEFAULT_PROXY_BASE_URL = usesPreviewInfraDefaults()
|
|
18
|
-
? 'https://api.preview.amalgm.ai'
|
|
19
|
-
: 'https://amalgm-api-proxy-v2.fly.dev';
|
|
7
|
+
const DEFAULT_PROXY_BASE_URL = 'https://amalgm-api-proxy-v2.fly.dev';
|
|
20
8
|
const REFRESH_BUFFER_MS = 10 * 60 * 1000;
|
|
21
9
|
|
|
22
10
|
const AMALGM_DIR = process.env.AMALGM_DIR || path.join(os.homedir(), '.amalgm');
|