@helyx/cli 0.1.4 → 0.2.1
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 +19 -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 +10 -8
- package/templates/self-host/.env.example +11 -0
- package/templates/self-host/gitignore.template +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.2.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Generate self-hosted projects with the published Cloud Connect-capable Bot and refreshed official module versions.
|
|
8
|
+
|
|
9
|
+
## 0.2.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- 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.
|
|
14
|
+
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- Updated dependencies [7b25ea0]
|
|
18
|
+
- @helyx/config@0.2.0
|
|
19
|
+
- @helyx/database@0.2.0
|
|
20
|
+
- @helyx/bot@0.2.0
|
|
21
|
+
|
|
3
22
|
## 0.1.4 - 2026-07-23
|
|
4
23
|
|
|
5
24
|
- 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.1
|
|
3
|
+
"version": "0.2.1",
|
|
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
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
|
-
"catalogueVersion":
|
|
3
|
+
"catalogueVersion": 9,
|
|
4
4
|
"core": {
|
|
5
5
|
"package": "@helyx/bot",
|
|
6
|
-
"version": "0.
|
|
6
|
+
"version": "0.2.0",
|
|
7
7
|
"availability": "published"
|
|
8
8
|
},
|
|
9
9
|
"generator": {
|
|
10
10
|
"package": "@helyx/cli",
|
|
11
|
-
"version": "0.1
|
|
11
|
+
"version": "0.2.1",
|
|
12
12
|
"command": "helyx",
|
|
13
13
|
"availability": "published"
|
|
14
14
|
},
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
{
|
|
17
17
|
"id": "helyx.feedback",
|
|
18
18
|
"package": "@helyx/module-feedback",
|
|
19
|
-
"version": "1.0.
|
|
19
|
+
"version": "1.0.4",
|
|
20
20
|
"name": "Feedback",
|
|
21
21
|
"description": "Collect structured member feedback in a channel you choose.",
|
|
22
22
|
"category": "Community",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
{
|
|
26
26
|
"id": "helyx.welcome",
|
|
27
27
|
"package": "@helyx/module-welcome",
|
|
28
|
-
"version": "1.0.
|
|
28
|
+
"version": "1.0.4",
|
|
29
29
|
"name": "Welcome",
|
|
30
30
|
"description": "Greet new members and optionally give them a starting role.",
|
|
31
31
|
"category": "Community",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
{
|
|
35
35
|
"id": "helyx.suggestions",
|
|
36
36
|
"package": "@helyx/module-suggestions",
|
|
37
|
-
"version": "1.0.
|
|
37
|
+
"version": "1.0.4",
|
|
38
38
|
"name": "Suggestions",
|
|
39
39
|
"description": "Collect community ideas with reaction or button voting.",
|
|
40
40
|
"category": "Community",
|
|
@@ -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",
|
|
@@ -214,7 +216,7 @@
|
|
|
214
216
|
{
|
|
215
217
|
"id": "helyx.logging",
|
|
216
218
|
"package": "@helyx/module-logging",
|
|
217
|
-
"version": "1.0.
|
|
219
|
+
"version": "1.0.4",
|
|
218
220
|
"name": "Logging",
|
|
219
221
|
"description": "Post selected Helyx module activity to one server channel.",
|
|
220
222
|
"category": "Insights",
|
|
@@ -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
|
|