obs-ws-sdk 0.0.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.
Files changed (70) hide show
  1. package/README.md +63 -0
  2. package/dist/client.d.ts +41 -0
  3. package/dist/client.d.ts.map +1 -0
  4. package/dist/client.js +74 -0
  5. package/dist/client.js.map +1 -0
  6. package/dist/index.cjs +1482 -0
  7. package/dist/index.d.cts +1201 -0
  8. package/dist/index.d.mts +1201 -0
  9. package/dist/index.d.ts +29 -0
  10. package/dist/index.d.ts.map +1 -0
  11. package/dist/index.js +19 -0
  12. package/dist/index.js.map +1 -0
  13. package/dist/index.mjs +1463 -0
  14. package/dist/modules/base.d.ts +8 -0
  15. package/dist/modules/base.d.ts.map +1 -0
  16. package/dist/modules/base.js +9 -0
  17. package/dist/modules/base.js.map +1 -0
  18. package/dist/modules/config.d.ts +120 -0
  19. package/dist/modules/config.d.ts.map +1 -0
  20. package/dist/modules/config.js +162 -0
  21. package/dist/modules/config.js.map +1 -0
  22. package/dist/modules/filters.d.ts +102 -0
  23. package/dist/modules/filters.d.ts.map +1 -0
  24. package/dist/modules/filters.js +130 -0
  25. package/dist/modules/filters.js.map +1 -0
  26. package/dist/modules/general.d.ts +72 -0
  27. package/dist/modules/general.d.ts.map +1 -0
  28. package/dist/modules/general.js +98 -0
  29. package/dist/modules/general.js.map +1 -0
  30. package/dist/modules/inputs.d.ts +257 -0
  31. package/dist/modules/inputs.d.ts.map +1 -0
  32. package/dist/modules/inputs.js +323 -0
  33. package/dist/modules/inputs.js.map +1 -0
  34. package/dist/modules/media-inputs.d.ts +39 -0
  35. package/dist/modules/media-inputs.d.ts.map +1 -0
  36. package/dist/modules/media-inputs.js +55 -0
  37. package/dist/modules/media-inputs.js.map +1 -0
  38. package/dist/modules/outputs.d.ts +91 -0
  39. package/dist/modules/outputs.d.ts.map +1 -0
  40. package/dist/modules/outputs.js +133 -0
  41. package/dist/modules/outputs.js.map +1 -0
  42. package/dist/modules/record.d.ts +35 -0
  43. package/dist/modules/record.d.ts.map +1 -0
  44. package/dist/modules/record.js +62 -0
  45. package/dist/modules/record.js.map +1 -0
  46. package/dist/modules/scene-items.d.ts +195 -0
  47. package/dist/modules/scene-items.d.ts.map +1 -0
  48. package/dist/modules/scene-items.js +172 -0
  49. package/dist/modules/scene-items.js.map +1 -0
  50. package/dist/modules/scenes.d.ts +98 -0
  51. package/dist/modules/scenes.d.ts.map +1 -0
  52. package/dist/modules/scenes.js +129 -0
  53. package/dist/modules/scenes.js.map +1 -0
  54. package/dist/modules/sources.d.ts +50 -0
  55. package/dist/modules/sources.d.ts.map +1 -0
  56. package/dist/modules/sources.js +66 -0
  57. package/dist/modules/sources.js.map +1 -0
  58. package/dist/modules/stream.d.ts +30 -0
  59. package/dist/modules/stream.d.ts.map +1 -0
  60. package/dist/modules/stream.js +48 -0
  61. package/dist/modules/stream.js.map +1 -0
  62. package/dist/modules/transitions.d.ts +58 -0
  63. package/dist/modules/transitions.d.ts.map +1 -0
  64. package/dist/modules/transitions.js +84 -0
  65. package/dist/modules/transitions.js.map +1 -0
  66. package/dist/modules/ui.d.ts +55 -0
  67. package/dist/modules/ui.d.ts.map +1 -0
  68. package/dist/modules/ui.js +79 -0
  69. package/dist/modules/ui.js.map +1 -0
  70. package/package.json +72 -0
@@ -0,0 +1,55 @@
1
+ import { z } from "zod/v4";
2
+ import { BaseModule } from "./base";
3
+ declare const SetStudioModeEnabledRequestSchema: z.ZodObject<{
4
+ studioModeEnabled: z.ZodBoolean;
5
+ }, z.core.$strip>;
6
+ declare const OpenInputPropertiesDialogRequestSchema: z.ZodObject<{
7
+ inputName: z.ZodOptional<z.ZodString>;
8
+ inputUuid: z.ZodOptional<z.ZodString>;
9
+ }, z.core.$strip>;
10
+ declare const OpenInputFiltersDialogRequestSchema: z.ZodObject<{
11
+ inputName: z.ZodOptional<z.ZodString>;
12
+ inputUuid: z.ZodOptional<z.ZodString>;
13
+ }, z.core.$strip>;
14
+ declare const OpenInputInteractDialogRequestSchema: z.ZodObject<{
15
+ inputName: z.ZodOptional<z.ZodString>;
16
+ inputUuid: z.ZodOptional<z.ZodString>;
17
+ }, z.core.$strip>;
18
+ declare const OpenVideoMixProjectorRequestSchema: z.ZodObject<{
19
+ videoMixType: z.ZodString;
20
+ monitorIndex: z.ZodOptional<z.ZodNumber>;
21
+ projectorGeometry: z.ZodOptional<z.ZodString>;
22
+ }, z.core.$strip>;
23
+ declare const OpenSourceProjectorRequestSchema: z.ZodObject<{
24
+ canvasUuid: z.ZodOptional<z.ZodString>;
25
+ sourceName: z.ZodOptional<z.ZodString>;
26
+ sourceUuid: z.ZodOptional<z.ZodString>;
27
+ monitorIndex: z.ZodOptional<z.ZodNumber>;
28
+ projectorGeometry: z.ZodOptional<z.ZodString>;
29
+ }, z.core.$strip>;
30
+ declare const GetStudioModeEnabledResponseSchema: z.ZodObject<{
31
+ studioModeEnabled: z.ZodBoolean;
32
+ }, z.core.$strip>;
33
+ declare const GetMonitorListResponseSchema: z.ZodObject<{
34
+ monitors: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
35
+ }, z.core.$strip>;
36
+ export type GetStudioModeEnabledResponse = z.infer<typeof GetStudioModeEnabledResponseSchema>;
37
+ export type SetStudioModeEnabledRequest = z.infer<typeof SetStudioModeEnabledRequestSchema>;
38
+ export type OpenInputPropertiesDialogRequest = z.infer<typeof OpenInputPropertiesDialogRequestSchema>;
39
+ export type OpenInputFiltersDialogRequest = z.infer<typeof OpenInputFiltersDialogRequestSchema>;
40
+ export type OpenInputInteractDialogRequest = z.infer<typeof OpenInputInteractDialogRequestSchema>;
41
+ export type GetMonitorListResponse = z.infer<typeof GetMonitorListResponseSchema>;
42
+ export type OpenVideoMixProjectorRequest = z.infer<typeof OpenVideoMixProjectorRequestSchema>;
43
+ export type OpenSourceProjectorRequest = z.infer<typeof OpenSourceProjectorRequestSchema>;
44
+ export declare class UiModule extends BaseModule {
45
+ getStudioModeEnabled(): Promise<GetStudioModeEnabledResponse>;
46
+ setStudioModeEnabled(params: SetStudioModeEnabledRequest): Promise<void>;
47
+ openInputPropertiesDialog(params: OpenInputPropertiesDialogRequest): Promise<void>;
48
+ openInputFiltersDialog(params: OpenInputFiltersDialogRequest): Promise<void>;
49
+ openInputInteractDialog(params: OpenInputInteractDialogRequest): Promise<void>;
50
+ getMonitorList(): Promise<GetMonitorListResponse>;
51
+ openVideoMixProjector(params: OpenVideoMixProjectorRequest): Promise<void>;
52
+ openSourceProjector(params: OpenSourceProjectorRequest): Promise<void>;
53
+ }
54
+ export {};
55
+ //# sourceMappingURL=ui.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../src/modules/ui.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAoB,MAAM,QAAQ,CAAC;AAMtD,QAAA,MAAM,iCAAiC;;iBAErC,CAAC;AAEH,QAAA,MAAM,sCAAsC;;;iBAG1C,CAAC;AAEH,QAAA,MAAM,mCAAmC;;;iBAGvC,CAAC;AAEH,QAAA,MAAM,oCAAoC;;;iBAGxC,CAAC;AAEH,QAAA,MAAM,kCAAkC;;;;iBAItC,CAAC;AAEH,QAAA,MAAM,gCAAgC;;;;;;iBAMpC,CAAC;AAMH,QAAA,MAAM,kCAAkC;;iBAEtC,CAAC;AAEH,QAAA,MAAM,4BAA4B;;iBAEhC,CAAC;AAMH,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAC;AAC9F,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAC;AAC5F,MAAM,MAAM,gCAAgC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sCAAsC,CAAC,CAAC;AACtG,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mCAAmC,CAAC,CAAC;AAChG,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oCAAoC,CAAC,CAAC;AAClG,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAClF,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAC;AAC9F,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAM1F,qBAAa,QAAS,SAAQ,UAAU;IAChC,oBAAoB,IAAI,OAAO,CAAC,4BAA4B,CAAC;IAK7D,oBAAoB,CAAC,MAAM,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC;IAKxE,yBAAyB,CAAC,MAAM,EAAE,gCAAgC,GAAG,OAAO,CAAC,IAAI,CAAC;IAKlF,sBAAsB,CAAC,MAAM,EAAE,6BAA6B,GAAG,OAAO,CAAC,IAAI,CAAC;IAK5E,uBAAuB,CAAC,MAAM,EAAE,8BAA8B,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9E,cAAc,IAAI,OAAO,CAAC,sBAAsB,CAAC;IAKjD,qBAAqB,CAAC,MAAM,EAAE,4BAA4B,GAAG,OAAO,CAAC,IAAI,CAAC;IAK1E,mBAAmB,CAAC,MAAM,EAAE,0BAA0B,GAAG,OAAO,CAAC,IAAI,CAAC;CAI7E"}
@@ -0,0 +1,79 @@
1
+ import { z } from "zod/v4";
2
+ import { BaseModule, jsonObjectSchema } from "./base";
3
+ // ========================
4
+ // Request Schemas
5
+ // ========================
6
+ const SetStudioModeEnabledRequestSchema = z.object({
7
+ studioModeEnabled: z.boolean(),
8
+ });
9
+ const OpenInputPropertiesDialogRequestSchema = z.object({
10
+ inputName: z.string().optional(),
11
+ inputUuid: z.string().optional(),
12
+ });
13
+ const OpenInputFiltersDialogRequestSchema = z.object({
14
+ inputName: z.string().optional(),
15
+ inputUuid: z.string().optional(),
16
+ });
17
+ const OpenInputInteractDialogRequestSchema = z.object({
18
+ inputName: z.string().optional(),
19
+ inputUuid: z.string().optional(),
20
+ });
21
+ const OpenVideoMixProjectorRequestSchema = z.object({
22
+ videoMixType: z.string(),
23
+ monitorIndex: z.number().optional(),
24
+ projectorGeometry: z.string().optional(),
25
+ });
26
+ const OpenSourceProjectorRequestSchema = z.object({
27
+ canvasUuid: z.string().optional(),
28
+ sourceName: z.string().optional(),
29
+ sourceUuid: z.string().optional(),
30
+ monitorIndex: z.number().optional(),
31
+ projectorGeometry: z.string().optional(),
32
+ });
33
+ // ========================
34
+ // Response Schemas
35
+ // ========================
36
+ const GetStudioModeEnabledResponseSchema = z.object({
37
+ studioModeEnabled: z.boolean(),
38
+ });
39
+ const GetMonitorListResponseSchema = z.object({
40
+ monitors: jsonObjectSchema.array(),
41
+ });
42
+ // ========================
43
+ // Module
44
+ // ========================
45
+ export class UiModule extends BaseModule {
46
+ async getStudioModeEnabled() {
47
+ const res = await this.obs.call("GetStudioModeEnabled");
48
+ return GetStudioModeEnabledResponseSchema.parse(res);
49
+ }
50
+ async setStudioModeEnabled(params) {
51
+ SetStudioModeEnabledRequestSchema.parse(params);
52
+ await this.obs.call("SetStudioModeEnabled", params);
53
+ }
54
+ async openInputPropertiesDialog(params) {
55
+ OpenInputPropertiesDialogRequestSchema.parse(params);
56
+ await this.obs.call("OpenInputPropertiesDialog", params);
57
+ }
58
+ async openInputFiltersDialog(params) {
59
+ OpenInputFiltersDialogRequestSchema.parse(params);
60
+ await this.obs.call("OpenInputFiltersDialog", params);
61
+ }
62
+ async openInputInteractDialog(params) {
63
+ OpenInputInteractDialogRequestSchema.parse(params);
64
+ await this.obs.call("OpenInputInteractDialog", params);
65
+ }
66
+ async getMonitorList() {
67
+ const res = await this.obs.call("GetMonitorList");
68
+ return GetMonitorListResponseSchema.parse(res);
69
+ }
70
+ async openVideoMixProjector(params) {
71
+ OpenVideoMixProjectorRequestSchema.parse(params);
72
+ await this.obs.call("OpenVideoMixProjector", params);
73
+ }
74
+ async openSourceProjector(params) {
75
+ OpenSourceProjectorRequestSchema.parse(params);
76
+ await this.obs.call("OpenSourceProjector", params);
77
+ }
78
+ }
79
+ //# sourceMappingURL=ui.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/modules/ui.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,72 @@
1
+ {
2
+ "name": "obs-ws-sdk",
3
+ "type": "module",
4
+ "version": "0.0.1",
5
+ "description": "支持完整类型安全与运行时验证的 OBS WebSocket TypeScript SDK. TypeScript SDK for OBS WebSocket with full type safety and runtime validation.",
6
+ "license": "MIT",
7
+ "homepage": "https://github.com/RSoraM/obs-ws-sdk",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "https://github.com/RSoraM/obs-ws-sdk"
11
+ },
12
+ "keywords": [
13
+ "obs",
14
+ "obs-websocket",
15
+ "obs-studio",
16
+ "streaming",
17
+ "typescript",
18
+ "sdk"
19
+ ],
20
+ "sideEffects": false,
21
+ "exports": {
22
+ ".": {
23
+ "types": "./dist/index.d.ts",
24
+ "import": "./dist/index.mjs",
25
+ "require": "./dist/index.cjs"
26
+ }
27
+ },
28
+ "main": "./dist/index.cjs",
29
+ "module": "./dist/index.mjs",
30
+ "types": "./dist/index.d.ts",
31
+ "files": [
32
+ "dist"
33
+ ],
34
+ "scripts": {
35
+ "build": "unbuild",
36
+ "postbuild": "tsc",
37
+ "dev": "unbuild --stub",
38
+ "lint": "biome check --write",
39
+ "prepublishOnly": "pnpm run build",
40
+ "release": "bumpp && npm publish",
41
+ "start": "tsx src/index.ts",
42
+ "test": "vitest",
43
+ "typecheck": "tsc --noEmit",
44
+ "prepare": "simple-git-hooks",
45
+ "test:integration": "npx tsx scripts/integration-test.ts",
46
+ "test:coverage": "npx tsx scripts/schema-coverage.ts"
47
+ },
48
+ "dependencies": {
49
+ "obs-websocket-js": "^5.0.6",
50
+ "zod": "^3.24.0"
51
+ },
52
+ "devDependencies": {
53
+ "@biomejs/biome": "^2.0.0",
54
+ "@types/node": "^25.5.0",
55
+ "bumpp": "^10.1.0",
56
+ "changelogithub": "^13.0.0",
57
+ "dotenv": "^17.3.1",
58
+ "lint-staged": "^16.0.0",
59
+ "simple-git-hooks": "^2.12.0",
60
+ "tsx": "^4.19.0",
61
+ "typescript": "^5.8.0",
62
+ "unbuild": "^3.5.0",
63
+ "vitest": "^3.1.0"
64
+ },
65
+ "simple-git-hooks": {
66
+ "pre-commit": "pnpm lint-staged"
67
+ },
68
+ "lint-staged": {
69
+ "*": "biome check --write --no-errors-on-unmatched"
70
+ },
71
+ "packageManager": "pnpm@10.6.0"
72
+ }