-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathmanifest_schema.json
More file actions
137 lines (137 loc) · 6.32 KB
/
manifest_schema.json
File metadata and controls
137 lines (137 loc) · 6.32 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"required": [
"accent_color",
"title1",
"title2",
"author",
"occupation",
"typical_group",
"integrations",
"featured_actions",
"intro_message",
"preferred_model_expensive",
"preferred_model_cheap",
"daily_budget_default",
"default_inbox_default",
"tags"
],
"additionalProperties": false,
"properties": {
"accent_color": {
"type": "string",
"title": "Accent Color",
"pattern": "^#[0-9a-fA-F]{6}$",
"description": "Hex color code for the bot's UI theme in the marketplace and chat interface. Example: '#4A90E2'."
},
"title1": {
"type": "string",
"title": "Display Name",
"description": "Bot's display name shown in the marketplace and UI. Example: 'Productman', 'Ad Monster'."
},
"title2": {
"type": "string",
"title": "Tagline",
"description": "Short tagline describing what the bot does, shown below title1 in the marketplace. Example: 'Discovery Agent. Understand what to sell and to whom, validated by market logic.'."
},
"author": {
"type": "string",
"title": "Author",
"description": "Name of the bot's author or organization."
},
"occupation": {
"type": "string",
"title": "Occupation",
"description": "Bot's role or job title displayed in the marketplace. Example: 'Product Manager', 'Advertising Campaign Manager', 'Secretary Assistant'."
},
"typical_group": {
"type": "string",
"title": "Typical Group",
"description": "Default group or category path where the bot appears when installed into a workspace. Use '/' for root. Example: 'Marketing', 'Product / Research', 'Admin Tools'."
},
"featured_actions": {
"type": "array",
"title": "Featured Actions",
"items": {
"type": "object",
"required": ["feat_question", "feat_expert"],
"additionalProperties": false,
"properties": {
"feat_question": {
"type": "string",
"title": "Question",
"description": "Suggested action text shown as a quick-start button in the UI."
},
"feat_expert": {
"type": "string",
"title": "Expert",
"description": "Name of the expert that handles this action. Use 'default' for the main expert."
}
}
},
"description": "Quick-start actions shown in the chat UI as clickable suggestions. Each action sends feat_question to the specified expert."
},
"intro_message": {
"type": "string",
"title": "Intro Message",
"description": "First message the bot sends when a user opens a new chat. Should briefly introduce the bot and its capabilities."
},
"preferred_model_expensive": {
"type": "string",
"title": "Preferred Model (Expensive)",
"description": "LLM model for complex tasks requiring stronger reasoning. Example: 'grok-4-1-fast-reasoning'."
},
"preferred_model_cheap": {
"type": "string",
"title": "Preferred Model (Cheap)",
"description": "LLM model for simple tasks where cost efficiency matters. Example: 'gpt-5.4-nano'."
},
"preferred_model_expensive_reasoning_effort": {
"type": "string",
"title": "Preferred Expensive Model Reasoning Effort",
"description": "Optional default reasoning effort for the expensive model tier. Example: 'high', 'medium', 'none'. Leave unset to inherit provider defaults."
},
"preferred_model_cheap_reasoning_effort": {
"type": "string",
"title": "Preferred Cheap Model Reasoning Effort",
"description": "Optional default reasoning effort for the cheap model tier. Example: 'low', 'medium', 'none'. Leave unset to inherit provider defaults."
},
"daily_budget_default": {
"type": "integer",
"title": "Daily Budget",
"minimum": 1,
"description": "Default daily token budget for the bot in tokens. Admin can override in workspace settings. Example: 200000, 1000000."
},
"default_inbox_default": {
"type": "integer",
"title": "Default Inbox Size",
"minimum": 1,
"description": "Default maximum number of kanban inbox items the bot will accept. Controls backpressure on incoming tasks. Example: 20000, 100000."
},
"tags": {
"type": "array",
"title": "Tags",
"items": { "type": "string" },
"description": "Marketplace tags for discovery and filtering. Example: ['Marketing', 'Strategy', 'Hypothesis Validation']."
},
"integrations": {
"type": "array",
"title": "Tools and Integrations",
"items": { "type": "string" },
"description": "List of tools and integrations the bot uses. Accepts built-in integrations (flexus_policy_document, print_widget, gmail, google_calendar, jira, skills) and cloud tool names. Each provides tools and optionally OAuth. Example: ['flexus_policy_document', 'gmail', 'google_calendar']."
},
"shared_skills_allowlist": {
"type": "string",
"title": "Allow These Shared Skills",
"default": "",
"description": "Take skills in shared_skills/ that match any of the patterns in this comma-separated list, example: 'strategy-*,report-*'. Empty string means none, '*' means all."
},
"integration_skills_allowlist": {
"type": "string",
"title": "Allow These Integration Skills",
"default": "",
"description": "Take skills in integrations/skills/ that match any of the patterns in this comma-separated list, example: 'crm-*'. Empty string means none, '*' means all."
}
}
}