@helyx/cli 0.1.4 → 0.2.0
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/CHANGELOG.md +13 -0
- package/dist/self-host/catalogue.d.ts +20 -0
- package/dist/self-host/catalogue.js +4 -0
- package/dist/self-host/project-generator.js +33 -0
- package/package.json +4 -4
- package/self-host-catalogue.json +3 -1
- package/templates/self-host/.env.example +11 -0
- package/templates/self-host/gitignore.template +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.2.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 7b25ea0: Add the opt-in Helyx Cloud Connect configuration, local persistence, connector runtime, support-redaction contract and generated self-host environment guidance. Cloud Connect remains disabled until a deployment owner explicitly configures and enrols it.
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- Updated dependencies [7b25ea0]
|
|
12
|
+
- @helyx/config@0.2.0
|
|
13
|
+
- @helyx/database@0.2.0
|
|
14
|
+
- @helyx/bot@0.2.0
|
|
15
|
+
|
|
3
16
|
## 0.1.4 - 2026-07-23
|
|
4
17
|
|
|
5
18
|
- Generate self-hosted projects with the interaction-timeout fix and refreshed
|
|
@@ -20,6 +20,16 @@ export declare const selfHostModuleSchema: z.ZodObject<{
|
|
|
20
20
|
unpublished: "unpublished";
|
|
21
21
|
published: "published";
|
|
22
22
|
}>;
|
|
23
|
+
releaseStatus: z.ZodOptional<z.ZodEnum<{
|
|
24
|
+
planned: "planned";
|
|
25
|
+
testing: "testing";
|
|
26
|
+
beta: "beta";
|
|
27
|
+
live: "live";
|
|
28
|
+
}>>;
|
|
29
|
+
tier: z.ZodOptional<z.ZodEnum<{
|
|
30
|
+
free: "free";
|
|
31
|
+
premium: "premium";
|
|
32
|
+
}>>;
|
|
23
33
|
}, z.core.$strict>;
|
|
24
34
|
export declare const selfHostCatalogueSchema: z.ZodObject<{
|
|
25
35
|
schemaVersion: z.ZodLiteral<1>;
|
|
@@ -61,6 +71,16 @@ export declare const selfHostCatalogueSchema: z.ZodObject<{
|
|
|
61
71
|
unpublished: "unpublished";
|
|
62
72
|
published: "published";
|
|
63
73
|
}>;
|
|
74
|
+
releaseStatus: z.ZodOptional<z.ZodEnum<{
|
|
75
|
+
planned: "planned";
|
|
76
|
+
testing: "testing";
|
|
77
|
+
beta: "beta";
|
|
78
|
+
live: "live";
|
|
79
|
+
}>>;
|
|
80
|
+
tier: z.ZodOptional<z.ZodEnum<{
|
|
81
|
+
free: "free";
|
|
82
|
+
premium: "premium";
|
|
83
|
+
}>>;
|
|
64
84
|
}, z.core.$strict>>;
|
|
65
85
|
}, z.core.$strict>;
|
|
66
86
|
export type SelfHostModule = z.infer<typeof selfHostModuleSchema>;
|
|
@@ -23,6 +23,8 @@ const moduleId = z
|
|
|
23
23
|
.string()
|
|
24
24
|
.regex(/^helyx\.[a-z0-9][a-z0-9-]*$/u, "must be a Helyx module ID");
|
|
25
25
|
const availability = z.enum(["planned", "unpublished", "published"]);
|
|
26
|
+
const releaseStatus = z.enum(["planned", "testing", "beta", "live"]);
|
|
27
|
+
const moduleTier = z.enum(["free", "premium"]);
|
|
26
28
|
const componentSchema = z
|
|
27
29
|
.object({
|
|
28
30
|
package: helyxPackage,
|
|
@@ -47,6 +49,8 @@ export const selfHostModuleSchema = z
|
|
|
47
49
|
description: z.string().trim().min(1).max(300),
|
|
48
50
|
category: z.enum(selfHostCategories),
|
|
49
51
|
availability,
|
|
52
|
+
releaseStatus: releaseStatus.optional(),
|
|
53
|
+
tier: moduleTier.optional(),
|
|
50
54
|
})
|
|
51
55
|
.strict()
|
|
52
56
|
.superRefine((module, context) => {
|
|
@@ -238,6 +238,39 @@ export const selfHostEnvironmentContract = {
|
|
|
238
238
|
optional: true,
|
|
239
239
|
},
|
|
240
240
|
HELYX_BOT_CONTROL_PORT: { value: "3001", optional: true },
|
|
241
|
+
HELYX_CLOUD_CONNECT_ENABLED: { value: "false", optional: false },
|
|
242
|
+
HELYX_CLOUD_ENROLMENT_TOKEN: {
|
|
243
|
+
value: "replace-with-a-short-lived-enrolment-code",
|
|
244
|
+
optional: true,
|
|
245
|
+
},
|
|
246
|
+
HELYX_CLOUD_ENROLMENT_FILE: {
|
|
247
|
+
value: "./helyx.cloud-enrolment.json",
|
|
248
|
+
optional: true,
|
|
249
|
+
},
|
|
250
|
+
HELYX_DATA_ENCRYPTION_KEY: {
|
|
251
|
+
value: "replace-with-a-base64-encoded-32-byte-key",
|
|
252
|
+
optional: true,
|
|
253
|
+
},
|
|
254
|
+
HELYX_CLOUD_API_URL: {
|
|
255
|
+
value: "https://api.helyx.gg",
|
|
256
|
+
optional: true,
|
|
257
|
+
},
|
|
258
|
+
HELYX_CLOUD_ENDPOINT: {
|
|
259
|
+
value: "wss://connect.helyx.gg/v1/connect",
|
|
260
|
+
optional: true,
|
|
261
|
+
},
|
|
262
|
+
HELYX_OWNER_USER_IDS: {
|
|
263
|
+
value: "12345678901234567",
|
|
264
|
+
optional: true,
|
|
265
|
+
},
|
|
266
|
+
HELYX_CLOUD_AUDIT_RETENTION_DAYS: {
|
|
267
|
+
value: "90",
|
|
268
|
+
optional: true,
|
|
269
|
+
},
|
|
270
|
+
HELYX_CLOUD_CREDENTIAL_AUDIT_RETENTION_DAYS: {
|
|
271
|
+
value: "365",
|
|
272
|
+
optional: true,
|
|
273
|
+
},
|
|
241
274
|
LOG_LEVEL: { value: "info", optional: false },
|
|
242
275
|
NODE_ENV: { value: "production", optional: false },
|
|
243
276
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@helyx/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Command-line tools for running and generating self-hosted Helyx deployments.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"helyx",
|
|
@@ -52,9 +52,9 @@
|
|
|
52
52
|
"build": "tsc -b"
|
|
53
53
|
},
|
|
54
54
|
"dependencies": {
|
|
55
|
-
"@helyx/bot": "0.
|
|
56
|
-
"@helyx/config": "0.
|
|
57
|
-
"@helyx/database": "0.
|
|
55
|
+
"@helyx/bot": "0.2.0",
|
|
56
|
+
"@helyx/config": "0.2.0",
|
|
57
|
+
"@helyx/database": "0.2.0",
|
|
58
58
|
"semver": "7.8.5",
|
|
59
59
|
"zod": "4.4.3"
|
|
60
60
|
},
|
package/self-host-catalogue.json
CHANGED
|
@@ -92,7 +92,9 @@
|
|
|
92
92
|
"name": "Verification",
|
|
93
93
|
"description": "Add a deliberate member verification step.",
|
|
94
94
|
"category": "Safety",
|
|
95
|
-
"availability": "planned"
|
|
95
|
+
"availability": "planned",
|
|
96
|
+
"releaseStatus": "testing",
|
|
97
|
+
"tier": "premium"
|
|
96
98
|
},
|
|
97
99
|
{
|
|
98
100
|
"id": "helyx.antiraid",
|
|
@@ -21,6 +21,17 @@ HELYX_MODULE_CATALOGUE_PATH=./helyx.modules.json
|
|
|
21
21
|
# HELYX_BOT_CONTROL_SECRET=replace-with-a-base64-encoded-32-byte-key
|
|
22
22
|
# HELYX_BOT_CONTROL_PORT=3001
|
|
23
23
|
|
|
24
|
+
# Optional Helyx Cloud Connect. It remains fully disabled unless set to true.
|
|
25
|
+
HELYX_CLOUD_CONNECT_ENABLED=false
|
|
26
|
+
# HELYX_CLOUD_ENROLMENT_TOKEN=replace-with-a-short-lived-enrolment-code
|
|
27
|
+
# HELYX_CLOUD_ENROLMENT_FILE=./helyx.cloud-enrolment.json
|
|
28
|
+
# HELYX_DATA_ENCRYPTION_KEY=replace-with-a-base64-encoded-32-byte-key
|
|
29
|
+
# HELYX_CLOUD_API_URL=https://api.helyx.gg
|
|
30
|
+
# HELYX_CLOUD_ENDPOINT=wss://connect.helyx.gg/v1/connect
|
|
31
|
+
# HELYX_OWNER_USER_IDS=12345678901234567
|
|
32
|
+
# HELYX_CLOUD_AUDIT_RETENTION_DAYS=90
|
|
33
|
+
# HELYX_CLOUD_CREDENTIAL_AUDIT_RETENTION_DAYS=365
|
|
34
|
+
|
|
24
35
|
LOG_LEVEL=info
|
|
25
36
|
NODE_ENV=production
|
|
26
37
|
|