@zaflun/lumio-extension-types 0.4.0 → 0.4.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 +119 -0
- package/dist/index.d.ts +2 -1
- package/package.json +5 -4
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to `@zaflun/lumio-extension-types` are documented here.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## 0.4.1
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- **`CHANGELOG.md` in the package** — the npm tarball ships this changelog.
|
|
13
|
+
|
|
14
|
+
### Changed
|
|
15
|
+
|
|
16
|
+
- **zod `^4.6.7`** — the `zod` dependency range moves up from `^4.3.6`. The
|
|
17
|
+
exported schemas and types are unchanged.
|
|
18
|
+
|
|
19
|
+
## 0.4.0
|
|
20
|
+
|
|
21
|
+
### Removed
|
|
22
|
+
|
|
23
|
+
- **The `interactive` target** — `lumioExtensionConfigBaseSchema` accepts
|
|
24
|
+
only `editor` and `layer` in `targets`; a config that lists `interactive`
|
|
25
|
+
no longer validates. Viewers interact with an extension through chat
|
|
26
|
+
commands and channel point rewards handled by a bot module. Breaking.
|
|
27
|
+
|
|
28
|
+
## 0.3.3
|
|
29
|
+
|
|
30
|
+
### Changed
|
|
31
|
+
|
|
32
|
+
- **Stricter `sounds` entries** — a sound's `file` is 1 to 255 characters and
|
|
33
|
+
may not contain `..` or `\` or start with `/` ("Invalid sound file path");
|
|
34
|
+
`name` is 1 to 255 characters. A config declares at most 200 sounds.
|
|
35
|
+
- **The config schema documents its layer** — `lumioExtensionConfigBaseSchema`
|
|
36
|
+
describes the stored, snake_case extension config. The `lumio.config.json`
|
|
37
|
+
that `lumio init` writes and `lumio deploy` uploads is camelCase and is
|
|
38
|
+
validated by the server, not by this schema. The enum lists
|
|
39
|
+
(`VALID_PLATFORMS`, `VALID_ROLES`, `NODE_TYPES`, `TRIGGER_MODES`) are
|
|
40
|
+
casing-agnostic and apply to both.
|
|
41
|
+
|
|
42
|
+
### Removed
|
|
43
|
+
|
|
44
|
+
- **`trovo` in `VALID_PLATFORMS`** — the platform list is `twitch`,
|
|
45
|
+
`youtube`, `kick` and `discord`. A bot module that lists `trovo` in
|
|
46
|
+
`platforms` no longer validates. Breaking.
|
|
47
|
+
|
|
48
|
+
## 0.3.2
|
|
49
|
+
|
|
50
|
+
### Added
|
|
51
|
+
|
|
52
|
+
- **Automation nodes** — the `automation_node` extension category, with
|
|
53
|
+
`node_type` (`NODE_TYPES`: `trigger`, `action`, `logic`) and a `node` object
|
|
54
|
+
(`automationNodeSchema`: `input_schema`, `output_schema`, `trigger_mode`,
|
|
55
|
+
`poll_interval_seconds` 10 to 300, `icon`, `color`). An automation node must
|
|
56
|
+
set `node_type`, `node` and `server: true` and include `editor` in
|
|
57
|
+
`targets`; a trigger node must set `node.trigger_mode`, and only trigger
|
|
58
|
+
nodes may set `trigger_mode` or `poll_interval_seconds`. Other categories
|
|
59
|
+
may not set `node_type` or `node`.
|
|
60
|
+
- **Bundled sounds** — `sounds` in the extension config, each entry
|
|
61
|
+
`{ file, name, default_volume? }` (`lumioExtensionSoundSchema`,
|
|
62
|
+
`LumioExtensionSound`), with `default_volume` from 0 to 1.
|
|
63
|
+
- **More config fields** — `icon`, `default_install` and `designer_schema`
|
|
64
|
+
on the extension config. `default_install` is reserved for system
|
|
65
|
+
extensions: a config that sets it fails validation.
|
|
66
|
+
- **More config field types** — `textarea`, `slider`, `font`, `icon`,
|
|
67
|
+
`image`, `sound`, `multiselect`, `group`, `divider`, `info`, `channel`,
|
|
68
|
+
`designer` and `presets`. A field can carry `min`, `max`, `step`,
|
|
69
|
+
`placeholder`, `rows`, `unit`, `collapsed`, `visible_when`, `content`,
|
|
70
|
+
`multiple`, and nested `fields` for groups.
|
|
71
|
+
- **Developer profile and team fields** — `description`, `github_url`,
|
|
72
|
+
`website_url` and `avatar_key` on profiles and teams, plus `slug` on
|
|
73
|
+
profiles. New `developerTeamMemberSchema` / `DeveloperTeamMember` and
|
|
74
|
+
`developerTeamPermissionSchema` / `DeveloperTeamPermission`.
|
|
75
|
+
|
|
76
|
+
### Changed
|
|
77
|
+
|
|
78
|
+
- **`default_value` is optional** on a config field.
|
|
79
|
+
- **Team roles are objects** — `developerTeamRoleSchema` describes a team
|
|
80
|
+
role record (`id`, `team_id`, `name`, `slug`, `is_default`, `is_system`,
|
|
81
|
+
`color`, counts, timestamps) instead of the `owner` / `admin` / `member`
|
|
82
|
+
enum, because team roles are defined per team. Breaking.
|
|
83
|
+
|
|
84
|
+
### Removed
|
|
85
|
+
|
|
86
|
+
- **`DEVELOPER_TEAM_ROLES`** — fetch a team's roles from the API instead.
|
|
87
|
+
Breaking.
|
|
88
|
+
|
|
89
|
+
## 0.3.0
|
|
90
|
+
|
|
91
|
+
### Added
|
|
92
|
+
|
|
93
|
+
- **Bot module configs** — `platforms` (`VALID_PLATFORMS`) and `triggers` on
|
|
94
|
+
the extension config. `triggers` holds `commands` (up to 20; name, cooldowns,
|
|
95
|
+
`min_role` from `VALID_ROLES`, Discord options), `keywords`, `patterns`,
|
|
96
|
+
`events` and `timers` (interval of at least 60 seconds). New exports:
|
|
97
|
+
`triggerCommandSchema`, `triggerTimerSchema`, `triggerConfigSchema`,
|
|
98
|
+
`TriggerConfig`, `TriggerCommand`.
|
|
99
|
+
- **`lumioExtensionConfigBaseSchema`** — the object schema without the
|
|
100
|
+
cross-field rules, exported next to `lumioExtensionConfigSchema`.
|
|
101
|
+
|
|
102
|
+
### Changed
|
|
103
|
+
|
|
104
|
+
- **`targets` is optional** and defaults to `[]`. Every category except
|
|
105
|
+
`bot_module` still needs at least one target.
|
|
106
|
+
- **Bot module rules** — only `bot_module` extensions may set `triggers`, and
|
|
107
|
+
a `bot_module` must list at least one platform. A `bot_module` config
|
|
108
|
+
without `platforms` no longer validates. Breaking.
|
|
109
|
+
|
|
110
|
+
## 0.1.0
|
|
111
|
+
|
|
112
|
+
### Added
|
|
113
|
+
|
|
114
|
+
- **Initial release** — zod schemas and types for the Lumio extension store
|
|
115
|
+
(`Extension`, `ExtensionVersion`, `ExtensionInstall`, `ExtensionReview`),
|
|
116
|
+
the extension config (`lumioExtensionConfigSchema`,
|
|
117
|
+
`LumioExtensionConfig`, config fields and pricing) and developer accounts
|
|
118
|
+
(`DeveloperProfile`, `DeveloperTeam`), plus the category, visibility,
|
|
119
|
+
status and developer enums.
|
package/dist/index.d.ts
CHANGED
|
@@ -580,4 +580,5 @@ declare const developerTeamPermissionSchema: z.ZodObject<{
|
|
|
580
580
|
}, z.core.$strip>;
|
|
581
581
|
type DeveloperTeamPermission = z.infer<typeof developerTeamPermissionSchema>;
|
|
582
582
|
|
|
583
|
-
export {
|
|
583
|
+
export { CONFIG_FIELD_TYPES, DEVELOPER_TYPES, DEVELOPER_VERIFICATION_STATUSES, EXTENSION_CATEGORIES, EXTENSION_STATUSES, EXTENSION_VISIBILITIES, NODE_TYPES, PRICING_TYPES, TRIGGER_MODES, VALID_PLATFORMS, VALID_ROLES, VERSION_STATUSES, automationNodeSchema, configFieldSchema, configSchemaSchema, developerProfileSchema, developerTeamMemberSchema, developerTeamPermissionSchema, developerTeamRoleSchema, developerTeamSchema, developerTypeSchema, developerVerificationStatusSchema, extensionCategorySchema, extensionInstallSchema, extensionPricingSchema, extensionReviewSchema, extensionSchema, extensionStatusSchema, extensionVersionSchema, extensionVisibilitySchema, lumioExtensionConfigBaseSchema, lumioExtensionConfigSchema, lumioExtensionSoundSchema, nodeTypeSchema, pricingTypeSchema, triggerCommandSchema, triggerConfigSchema, triggerModeSchema, triggerTimerSchema, versionStatusSchema };
|
|
584
|
+
export type { AutomationNode, AutomationNodeType, ConfigField, ConfigSchema, DeveloperProfile, DeveloperTeam, DeveloperTeamMember, DeveloperTeamPermission, DeveloperTeamRole, DeveloperType, DeveloperVerificationStatus, Extension, ExtensionCategory, ExtensionInstall, ExtensionPricing, ExtensionReview, ExtensionStatus, ExtensionVersion, ExtensionVisibility, LumioExtensionConfig, LumioExtensionSound, PricingType, TriggerCommand, TriggerConfig, TriggerMode, VersionStatus };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zaflun/lumio-extension-types",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.1",
|
|
4
4
|
"description": "Shared TypeScript types for Lumio extensions, store, and config",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -12,14 +12,15 @@
|
|
|
12
12
|
}
|
|
13
13
|
},
|
|
14
14
|
"files": [
|
|
15
|
-
"dist"
|
|
15
|
+
"dist",
|
|
16
|
+
"CHANGELOG.md"
|
|
16
17
|
],
|
|
17
18
|
"dependencies": {
|
|
18
|
-
"zod": "^4.
|
|
19
|
+
"zod": "^4.6.7"
|
|
19
20
|
},
|
|
20
21
|
"devDependencies": {
|
|
21
22
|
"typescript": "^6.0.2",
|
|
22
|
-
"tsup": "^
|
|
23
|
+
"tsup": "^9.0.0"
|
|
23
24
|
},
|
|
24
25
|
"publishConfig": {
|
|
25
26
|
"access": "public"
|