@h-ai/deploy 1.0.0-beta.6 → 1.0.0-beta.7
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.en.md +1 -1
- package/README.ja.md +1 -1
- package/README.md +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +550 -9
- package/dist/index.js.map +1 -1
- package/package.json +5 -5
package/README.en.md
CHANGED
|
@@ -125,7 +125,7 @@ SSH settings are saved in `.env.<environment>.local`. `--bundle-only` offers to
|
|
|
125
125
|
|
|
126
126
|
#### Configure only the middleware the application needs
|
|
127
127
|
|
|
128
|
-
Runtime lockfile dependencies and configuration determine middleware. Choose defaults, custom connections or keep settings. With complete target-environment settings, `--yes` preserves values without asking again or provisioning cloud resources again; interactive mode still lets you select the scope. --skip-middleware skips configuration/provisioning. SQLite, memory cache and local storage need no external images. Complete bundles automatically include self-hosted middleware images. External services still require reachable destinations; cloud provisioning is not an offline operation.
|
|
128
|
+
Runtime lockfile dependencies of the target application and configuration determine middleware; commented configuration does not enable modules. LDAP is included only when effective `iam.login.ldap=true`, so disabled LDAP produces no prompt. Choose defaults, custom connections or keep settings. With complete target-environment settings, `--yes` preserves values without asking again or provisioning cloud resources again; interactive mode still lets you select the scope. --skip-middleware skips configuration/provisioning. SQLite, memory cache and local storage need no external images. Complete bundles automatically include self-hosted middleware images. External services still require reachable destinations; cloud provisioning is not an offline operation.
|
|
129
129
|
|
|
130
130
|
Default and custom modes preserve effective settings for the same backend, including pool, operation log, public storage URLs/prefixes, Redis retry and vector search options absent from the form. Managed services replace connection selectors and credentials; old URLs, TLS/cluster modes and credentials cannot override the new service. SMTP senders and LDAP attribute mappings remain. Switching backends clears incompatible fields. Missing fields already saved in parent JSON need recovery from the original configuration or backup: restore `publicEndpoint` in the highest-priority `HAI_STORAGE`, then rebuild and deploy the bundle. Editing YAML or leaf variables hidden by that parent JSON cannot repair an old bundle. Generators prefer field variables and retain JSON arrays. Handwritten JSON remains a base and appears before its module fields; fields in the same source win. Dynamic maps, JSON text and explicit empty objects preserve their meaning. Expanding a whole-object replacement retains its highest `{}` reset marker so old YAML fields cannot reappear. Container paths stay in delivery output without changing source settings.
|
|
131
131
|
|
package/README.ja.md
CHANGED
|
@@ -123,7 +123,7 @@ SSH 設定は選択環境の `.env.<環境>.local` に保存します。`--bundl
|
|
|
123
123
|
|
|
124
124
|
#### 本当に必要なミドルウェアだけを設定する
|
|
125
125
|
|
|
126
|
-
|
|
126
|
+
対象アプリのロックファイルにある実行依存と設定に基づき、既定、自分の接続、設定維持を選びます。コメントの設定はモジュールを有効にしません。LDAP は有効な設定で `iam.login.ldap=true` の場合だけ配置対象となり、無効時には質問しません。対象環境の設定が完全なら、`--yes` は値を保持し、再入力やクラウド資源の再作成を行いません。対話モードでは今回の処理範囲を選べます。--skip-middleware は設定と開通を省略します。SQLite、メモリーキャッシュ、ローカル保存には外部イメージがありません。完全配布物には自前ミドルウェアのイメージも自動で含めます。外部サービスは接続先への到達性が必要で、クラウド開通はオフライン処理ではありません。
|
|
127
127
|
|
|
128
128
|
既定とカスタムは同じバックエンドの有効な設定を保持します。フォームにない接続プール、操作ログ、ストレージ公開 URL/接頭辞、Redis 再試行、ベクトル検索設定も対象です。自前構成とクラウド開通は接続先・認証だけを更新し、古い URL、TLS/クラスター設定、認証情報を引き継ぎません。SMTP 送信元と LDAP 属性対応は保持します。バックエンド変更時は非互換項目を除去します。 生成処理は個別変数を優先し、配列は JSON を維持します。手書き JSON はモジュール細項の前に置く基礎値で、同一ソースの細項が優先されます。動的辞書、JSON テキスト、明示的な空オブジェクトの意味を維持します。全体置換を展開する際は最上位の `{}` リセットを残し、古い YAML フィールドの復活を防ぎます。コンテナー内パスは配布物のみ変更します。
|
|
129
129
|
|
package/README.md
CHANGED
|
@@ -136,7 +136,7 @@ SSH 参数保存到选中环境的 `.env.<环境>.local`。`--bundle-only` 在
|
|
|
136
136
|
|
|
137
137
|
#### 按应用真正需要的中间件处理
|
|
138
138
|
|
|
139
|
-
|
|
139
|
+
根据目标应用锁文件的运行依赖和模块配置识别数据库、缓存、文件存储、向量库、LDAP、邮件等;仅保留注释配置不会启用模块。LDAP 只有在有效配置 `iam.login.ldap=true` 时才列入部署需求,未启用时不询问。逐项选择默认、自定义或保持。目标环境已有完整配置时,`--yes` 保持原值,不重新输入或重复云开通;交互模式仍可选择本次处理范围。配置完备可用 `--skip-middleware` 跳过向导和开通。SQLite、Memory cache、本地存储不产生外部镜像;Compose 自建服务的镜像自动加入完整交付包。外部服务仍需目标网络可达,云开通不属于完全离线部署。
|
|
140
140
|
|
|
141
141
|
默认和自定义模式均保留同后端的有效配置,包括表单未展示的连接池、操作日志、存储公开端点/前缀、Redis 重试和向量检索选项。自建与云开通仅重新定稿实际连接和认证;旧 URL、TLS/集群模式与凭据不能覆盖新服务,SMTP 发件人和 LDAP 属性映射继续保留。切换后端时清除不兼容字段。 生成端优先写细项,数组保留 JSON;手写 JSON 允许兜底,放在对应模块细项之前。同源细项覆盖 JSON,动态字典、JSON 文本和显式空对象保留原义;整体替换展开时以最上层 `{}` 标记阻止旧 YAML 字段恢复。容器路径只写交付配置,不反写工程源环境。
|
|
142
142
|
|
package/dist/index.d.ts
CHANGED
|
@@ -458,7 +458,7 @@ interface DeployScanOptions {
|
|
|
458
458
|
envDir?: string;
|
|
459
459
|
}
|
|
460
460
|
/**
|
|
461
|
-
*
|
|
461
|
+
* 已启用能力对应的中间件;例如 LDAP 仅在 `iam.login.ldap` 为 true 时纳入扫描。
|
|
462
462
|
* @example
|
|
463
463
|
* ```ts
|
|
464
464
|
* import type { MiddlewareRequirement } from '@h-ai/deploy'
|
package/dist/index.js
CHANGED
|
@@ -1987,6 +1987,414 @@ var deploy_config_shapes_default = {
|
|
|
1987
1987
|
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
1988
1988
|
type: "object",
|
|
1989
1989
|
properties: {
|
|
1990
|
+
acp: {
|
|
1991
|
+
type: "object",
|
|
1992
|
+
properties: {
|
|
1993
|
+
agents: {
|
|
1994
|
+
default: [],
|
|
1995
|
+
type: "array",
|
|
1996
|
+
items: {
|
|
1997
|
+
oneOf: [
|
|
1998
|
+
{
|
|
1999
|
+
type: "object",
|
|
2000
|
+
properties: {
|
|
2001
|
+
id: {
|
|
2002
|
+
type: "string",
|
|
2003
|
+
pattern: "^[a-z0-9][\\w-]{0,95}$"
|
|
2004
|
+
},
|
|
2005
|
+
name: {
|
|
2006
|
+
type: "string",
|
|
2007
|
+
minLength: 1
|
|
2008
|
+
},
|
|
2009
|
+
enabled: {
|
|
2010
|
+
default: true,
|
|
2011
|
+
type: "boolean"
|
|
2012
|
+
},
|
|
2013
|
+
adapter: {
|
|
2014
|
+
default: "generic",
|
|
2015
|
+
type: "string",
|
|
2016
|
+
minLength: 1
|
|
2017
|
+
},
|
|
2018
|
+
modelIds: {
|
|
2019
|
+
default: [],
|
|
2020
|
+
type: "array",
|
|
2021
|
+
items: {
|
|
2022
|
+
type: "string",
|
|
2023
|
+
minLength: 1
|
|
2024
|
+
}
|
|
2025
|
+
},
|
|
2026
|
+
defaultModelId: {
|
|
2027
|
+
type: "string",
|
|
2028
|
+
minLength: 1
|
|
2029
|
+
},
|
|
2030
|
+
environmentRefs: {
|
|
2031
|
+
default: {},
|
|
2032
|
+
type: "object",
|
|
2033
|
+
propertyNames: {
|
|
2034
|
+
type: "string",
|
|
2035
|
+
pattern: "^[A-Z_]\\w*$"
|
|
2036
|
+
},
|
|
2037
|
+
additionalProperties: {
|
|
2038
|
+
type: "string",
|
|
2039
|
+
pattern: "^[A-Z_]\\w*$"
|
|
2040
|
+
}
|
|
2041
|
+
},
|
|
2042
|
+
mode: {
|
|
2043
|
+
type: "string",
|
|
2044
|
+
const: "custom-service"
|
|
2045
|
+
},
|
|
2046
|
+
transport: {
|
|
2047
|
+
type: "string",
|
|
2048
|
+
enum: [
|
|
2049
|
+
"http",
|
|
2050
|
+
"ws"
|
|
2051
|
+
]
|
|
2052
|
+
},
|
|
2053
|
+
url: {
|
|
2054
|
+
type: "string",
|
|
2055
|
+
format: "uri"
|
|
2056
|
+
},
|
|
2057
|
+
headerEnv: {
|
|
2058
|
+
default: {},
|
|
2059
|
+
type: "object",
|
|
2060
|
+
propertyNames: {
|
|
2061
|
+
type: "string"
|
|
2062
|
+
},
|
|
2063
|
+
additionalProperties: {
|
|
2064
|
+
type: "string"
|
|
2065
|
+
}
|
|
2066
|
+
},
|
|
2067
|
+
supportedTransports: {
|
|
2068
|
+
minItems: 1,
|
|
2069
|
+
type: "array",
|
|
2070
|
+
items: {
|
|
2071
|
+
type: "string",
|
|
2072
|
+
enum: [
|
|
2073
|
+
"http",
|
|
2074
|
+
"ws"
|
|
2075
|
+
]
|
|
2076
|
+
}
|
|
2077
|
+
}
|
|
2078
|
+
},
|
|
2079
|
+
required: [
|
|
2080
|
+
"id",
|
|
2081
|
+
"name",
|
|
2082
|
+
"mode",
|
|
2083
|
+
"transport",
|
|
2084
|
+
"url",
|
|
2085
|
+
"supportedTransports"
|
|
2086
|
+
],
|
|
2087
|
+
additionalProperties: false
|
|
2088
|
+
},
|
|
2089
|
+
{
|
|
2090
|
+
type: "object",
|
|
2091
|
+
properties: {
|
|
2092
|
+
id: {
|
|
2093
|
+
type: "string",
|
|
2094
|
+
pattern: "^[a-z0-9][\\w-]{0,95}$"
|
|
2095
|
+
},
|
|
2096
|
+
name: {
|
|
2097
|
+
type: "string",
|
|
2098
|
+
minLength: 1
|
|
2099
|
+
},
|
|
2100
|
+
enabled: {
|
|
2101
|
+
default: true,
|
|
2102
|
+
type: "boolean"
|
|
2103
|
+
},
|
|
2104
|
+
adapter: {
|
|
2105
|
+
default: "generic",
|
|
2106
|
+
type: "string",
|
|
2107
|
+
minLength: 1
|
|
2108
|
+
},
|
|
2109
|
+
modelIds: {
|
|
2110
|
+
default: [],
|
|
2111
|
+
type: "array",
|
|
2112
|
+
items: {
|
|
2113
|
+
type: "string",
|
|
2114
|
+
minLength: 1
|
|
2115
|
+
}
|
|
2116
|
+
},
|
|
2117
|
+
defaultModelId: {
|
|
2118
|
+
type: "string",
|
|
2119
|
+
minLength: 1
|
|
2120
|
+
},
|
|
2121
|
+
environmentRefs: {
|
|
2122
|
+
default: {},
|
|
2123
|
+
type: "object",
|
|
2124
|
+
propertyNames: {
|
|
2125
|
+
type: "string",
|
|
2126
|
+
pattern: "^[A-Z_]\\w*$"
|
|
2127
|
+
},
|
|
2128
|
+
additionalProperties: {
|
|
2129
|
+
type: "string",
|
|
2130
|
+
pattern: "^[A-Z_]\\w*$"
|
|
2131
|
+
}
|
|
2132
|
+
},
|
|
2133
|
+
command: {
|
|
2134
|
+
type: "string",
|
|
2135
|
+
minLength: 1
|
|
2136
|
+
},
|
|
2137
|
+
args: {
|
|
2138
|
+
type: "array",
|
|
2139
|
+
items: {
|
|
2140
|
+
type: "string"
|
|
2141
|
+
}
|
|
2142
|
+
},
|
|
2143
|
+
mode: {
|
|
2144
|
+
type: "string",
|
|
2145
|
+
const: "embedded"
|
|
2146
|
+
},
|
|
2147
|
+
transport: {
|
|
2148
|
+
default: "stdio",
|
|
2149
|
+
type: "string",
|
|
2150
|
+
const: "stdio"
|
|
2151
|
+
}
|
|
2152
|
+
},
|
|
2153
|
+
required: [
|
|
2154
|
+
"id",
|
|
2155
|
+
"name",
|
|
2156
|
+
"mode"
|
|
2157
|
+
],
|
|
2158
|
+
additionalProperties: false
|
|
2159
|
+
},
|
|
2160
|
+
{
|
|
2161
|
+
type: "object",
|
|
2162
|
+
properties: {
|
|
2163
|
+
id: {
|
|
2164
|
+
type: "string",
|
|
2165
|
+
pattern: "^[a-z0-9][\\w-]{0,95}$"
|
|
2166
|
+
},
|
|
2167
|
+
name: {
|
|
2168
|
+
type: "string",
|
|
2169
|
+
minLength: 1
|
|
2170
|
+
},
|
|
2171
|
+
enabled: {
|
|
2172
|
+
default: true,
|
|
2173
|
+
type: "boolean"
|
|
2174
|
+
},
|
|
2175
|
+
adapter: {
|
|
2176
|
+
default: "generic",
|
|
2177
|
+
type: "string",
|
|
2178
|
+
minLength: 1
|
|
2179
|
+
},
|
|
2180
|
+
modelIds: {
|
|
2181
|
+
default: [],
|
|
2182
|
+
type: "array",
|
|
2183
|
+
items: {
|
|
2184
|
+
type: "string",
|
|
2185
|
+
minLength: 1
|
|
2186
|
+
}
|
|
2187
|
+
},
|
|
2188
|
+
defaultModelId: {
|
|
2189
|
+
type: "string",
|
|
2190
|
+
minLength: 1
|
|
2191
|
+
},
|
|
2192
|
+
environmentRefs: {
|
|
2193
|
+
default: {},
|
|
2194
|
+
type: "object",
|
|
2195
|
+
propertyNames: {
|
|
2196
|
+
type: "string",
|
|
2197
|
+
pattern: "^[A-Z_]\\w*$"
|
|
2198
|
+
},
|
|
2199
|
+
additionalProperties: {
|
|
2200
|
+
type: "string",
|
|
2201
|
+
pattern: "^[A-Z_]\\w*$"
|
|
2202
|
+
}
|
|
2203
|
+
},
|
|
2204
|
+
command: {
|
|
2205
|
+
type: "string",
|
|
2206
|
+
minLength: 1
|
|
2207
|
+
},
|
|
2208
|
+
args: {
|
|
2209
|
+
type: "array",
|
|
2210
|
+
items: {
|
|
2211
|
+
type: "string"
|
|
2212
|
+
}
|
|
2213
|
+
},
|
|
2214
|
+
mode: {
|
|
2215
|
+
type: "string",
|
|
2216
|
+
const: "builtin-service"
|
|
2217
|
+
},
|
|
2218
|
+
transport: {
|
|
2219
|
+
default: "stdio",
|
|
2220
|
+
type: "string",
|
|
2221
|
+
const: "stdio"
|
|
2222
|
+
},
|
|
2223
|
+
image: {
|
|
2224
|
+
type: "string",
|
|
2225
|
+
minLength: 1
|
|
2226
|
+
},
|
|
2227
|
+
engine: {
|
|
2228
|
+
default: "auto",
|
|
2229
|
+
type: "string",
|
|
2230
|
+
enum: [
|
|
2231
|
+
"auto",
|
|
2232
|
+
"podman",
|
|
2233
|
+
"docker"
|
|
2234
|
+
]
|
|
2235
|
+
}
|
|
2236
|
+
},
|
|
2237
|
+
required: [
|
|
2238
|
+
"id",
|
|
2239
|
+
"name",
|
|
2240
|
+
"mode",
|
|
2241
|
+
"image"
|
|
2242
|
+
],
|
|
2243
|
+
additionalProperties: false
|
|
2244
|
+
}
|
|
2245
|
+
]
|
|
2246
|
+
}
|
|
2247
|
+
},
|
|
2248
|
+
workspaces: {
|
|
2249
|
+
default: [],
|
|
2250
|
+
type: "array",
|
|
2251
|
+
items: {
|
|
2252
|
+
type: "object",
|
|
2253
|
+
properties: {
|
|
2254
|
+
id: {
|
|
2255
|
+
type: "string",
|
|
2256
|
+
pattern: "^[a-z0-9][\\w-]{0,95}$"
|
|
2257
|
+
},
|
|
2258
|
+
storage: {
|
|
2259
|
+
oneOf: [
|
|
2260
|
+
{
|
|
2261
|
+
type: "object",
|
|
2262
|
+
properties: {
|
|
2263
|
+
type: {
|
|
2264
|
+
type: "string",
|
|
2265
|
+
const: "directory"
|
|
2266
|
+
},
|
|
2267
|
+
path: {
|
|
2268
|
+
type: "string",
|
|
2269
|
+
minLength: 1
|
|
2270
|
+
}
|
|
2271
|
+
},
|
|
2272
|
+
required: [
|
|
2273
|
+
"type",
|
|
2274
|
+
"path"
|
|
2275
|
+
],
|
|
2276
|
+
additionalProperties: false
|
|
2277
|
+
},
|
|
2278
|
+
{
|
|
2279
|
+
type: "object",
|
|
2280
|
+
properties: {
|
|
2281
|
+
type: {
|
|
2282
|
+
type: "string",
|
|
2283
|
+
const: "volume"
|
|
2284
|
+
},
|
|
2285
|
+
name: {
|
|
2286
|
+
type: "string",
|
|
2287
|
+
pattern: "^[a-z0-9][\\w-]{0,95}$"
|
|
2288
|
+
},
|
|
2289
|
+
engine: {
|
|
2290
|
+
default: "auto",
|
|
2291
|
+
type: "string",
|
|
2292
|
+
enum: [
|
|
2293
|
+
"auto",
|
|
2294
|
+
"podman",
|
|
2295
|
+
"docker"
|
|
2296
|
+
]
|
|
2297
|
+
},
|
|
2298
|
+
image: {
|
|
2299
|
+
type: "string",
|
|
2300
|
+
minLength: 1
|
|
2301
|
+
}
|
|
2302
|
+
},
|
|
2303
|
+
required: [
|
|
2304
|
+
"type",
|
|
2305
|
+
"name",
|
|
2306
|
+
"image"
|
|
2307
|
+
],
|
|
2308
|
+
additionalProperties: false
|
|
2309
|
+
}
|
|
2310
|
+
]
|
|
2311
|
+
},
|
|
2312
|
+
repositories: {
|
|
2313
|
+
default: [],
|
|
2314
|
+
type: "array",
|
|
2315
|
+
items: {
|
|
2316
|
+
type: "object",
|
|
2317
|
+
properties: {
|
|
2318
|
+
id: {
|
|
2319
|
+
type: "string",
|
|
2320
|
+
pattern: "^[a-z0-9][\\w-]{0,95}$"
|
|
2321
|
+
},
|
|
2322
|
+
url: {
|
|
2323
|
+
type: "string",
|
|
2324
|
+
minLength: 1
|
|
2325
|
+
},
|
|
2326
|
+
mainBranch: {
|
|
2327
|
+
type: "string",
|
|
2328
|
+
minLength: 1,
|
|
2329
|
+
maxLength: 240
|
|
2330
|
+
},
|
|
2331
|
+
remote: {
|
|
2332
|
+
default: "origin",
|
|
2333
|
+
type: "string",
|
|
2334
|
+
pattern: "^[a-z0-9][\\w-]{0,95}$"
|
|
2335
|
+
}
|
|
2336
|
+
},
|
|
2337
|
+
required: [
|
|
2338
|
+
"id",
|
|
2339
|
+
"url",
|
|
2340
|
+
"mainBranch"
|
|
2341
|
+
],
|
|
2342
|
+
additionalProperties: false
|
|
2343
|
+
}
|
|
2344
|
+
},
|
|
2345
|
+
environmentRefs: {
|
|
2346
|
+
default: {},
|
|
2347
|
+
type: "object",
|
|
2348
|
+
propertyNames: {
|
|
2349
|
+
type: "string",
|
|
2350
|
+
pattern: "^[A-Z_]\\w*$"
|
|
2351
|
+
},
|
|
2352
|
+
additionalProperties: {
|
|
2353
|
+
type: "string",
|
|
2354
|
+
pattern: "^[A-Z_]\\w*$"
|
|
2355
|
+
}
|
|
2356
|
+
}
|
|
2357
|
+
},
|
|
2358
|
+
required: [
|
|
2359
|
+
"id",
|
|
2360
|
+
"storage"
|
|
2361
|
+
],
|
|
2362
|
+
additionalProperties: false
|
|
2363
|
+
}
|
|
2364
|
+
},
|
|
2365
|
+
requestTimeout: {
|
|
2366
|
+
default: 3e4,
|
|
2367
|
+
type: "integer",
|
|
2368
|
+
exclusiveMinimum: 0,
|
|
2369
|
+
maximum: 9007199254740991
|
|
2370
|
+
},
|
|
2371
|
+
promptTimeout: {
|
|
2372
|
+
default: 6e5,
|
|
2373
|
+
type: "integer",
|
|
2374
|
+
exclusiveMinimum: 0,
|
|
2375
|
+
maximum: 9007199254740991
|
|
2376
|
+
},
|
|
2377
|
+
cancelTimeout: {
|
|
2378
|
+
default: 5e3,
|
|
2379
|
+
type: "integer",
|
|
2380
|
+
exclusiveMinimum: 0,
|
|
2381
|
+
maximum: 9007199254740991
|
|
2382
|
+
},
|
|
2383
|
+
maxContentBytes: {
|
|
2384
|
+
default: 8388608,
|
|
2385
|
+
type: "integer",
|
|
2386
|
+
exclusiveMinimum: 0,
|
|
2387
|
+
maximum: 9007199254740991
|
|
2388
|
+
},
|
|
2389
|
+
maxPendingEvents: {
|
|
2390
|
+
default: 1024,
|
|
2391
|
+
type: "integer",
|
|
2392
|
+
exclusiveMinimum: 0,
|
|
2393
|
+
maximum: 9007199254740991
|
|
2394
|
+
}
|
|
2395
|
+
},
|
|
2396
|
+
additionalProperties: false
|
|
2397
|
+
},
|
|
1990
2398
|
llm: {
|
|
1991
2399
|
type: "object",
|
|
1992
2400
|
properties: {
|
|
@@ -2042,6 +2450,71 @@ var deploy_config_shapes_default = {
|
|
|
2042
2450
|
id: {
|
|
2043
2451
|
type: "string"
|
|
2044
2452
|
},
|
|
2453
|
+
capabilities: {
|
|
2454
|
+
type: "object",
|
|
2455
|
+
properties: {
|
|
2456
|
+
contextWindow: {
|
|
2457
|
+
type: "integer",
|
|
2458
|
+
exclusiveMinimum: 0,
|
|
2459
|
+
maximum: 9007199254740991
|
|
2460
|
+
},
|
|
2461
|
+
maxOutputTokens: {
|
|
2462
|
+
type: "integer",
|
|
2463
|
+
exclusiveMinimum: 0,
|
|
2464
|
+
maximum: 9007199254740991
|
|
2465
|
+
},
|
|
2466
|
+
inputModalities: {
|
|
2467
|
+
minItems: 1,
|
|
2468
|
+
type: "array",
|
|
2469
|
+
items: {
|
|
2470
|
+
type: "string",
|
|
2471
|
+
enum: [
|
|
2472
|
+
"text",
|
|
2473
|
+
"image",
|
|
2474
|
+
"audio",
|
|
2475
|
+
"video"
|
|
2476
|
+
]
|
|
2477
|
+
}
|
|
2478
|
+
},
|
|
2479
|
+
outputModalities: {
|
|
2480
|
+
minItems: 1,
|
|
2481
|
+
type: "array",
|
|
2482
|
+
items: {
|
|
2483
|
+
type: "string",
|
|
2484
|
+
enum: [
|
|
2485
|
+
"text",
|
|
2486
|
+
"image",
|
|
2487
|
+
"audio",
|
|
2488
|
+
"video"
|
|
2489
|
+
]
|
|
2490
|
+
}
|
|
2491
|
+
},
|
|
2492
|
+
toolCalling: {
|
|
2493
|
+
type: "boolean"
|
|
2494
|
+
},
|
|
2495
|
+
reasoning: {
|
|
2496
|
+
type: "object",
|
|
2497
|
+
properties: {
|
|
2498
|
+
supported: {
|
|
2499
|
+
type: "boolean"
|
|
2500
|
+
},
|
|
2501
|
+
efforts: {
|
|
2502
|
+
minItems: 1,
|
|
2503
|
+
type: "array",
|
|
2504
|
+
items: {
|
|
2505
|
+
type: "string",
|
|
2506
|
+
minLength: 1
|
|
2507
|
+
}
|
|
2508
|
+
}
|
|
2509
|
+
},
|
|
2510
|
+
required: [
|
|
2511
|
+
"supported"
|
|
2512
|
+
],
|
|
2513
|
+
additionalProperties: false
|
|
2514
|
+
}
|
|
2515
|
+
},
|
|
2516
|
+
additionalProperties: false
|
|
2517
|
+
},
|
|
2045
2518
|
model: {
|
|
2046
2519
|
type: "string"
|
|
2047
2520
|
},
|
|
@@ -2128,6 +2601,71 @@ var deploy_config_shapes_default = {
|
|
|
2128
2601
|
mcp: {
|
|
2129
2602
|
type: "object",
|
|
2130
2603
|
properties: {
|
|
2604
|
+
servers: {
|
|
2605
|
+
type: "array",
|
|
2606
|
+
items: {
|
|
2607
|
+
type: "object",
|
|
2608
|
+
properties: {
|
|
2609
|
+
id: {
|
|
2610
|
+
type: "string",
|
|
2611
|
+
minLength: 1
|
|
2612
|
+
},
|
|
2613
|
+
name: {
|
|
2614
|
+
type: "string",
|
|
2615
|
+
minLength: 1
|
|
2616
|
+
},
|
|
2617
|
+
transport: {
|
|
2618
|
+
type: "string",
|
|
2619
|
+
enum: [
|
|
2620
|
+
"stdio",
|
|
2621
|
+
"http",
|
|
2622
|
+
"sse"
|
|
2623
|
+
]
|
|
2624
|
+
},
|
|
2625
|
+
command: {
|
|
2626
|
+
type: "string",
|
|
2627
|
+
minLength: 1
|
|
2628
|
+
},
|
|
2629
|
+
args: {
|
|
2630
|
+
default: [],
|
|
2631
|
+
type: "array",
|
|
2632
|
+
items: {
|
|
2633
|
+
type: "string"
|
|
2634
|
+
}
|
|
2635
|
+
},
|
|
2636
|
+
url: {
|
|
2637
|
+
type: "string",
|
|
2638
|
+
format: "uri"
|
|
2639
|
+
},
|
|
2640
|
+
environmentRefs: {
|
|
2641
|
+
default: {},
|
|
2642
|
+
type: "object",
|
|
2643
|
+
propertyNames: {
|
|
2644
|
+
type: "string"
|
|
2645
|
+
},
|
|
2646
|
+
additionalProperties: {
|
|
2647
|
+
type: "string"
|
|
2648
|
+
}
|
|
2649
|
+
},
|
|
2650
|
+
headerEnv: {
|
|
2651
|
+
default: {},
|
|
2652
|
+
type: "object",
|
|
2653
|
+
propertyNames: {
|
|
2654
|
+
type: "string"
|
|
2655
|
+
},
|
|
2656
|
+
additionalProperties: {
|
|
2657
|
+
type: "string"
|
|
2658
|
+
}
|
|
2659
|
+
}
|
|
2660
|
+
},
|
|
2661
|
+
required: [
|
|
2662
|
+
"id",
|
|
2663
|
+
"name",
|
|
2664
|
+
"transport"
|
|
2665
|
+
],
|
|
2666
|
+
additionalProperties: false
|
|
2667
|
+
}
|
|
2668
|
+
},
|
|
2131
2669
|
server: {
|
|
2132
2670
|
type: "object",
|
|
2133
2671
|
properties: {
|
|
@@ -5851,6 +6389,7 @@ async function scanApp(inputDir, options) {
|
|
|
5851
6389
|
const env = loaded.data.values;
|
|
5852
6390
|
const deps = graph.runtime;
|
|
5853
6391
|
const configs = {};
|
|
6392
|
+
const enabledConfigs = /* @__PURE__ */ new Set();
|
|
5854
6393
|
for (const [name, owner] of Object.entries({ db: "reldb", cache: "cache", storage: "storage", vecdb: "vecdb", iam: "iam", reach: "reach" })) {
|
|
5855
6394
|
configs[name] = {};
|
|
5856
6395
|
if (!deps.has(`@h-ai/${owner}`))
|
|
@@ -5860,26 +6399,28 @@ async function scanApp(inputDir, options) {
|
|
|
5860
6399
|
if (config && !config.success)
|
|
5861
6400
|
return config;
|
|
5862
6401
|
configs[name] = config?.data ?? {};
|
|
6402
|
+
if (!configFile || Object.keys(configs[name]).length)
|
|
6403
|
+
enabledConfigs.add(name);
|
|
5863
6404
|
}
|
|
5864
6405
|
const middlewares = [];
|
|
5865
6406
|
const add = (service, backend, configName = service, configPath = [], config = configs[configName] ?? {}, source = `_${configName}.yml`) => {
|
|
5866
6407
|
middlewares.push({ service, backend, source, configName, configPath, envPrefix: ["HAI", configName, ...configPath].map((part) => part.toUpperCase()).join("_"), config });
|
|
5867
6408
|
};
|
|
5868
|
-
const iam =
|
|
5869
|
-
if (
|
|
6409
|
+
const iam = enabledConfigs.has("iam");
|
|
6410
|
+
if (enabledConfigs.has("db"))
|
|
5870
6411
|
add("db", String(configs.db.type ?? "sqlite"), "db", [], configs.db, "@h-ai/reldb / _db.yml");
|
|
5871
|
-
if (
|
|
6412
|
+
if (enabledConfigs.has("cache"))
|
|
5872
6413
|
add("cache", String(configs.cache.type ?? "memory"), "cache", [], configs.cache, "@h-ai/cache / _cache.yml");
|
|
5873
|
-
if (
|
|
6414
|
+
if (enabledConfigs.has("storage"))
|
|
5874
6415
|
add("storage", String(configs.storage.type ?? "local"));
|
|
5875
|
-
if (
|
|
6416
|
+
if (enabledConfigs.has("vecdb"))
|
|
5876
6417
|
add("vecdb", String(configs.vecdb.type ?? "lancedb"));
|
|
5877
|
-
if (iam) {
|
|
6418
|
+
if (iam && record(configs.iam.login).ldap === true) {
|
|
5878
6419
|
const ldap = record(configs.iam.ldap);
|
|
5879
|
-
add("ldap",
|
|
6420
|
+
add("ldap", "ldap", "iam", ["ldap"], ldap, "@h-ai/iam (LDAP)");
|
|
5880
6421
|
}
|
|
5881
6422
|
const providers = configs.reach.providers;
|
|
5882
|
-
if (
|
|
6423
|
+
if (enabledConfigs.has("reach") && Array.isArray(providers)) {
|
|
5883
6424
|
for (const [index, item] of providers.entries()) {
|
|
5884
6425
|
const provider = record(item);
|
|
5885
6426
|
const type = String(provider.type ?? "");
|
|
@@ -5888,7 +6429,7 @@ async function scanApp(inputDir, options) {
|
|
|
5888
6429
|
add(service, type, "reach", ["providers", String(index)], provider, "@h-ai/reach");
|
|
5889
6430
|
}
|
|
5890
6431
|
}
|
|
5891
|
-
if (
|
|
6432
|
+
if (enabledConfigs.has("reach") && !middlewares.some((item) => item.configName === "reach"))
|
|
5892
6433
|
add("email", "console", "reach", ["providers", "0"], { name: "email", type: "console" }, "@h-ai/reach");
|
|
5893
6434
|
const isSvelteKit = graph.build.has("@sveltejs/kit");
|
|
5894
6435
|
const scan = {
|