@agenticmail/enterprise 0.5.93 → 0.5.94
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.
|
@@ -3746,35 +3746,36 @@ function DeploymentSection(props) {
|
|
|
3746
3746
|
|
|
3747
3747
|
var startDeployEdit = function() {
|
|
3748
3748
|
setDeployForm({
|
|
3749
|
-
target: deployment.target || '
|
|
3750
|
-
region: deployment.region || 'iad',
|
|
3749
|
+
target: deployment.target || 'fly',
|
|
3750
|
+
region: deployment.region || deployment.config?.cloud?.region || 'iad',
|
|
3751
3751
|
imageTag: (deployment.config?.docker?.tag) || deployment.imageTag || 'latest',
|
|
3752
3752
|
memory: (deployment.config?.docker?.memory) || deployment.memory || '512m',
|
|
3753
3753
|
cpu: (deployment.config?.docker?.cpu) || deployment.cpu || '0.5',
|
|
3754
3754
|
ports: (deployment.config?.docker?.ports || [3000]).join(', '),
|
|
3755
|
+
flyApiToken: deployment.config?.cloud?.apiToken || '',
|
|
3756
|
+
flyAppName: deployment.config?.cloud?.appName || '',
|
|
3757
|
+
vpsHost: deployment.config?.vps?.host || '',
|
|
3758
|
+
vpsUser: deployment.config?.vps?.user || 'root',
|
|
3759
|
+
vpsKeyPath: deployment.config?.vps?.keyPath || '',
|
|
3755
3760
|
});
|
|
3756
3761
|
setEditingDeploy(true);
|
|
3757
3762
|
};
|
|
3758
3763
|
|
|
3759
3764
|
var saveDeploy = function() {
|
|
3760
3765
|
setSavingDeploy(true);
|
|
3766
|
+
var deployConfig = {};
|
|
3767
|
+
if (deployForm.target === 'fly') {
|
|
3768
|
+
deployConfig = { cloud: { provider: 'fly', region: deployForm.region || 'iad', apiToken: deployForm.flyApiToken || undefined, appName: deployForm.flyAppName || undefined } };
|
|
3769
|
+
} else if (deployForm.target === 'docker') {
|
|
3770
|
+
deployConfig = { docker: { image: 'agenticmail/agent', tag: deployForm.imageTag, ports: deployForm.ports.split(',').map(function(p) { return parseInt(p.trim()) || 3000; }), memory: deployForm.memory, cpu: deployForm.cpu, restart: 'unless-stopped' } };
|
|
3771
|
+
} else if (deployForm.target === 'vps') {
|
|
3772
|
+
deployConfig = { vps: { host: deployForm.vpsHost || '', user: deployForm.vpsUser || 'root', keyPath: deployForm.vpsKeyPath || '' } };
|
|
3773
|
+
}
|
|
3761
3774
|
var updates = {
|
|
3762
3775
|
deployment: {
|
|
3763
3776
|
target: deployForm.target,
|
|
3764
3777
|
region: deployForm.region,
|
|
3765
|
-
|
|
3766
|
-
memory: deployForm.memory,
|
|
3767
|
-
cpu: deployForm.cpu,
|
|
3768
|
-
config: {
|
|
3769
|
-
docker: {
|
|
3770
|
-
image: 'agenticmail/agent',
|
|
3771
|
-
tag: deployForm.imageTag,
|
|
3772
|
-
ports: deployForm.ports.split(',').map(function(p) { return parseInt(p.trim()) || 3000; }),
|
|
3773
|
-
memory: deployForm.memory,
|
|
3774
|
-
cpu: deployForm.cpu,
|
|
3775
|
-
restart: 'unless-stopped',
|
|
3776
|
-
}
|
|
3777
|
-
}
|
|
3778
|
+
config: deployConfig
|
|
3778
3779
|
}
|
|
3779
3780
|
};
|
|
3780
3781
|
var isRunning = ea.state === 'running' || ea.state === 'active' || ea.state === 'degraded';
|
|
@@ -3861,7 +3862,18 @@ function DeploymentSection(props) {
|
|
|
3861
3862
|
)
|
|
3862
3863
|
)
|
|
3863
3864
|
),
|
|
3864
|
-
|
|
3865
|
+
deployForm.target === 'fly' && h('div', { style: { display: 'grid', gridTemplateColumns: '1fr 1fr', gap: 16 } },
|
|
3866
|
+
h('div', { className: 'form-group' },
|
|
3867
|
+
h('label', { style: { display: 'block', fontSize: 12, fontWeight: 600, color: 'var(--text-secondary)', marginBottom: 4 } }, 'Fly.io API Token'),
|
|
3868
|
+
h('input', { className: 'input', type: 'password', value: deployForm.flyApiToken, onChange: function(e) { setDf('flyApiToken', e.target.value); }, placeholder: 'fo1_...' }),
|
|
3869
|
+
h('div', { style: { fontSize: 11, color: 'var(--text-muted)', marginTop: 2 } }, 'From fly.io/user/personal_access_tokens')
|
|
3870
|
+
),
|
|
3871
|
+
h('div', { className: 'form-group' },
|
|
3872
|
+
h('label', { style: { display: 'block', fontSize: 12, fontWeight: 600, color: 'var(--text-secondary)', marginBottom: 4 } }, 'App Name (optional)'),
|
|
3873
|
+
h('input', { className: 'input', value: deployForm.flyAppName, onChange: function(e) { setDf('flyAppName', e.target.value); }, placeholder: 'Auto-generated if empty' })
|
|
3874
|
+
)
|
|
3875
|
+
),
|
|
3876
|
+
deployForm.target === 'docker' && h('div', { style: { display: 'grid', gridTemplateColumns: '1fr 1fr 1fr 1fr', gap: 16 } },
|
|
3865
3877
|
h('div', { className: 'form-group' },
|
|
3866
3878
|
h('label', { style: { display: 'block', fontSize: 12, fontWeight: 600, color: 'var(--text-secondary)', marginBottom: 4 } }, 'Image Tag'),
|
|
3867
3879
|
h('input', { className: 'input', value: deployForm.imageTag, onChange: function(e) { setDf('imageTag', e.target.value); } })
|
|
@@ -3878,6 +3890,20 @@ function DeploymentSection(props) {
|
|
|
3878
3890
|
h('label', { style: { display: 'block', fontSize: 12, fontWeight: 600, color: 'var(--text-secondary)', marginBottom: 4 } }, 'Ports'),
|
|
3879
3891
|
h('input', { className: 'input', value: deployForm.ports, onChange: function(e) { setDf('ports', e.target.value); }, placeholder: '3000' })
|
|
3880
3892
|
)
|
|
3893
|
+
),
|
|
3894
|
+
deployForm.target === 'vps' && h('div', { style: { display: 'grid', gridTemplateColumns: '1fr 1fr 1fr', gap: 16 } },
|
|
3895
|
+
h('div', { className: 'form-group' },
|
|
3896
|
+
h('label', { style: { display: 'block', fontSize: 12, fontWeight: 600, color: 'var(--text-secondary)', marginBottom: 4 } }, 'Host'),
|
|
3897
|
+
h('input', { className: 'input', value: deployForm.vpsHost, onChange: function(e) { setDf('vpsHost', e.target.value); }, placeholder: '192.168.1.100' })
|
|
3898
|
+
),
|
|
3899
|
+
h('div', { className: 'form-group' },
|
|
3900
|
+
h('label', { style: { display: 'block', fontSize: 12, fontWeight: 600, color: 'var(--text-secondary)', marginBottom: 4 } }, 'User'),
|
|
3901
|
+
h('input', { className: 'input', value: deployForm.vpsUser, onChange: function(e) { setDf('vpsUser', e.target.value); }, placeholder: 'root' })
|
|
3902
|
+
),
|
|
3903
|
+
h('div', { className: 'form-group' },
|
|
3904
|
+
h('label', { style: { display: 'block', fontSize: 12, fontWeight: 600, color: 'var(--text-secondary)', marginBottom: 4 } }, 'SSH Key Path'),
|
|
3905
|
+
h('input', { className: 'input', value: deployForm.vpsKeyPath, onChange: function(e) { setDf('vpsKeyPath', e.target.value); }, placeholder: '~/.ssh/id_rsa' })
|
|
3906
|
+
)
|
|
3881
3907
|
)
|
|
3882
3908
|
)
|
|
3883
3909
|
),
|
package/package.json
CHANGED
|
@@ -3746,35 +3746,36 @@ function DeploymentSection(props) {
|
|
|
3746
3746
|
|
|
3747
3747
|
var startDeployEdit = function() {
|
|
3748
3748
|
setDeployForm({
|
|
3749
|
-
target: deployment.target || '
|
|
3750
|
-
region: deployment.region || 'iad',
|
|
3749
|
+
target: deployment.target || 'fly',
|
|
3750
|
+
region: deployment.region || deployment.config?.cloud?.region || 'iad',
|
|
3751
3751
|
imageTag: (deployment.config?.docker?.tag) || deployment.imageTag || 'latest',
|
|
3752
3752
|
memory: (deployment.config?.docker?.memory) || deployment.memory || '512m',
|
|
3753
3753
|
cpu: (deployment.config?.docker?.cpu) || deployment.cpu || '0.5',
|
|
3754
3754
|
ports: (deployment.config?.docker?.ports || [3000]).join(', '),
|
|
3755
|
+
flyApiToken: deployment.config?.cloud?.apiToken || '',
|
|
3756
|
+
flyAppName: deployment.config?.cloud?.appName || '',
|
|
3757
|
+
vpsHost: deployment.config?.vps?.host || '',
|
|
3758
|
+
vpsUser: deployment.config?.vps?.user || 'root',
|
|
3759
|
+
vpsKeyPath: deployment.config?.vps?.keyPath || '',
|
|
3755
3760
|
});
|
|
3756
3761
|
setEditingDeploy(true);
|
|
3757
3762
|
};
|
|
3758
3763
|
|
|
3759
3764
|
var saveDeploy = function() {
|
|
3760
3765
|
setSavingDeploy(true);
|
|
3766
|
+
var deployConfig = {};
|
|
3767
|
+
if (deployForm.target === 'fly') {
|
|
3768
|
+
deployConfig = { cloud: { provider: 'fly', region: deployForm.region || 'iad', apiToken: deployForm.flyApiToken || undefined, appName: deployForm.flyAppName || undefined } };
|
|
3769
|
+
} else if (deployForm.target === 'docker') {
|
|
3770
|
+
deployConfig = { docker: { image: 'agenticmail/agent', tag: deployForm.imageTag, ports: deployForm.ports.split(',').map(function(p) { return parseInt(p.trim()) || 3000; }), memory: deployForm.memory, cpu: deployForm.cpu, restart: 'unless-stopped' } };
|
|
3771
|
+
} else if (deployForm.target === 'vps') {
|
|
3772
|
+
deployConfig = { vps: { host: deployForm.vpsHost || '', user: deployForm.vpsUser || 'root', keyPath: deployForm.vpsKeyPath || '' } };
|
|
3773
|
+
}
|
|
3761
3774
|
var updates = {
|
|
3762
3775
|
deployment: {
|
|
3763
3776
|
target: deployForm.target,
|
|
3764
3777
|
region: deployForm.region,
|
|
3765
|
-
|
|
3766
|
-
memory: deployForm.memory,
|
|
3767
|
-
cpu: deployForm.cpu,
|
|
3768
|
-
config: {
|
|
3769
|
-
docker: {
|
|
3770
|
-
image: 'agenticmail/agent',
|
|
3771
|
-
tag: deployForm.imageTag,
|
|
3772
|
-
ports: deployForm.ports.split(',').map(function(p) { return parseInt(p.trim()) || 3000; }),
|
|
3773
|
-
memory: deployForm.memory,
|
|
3774
|
-
cpu: deployForm.cpu,
|
|
3775
|
-
restart: 'unless-stopped',
|
|
3776
|
-
}
|
|
3777
|
-
}
|
|
3778
|
+
config: deployConfig
|
|
3778
3779
|
}
|
|
3779
3780
|
};
|
|
3780
3781
|
var isRunning = ea.state === 'running' || ea.state === 'active' || ea.state === 'degraded';
|
|
@@ -3861,7 +3862,18 @@ function DeploymentSection(props) {
|
|
|
3861
3862
|
)
|
|
3862
3863
|
)
|
|
3863
3864
|
),
|
|
3864
|
-
|
|
3865
|
+
deployForm.target === 'fly' && h('div', { style: { display: 'grid', gridTemplateColumns: '1fr 1fr', gap: 16 } },
|
|
3866
|
+
h('div', { className: 'form-group' },
|
|
3867
|
+
h('label', { style: { display: 'block', fontSize: 12, fontWeight: 600, color: 'var(--text-secondary)', marginBottom: 4 } }, 'Fly.io API Token'),
|
|
3868
|
+
h('input', { className: 'input', type: 'password', value: deployForm.flyApiToken, onChange: function(e) { setDf('flyApiToken', e.target.value); }, placeholder: 'fo1_...' }),
|
|
3869
|
+
h('div', { style: { fontSize: 11, color: 'var(--text-muted)', marginTop: 2 } }, 'From fly.io/user/personal_access_tokens')
|
|
3870
|
+
),
|
|
3871
|
+
h('div', { className: 'form-group' },
|
|
3872
|
+
h('label', { style: { display: 'block', fontSize: 12, fontWeight: 600, color: 'var(--text-secondary)', marginBottom: 4 } }, 'App Name (optional)'),
|
|
3873
|
+
h('input', { className: 'input', value: deployForm.flyAppName, onChange: function(e) { setDf('flyAppName', e.target.value); }, placeholder: 'Auto-generated if empty' })
|
|
3874
|
+
)
|
|
3875
|
+
),
|
|
3876
|
+
deployForm.target === 'docker' && h('div', { style: { display: 'grid', gridTemplateColumns: '1fr 1fr 1fr 1fr', gap: 16 } },
|
|
3865
3877
|
h('div', { className: 'form-group' },
|
|
3866
3878
|
h('label', { style: { display: 'block', fontSize: 12, fontWeight: 600, color: 'var(--text-secondary)', marginBottom: 4 } }, 'Image Tag'),
|
|
3867
3879
|
h('input', { className: 'input', value: deployForm.imageTag, onChange: function(e) { setDf('imageTag', e.target.value); } })
|
|
@@ -3878,6 +3890,20 @@ function DeploymentSection(props) {
|
|
|
3878
3890
|
h('label', { style: { display: 'block', fontSize: 12, fontWeight: 600, color: 'var(--text-secondary)', marginBottom: 4 } }, 'Ports'),
|
|
3879
3891
|
h('input', { className: 'input', value: deployForm.ports, onChange: function(e) { setDf('ports', e.target.value); }, placeholder: '3000' })
|
|
3880
3892
|
)
|
|
3893
|
+
),
|
|
3894
|
+
deployForm.target === 'vps' && h('div', { style: { display: 'grid', gridTemplateColumns: '1fr 1fr 1fr', gap: 16 } },
|
|
3895
|
+
h('div', { className: 'form-group' },
|
|
3896
|
+
h('label', { style: { display: 'block', fontSize: 12, fontWeight: 600, color: 'var(--text-secondary)', marginBottom: 4 } }, 'Host'),
|
|
3897
|
+
h('input', { className: 'input', value: deployForm.vpsHost, onChange: function(e) { setDf('vpsHost', e.target.value); }, placeholder: '192.168.1.100' })
|
|
3898
|
+
),
|
|
3899
|
+
h('div', { className: 'form-group' },
|
|
3900
|
+
h('label', { style: { display: 'block', fontSize: 12, fontWeight: 600, color: 'var(--text-secondary)', marginBottom: 4 } }, 'User'),
|
|
3901
|
+
h('input', { className: 'input', value: deployForm.vpsUser, onChange: function(e) { setDf('vpsUser', e.target.value); }, placeholder: 'root' })
|
|
3902
|
+
),
|
|
3903
|
+
h('div', { className: 'form-group' },
|
|
3904
|
+
h('label', { style: { display: 'block', fontSize: 12, fontWeight: 600, color: 'var(--text-secondary)', marginBottom: 4 } }, 'SSH Key Path'),
|
|
3905
|
+
h('input', { className: 'input', value: deployForm.vpsKeyPath, onChange: function(e) { setDf('vpsKeyPath', e.target.value); }, placeholder: '~/.ssh/id_rsa' })
|
|
3906
|
+
)
|
|
3881
3907
|
)
|
|
3882
3908
|
)
|
|
3883
3909
|
),
|