@orchestra-mcp/settings 1.0.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.
@@ -0,0 +1,144 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ReactNode } from 'react';
3
+
4
+ /**
5
+ * Settings type definitions matching Go backend structure.
6
+ * Used by SettingsForm to auto-generate form inputs.
7
+ */
8
+
9
+ type SettingType$1 = 'string' | 'number' | 'boolean' | 'select' | 'multi-select' | 'color' | 'range' | 'date' | 'timezone' | 'key-value' | 'repeater' | 'code' | 'markdown';
10
+ type SettingValue = string | number | boolean | string[] | Record<string, string> | RepeaterRow[];
11
+ interface RepeaterRow {
12
+ id: string;
13
+ [key: string]: string;
14
+ }
15
+ interface SettingOption {
16
+ label: string;
17
+ value: string | number;
18
+ description?: string;
19
+ icon?: ReactNode;
20
+ }
21
+ interface SettingValidation$1 {
22
+ required?: boolean;
23
+ min?: number;
24
+ max?: number;
25
+ step?: number;
26
+ pattern?: string;
27
+ minLength?: number;
28
+ maxLength?: number;
29
+ }
30
+ interface Setting {
31
+ key: string;
32
+ label: string;
33
+ description?: string;
34
+ placeholder?: string;
35
+ type: SettingType$1;
36
+ default: SettingValue;
37
+ value?: SettingValue;
38
+ group: string;
39
+ order: number;
40
+ options?: SettingOption[];
41
+ validation?: SettingValidation$1;
42
+ disabled?: boolean;
43
+ hidden?: boolean;
44
+ plugin_id: string;
45
+ /** Column definitions for repeater fields */
46
+ repeaterColumns?: {
47
+ key: string;
48
+ label: string;
49
+ placeholder?: string;
50
+ }[];
51
+ }
52
+ interface SettingGroup {
53
+ id: string;
54
+ label: string;
55
+ description?: string;
56
+ order: number;
57
+ icon?: ReactNode;
58
+ collapsible?: boolean;
59
+ collapsed?: boolean;
60
+ }
61
+ interface SettingsState {
62
+ groups: SettingGroup[];
63
+ settings: Setting[];
64
+ }
65
+
66
+ interface SettingFieldProps {
67
+ setting: Setting;
68
+ value: SettingValue;
69
+ onChange: (key: string, value: SettingValue) => void;
70
+ disabled?: boolean;
71
+ }
72
+ declare const SettingField: ({ setting, value, onChange, disabled, }: SettingFieldProps) => react_jsx_runtime.JSX.Element | null;
73
+
74
+ interface SettingsGroupProps {
75
+ group: SettingGroup;
76
+ settings: Setting[];
77
+ values: Record<string, SettingValue>;
78
+ onChange: (key: string, value: SettingValue) => void;
79
+ disabled?: boolean;
80
+ }
81
+ declare const SettingsGroup: ({ group, settings, values, onChange, disabled, }: SettingsGroupProps) => react_jsx_runtime.JSX.Element;
82
+
83
+ interface SettingGroupShellProps {
84
+ group: SettingGroup;
85
+ children: ReactNode;
86
+ }
87
+ declare const SettingGroupShell: ({ group, children }: SettingGroupShellProps) => react_jsx_runtime.JSX.Element;
88
+
89
+ interface SettingsFormProps {
90
+ state: SettingsState;
91
+ values: Record<string, SettingValue>;
92
+ onChange: (key: string, value: SettingValue) => void;
93
+ /** Filter settings by group ID. Show all groups if not set. */
94
+ activeGroup?: string;
95
+ disabled?: boolean;
96
+ className?: string;
97
+ /** Custom empty state content */
98
+ emptyState?: React.ReactNode;
99
+ }
100
+ declare const SettingsForm: ({ state, values, onChange, activeGroup, disabled, className, emptyState, }: SettingsFormProps) => react_jsx_runtime.JSX.Element;
101
+
102
+ interface SettingsNavItem {
103
+ id: string;
104
+ label: string;
105
+ icon?: React.ReactNode;
106
+ }
107
+ interface SettingsNavProps {
108
+ title?: string;
109
+ subtitle?: string;
110
+ items: SettingsNavItem[];
111
+ activeId: string;
112
+ searchQuery?: string;
113
+ onSearchChange?: (query: string) => void;
114
+ onSelect: (id: string) => void;
115
+ showSearch?: boolean;
116
+ }
117
+ declare const SettingsNav: ({ title, subtitle, items, activeId, searchQuery, onSearchChange, onSelect, showSearch, }: SettingsNavProps) => react_jsx_runtime.JSX.Element;
118
+
119
+ type SettingType = 'string' | 'number' | 'boolean' | 'select' | 'multiselect' | 'color' | 'file' | 'json';
120
+ interface SettingValidation {
121
+ required?: boolean;
122
+ min?: number;
123
+ max?: number;
124
+ pattern?: string;
125
+ options?: string[];
126
+ message?: string;
127
+ }
128
+ interface SchemaField {
129
+ key: string;
130
+ type: SettingType;
131
+ label: string;
132
+ description?: string;
133
+ defaultValue?: unknown;
134
+ validation?: SettingValidation;
135
+ group?: string;
136
+ }
137
+ interface SettingsSchema {
138
+ version: string;
139
+ fields: SchemaField[];
140
+ }
141
+
142
+ declare function validateSetting(value: unknown, validation?: SettingValidation): string | null;
143
+
144
+ export { type SchemaField, type Setting, SettingField, type SettingFieldProps, SettingGroupShell, type SettingGroupShellProps, type SettingGroup as SettingGroupType, type SettingOption, type SettingType$1 as SettingType, type SettingValidation$1 as SettingValidation, type SettingValue, SettingsForm, type SettingsFormProps, SettingsGroup, type SettingsGroupProps, SettingsNav, type SettingsNavItem, type SettingsNavProps, type SettingsSchema, type SettingsState, validateSetting };
@@ -0,0 +1,144 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ReactNode } from 'react';
3
+
4
+ /**
5
+ * Settings type definitions matching Go backend structure.
6
+ * Used by SettingsForm to auto-generate form inputs.
7
+ */
8
+
9
+ type SettingType$1 = 'string' | 'number' | 'boolean' | 'select' | 'multi-select' | 'color' | 'range' | 'date' | 'timezone' | 'key-value' | 'repeater' | 'code' | 'markdown';
10
+ type SettingValue = string | number | boolean | string[] | Record<string, string> | RepeaterRow[];
11
+ interface RepeaterRow {
12
+ id: string;
13
+ [key: string]: string;
14
+ }
15
+ interface SettingOption {
16
+ label: string;
17
+ value: string | number;
18
+ description?: string;
19
+ icon?: ReactNode;
20
+ }
21
+ interface SettingValidation$1 {
22
+ required?: boolean;
23
+ min?: number;
24
+ max?: number;
25
+ step?: number;
26
+ pattern?: string;
27
+ minLength?: number;
28
+ maxLength?: number;
29
+ }
30
+ interface Setting {
31
+ key: string;
32
+ label: string;
33
+ description?: string;
34
+ placeholder?: string;
35
+ type: SettingType$1;
36
+ default: SettingValue;
37
+ value?: SettingValue;
38
+ group: string;
39
+ order: number;
40
+ options?: SettingOption[];
41
+ validation?: SettingValidation$1;
42
+ disabled?: boolean;
43
+ hidden?: boolean;
44
+ plugin_id: string;
45
+ /** Column definitions for repeater fields */
46
+ repeaterColumns?: {
47
+ key: string;
48
+ label: string;
49
+ placeholder?: string;
50
+ }[];
51
+ }
52
+ interface SettingGroup {
53
+ id: string;
54
+ label: string;
55
+ description?: string;
56
+ order: number;
57
+ icon?: ReactNode;
58
+ collapsible?: boolean;
59
+ collapsed?: boolean;
60
+ }
61
+ interface SettingsState {
62
+ groups: SettingGroup[];
63
+ settings: Setting[];
64
+ }
65
+
66
+ interface SettingFieldProps {
67
+ setting: Setting;
68
+ value: SettingValue;
69
+ onChange: (key: string, value: SettingValue) => void;
70
+ disabled?: boolean;
71
+ }
72
+ declare const SettingField: ({ setting, value, onChange, disabled, }: SettingFieldProps) => react_jsx_runtime.JSX.Element | null;
73
+
74
+ interface SettingsGroupProps {
75
+ group: SettingGroup;
76
+ settings: Setting[];
77
+ values: Record<string, SettingValue>;
78
+ onChange: (key: string, value: SettingValue) => void;
79
+ disabled?: boolean;
80
+ }
81
+ declare const SettingsGroup: ({ group, settings, values, onChange, disabled, }: SettingsGroupProps) => react_jsx_runtime.JSX.Element;
82
+
83
+ interface SettingGroupShellProps {
84
+ group: SettingGroup;
85
+ children: ReactNode;
86
+ }
87
+ declare const SettingGroupShell: ({ group, children }: SettingGroupShellProps) => react_jsx_runtime.JSX.Element;
88
+
89
+ interface SettingsFormProps {
90
+ state: SettingsState;
91
+ values: Record<string, SettingValue>;
92
+ onChange: (key: string, value: SettingValue) => void;
93
+ /** Filter settings by group ID. Show all groups if not set. */
94
+ activeGroup?: string;
95
+ disabled?: boolean;
96
+ className?: string;
97
+ /** Custom empty state content */
98
+ emptyState?: React.ReactNode;
99
+ }
100
+ declare const SettingsForm: ({ state, values, onChange, activeGroup, disabled, className, emptyState, }: SettingsFormProps) => react_jsx_runtime.JSX.Element;
101
+
102
+ interface SettingsNavItem {
103
+ id: string;
104
+ label: string;
105
+ icon?: React.ReactNode;
106
+ }
107
+ interface SettingsNavProps {
108
+ title?: string;
109
+ subtitle?: string;
110
+ items: SettingsNavItem[];
111
+ activeId: string;
112
+ searchQuery?: string;
113
+ onSearchChange?: (query: string) => void;
114
+ onSelect: (id: string) => void;
115
+ showSearch?: boolean;
116
+ }
117
+ declare const SettingsNav: ({ title, subtitle, items, activeId, searchQuery, onSearchChange, onSelect, showSearch, }: SettingsNavProps) => react_jsx_runtime.JSX.Element;
118
+
119
+ type SettingType = 'string' | 'number' | 'boolean' | 'select' | 'multiselect' | 'color' | 'file' | 'json';
120
+ interface SettingValidation {
121
+ required?: boolean;
122
+ min?: number;
123
+ max?: number;
124
+ pattern?: string;
125
+ options?: string[];
126
+ message?: string;
127
+ }
128
+ interface SchemaField {
129
+ key: string;
130
+ type: SettingType;
131
+ label: string;
132
+ description?: string;
133
+ defaultValue?: unknown;
134
+ validation?: SettingValidation;
135
+ group?: string;
136
+ }
137
+ interface SettingsSchema {
138
+ version: string;
139
+ fields: SchemaField[];
140
+ }
141
+
142
+ declare function validateSetting(value: unknown, validation?: SettingValidation): string | null;
143
+
144
+ export { type SchemaField, type Setting, SettingField, type SettingFieldProps, SettingGroupShell, type SettingGroupShellProps, type SettingGroup as SettingGroupType, type SettingOption, type SettingType$1 as SettingType, type SettingValidation$1 as SettingValidation, type SettingValue, SettingsForm, type SettingsFormProps, SettingsGroup, type SettingsGroupProps, SettingsNav, type SettingsNavItem, type SettingsNavProps, type SettingsSchema, type SettingsState, validateSetting };