@xano/developer-mcp 1.0.27 → 1.0.29
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/README.md +1 -1
- package/dist/api_docs/format.d.ts +5 -0
- package/dist/api_docs/format.js +171 -0
- package/dist/api_docs/index.d.ts +52 -0
- package/dist/api_docs/index.js +111 -0
- package/dist/api_docs/topics/agent.d.ts +2 -0
- package/dist/api_docs/topics/agent.js +142 -0
- package/dist/api_docs/topics/api.d.ts +2 -0
- package/dist/api_docs/topics/api.js +176 -0
- package/dist/api_docs/topics/apigroup.d.ts +2 -0
- package/dist/api_docs/topics/apigroup.js +124 -0
- package/dist/api_docs/topics/authentication.d.ts +2 -0
- package/dist/api_docs/topics/authentication.js +61 -0
- package/dist/api_docs/topics/branch.d.ts +2 -0
- package/dist/api_docs/topics/branch.js +73 -0
- package/dist/api_docs/topics/file.d.ts +2 -0
- package/dist/api_docs/topics/file.js +70 -0
- package/dist/api_docs/topics/function.d.ts +2 -0
- package/dist/api_docs/topics/function.js +164 -0
- package/dist/api_docs/topics/history.d.ts +2 -0
- package/dist/api_docs/topics/history.js +149 -0
- package/dist/api_docs/topics/mcp_server.d.ts +2 -0
- package/dist/api_docs/topics/mcp_server.js +139 -0
- package/dist/api_docs/topics/middleware.d.ts +2 -0
- package/dist/api_docs/topics/middleware.js +156 -0
- package/dist/api_docs/topics/realtime.d.ts +2 -0
- package/dist/api_docs/topics/realtime.js +112 -0
- package/dist/api_docs/topics/start.d.ts +2 -0
- package/dist/api_docs/topics/start.js +107 -0
- package/dist/api_docs/topics/table.d.ts +2 -0
- package/dist/api_docs/topics/table.js +195 -0
- package/dist/api_docs/topics/task.d.ts +2 -0
- package/dist/api_docs/topics/task.js +165 -0
- package/dist/api_docs/topics/tool.d.ts +2 -0
- package/dist/api_docs/topics/tool.js +150 -0
- package/dist/api_docs/topics/workflows.d.ts +2 -0
- package/dist/api_docs/topics/workflows.js +131 -0
- package/dist/api_docs/topics/workspace.d.ts +2 -0
- package/dist/api_docs/topics/workspace.js +153 -0
- package/dist/api_docs/types.d.ts +79 -0
- package/dist/api_docs/types.js +4 -0
- package/dist/meta_api_docs/topics/branch.js +154 -18
- package/dist/meta_api_docs/topics/workspace.js +45 -2
- package/dist/templates/init-workspace.d.ts +10 -0
- package/dist/templates/init-workspace.js +278 -0
- package/dist/templates/xanoscript-index.d.ts +11 -0
- package/dist/templates/xanoscript-index.js +72 -0
- package/dist/xanoscript_docs/README.md +3 -13
- package/dist/xanoscript_docs/ephemeral.md +330 -0
- package/dist/xanoscript_docs/functions.md +0 -21
- package/dist/xanoscript_docs/integrations.md +0 -10
- package/dist/xanoscript_docs/performance.md +1 -10
- package/dist/xanoscript_docs/realtime.md +1 -48
- package/dist/xanoscript_docs/security.md +2 -0
- package/dist/xanoscript_docs/tools.md +2 -21
- package/dist/xanoscript_docs/triggers.md +2 -27
- package/dist/xanoscript_docs_auto/README.md +119 -0
- package/dist/xanoscript_docs_auto/agents.md +446 -0
- package/dist/xanoscript_docs_auto/apis.md +517 -0
- package/dist/xanoscript_docs_auto/control-flow.md +543 -0
- package/dist/xanoscript_docs_auto/database.md +551 -0
- package/dist/xanoscript_docs_auto/debugging.md +527 -0
- package/dist/xanoscript_docs_auto/filters.md +464 -0
- package/dist/xanoscript_docs_auto/functions.md +431 -0
- package/dist/xanoscript_docs_auto/integrations.md +657 -0
- package/dist/xanoscript_docs_auto/mcp-servers.md +408 -0
- package/dist/xanoscript_docs_auto/operators.md +368 -0
- package/dist/xanoscript_docs_auto/syntax.md +287 -0
- package/dist/xanoscript_docs_auto/tables.md +447 -0
- package/dist/xanoscript_docs_auto/tasks.md +479 -0
- package/dist/xanoscript_docs_auto/testing.md +574 -0
- package/dist/xanoscript_docs_auto/tools.md +485 -0
- package/dist/xanoscript_docs_auto/triggers.md +595 -0
- package/dist/xanoscript_docs_auto/types.md +323 -0
- package/dist/xanoscript_docs_auto/variables.md +462 -0
- package/dist/xanoscript_docs_auto/version.json +5 -0
- package/package.json +1 -1
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
export const workspaceDoc = {
|
|
2
|
+
topic: "workspace",
|
|
3
|
+
title: "Workspace Management",
|
|
4
|
+
description: `Workspaces are the top-level container for all Xano resources. Each workspace contains databases, APIs, functions, tasks, agents, and more.
|
|
5
|
+
|
|
6
|
+
## Key Operations
|
|
7
|
+
- List/get workspaces
|
|
8
|
+
- Export/import workspace data
|
|
9
|
+
- Generate workspace context for AI
|
|
10
|
+
- Get OpenAPI specifications
|
|
11
|
+
- Convert between XanoScript and JSON`,
|
|
12
|
+
ai_hints: `- Use \`getWorkspaceContext\` first to understand workspace structure
|
|
13
|
+
- Export before making major changes (backup)
|
|
14
|
+
- Check branch before modifying (prod vs dev)
|
|
15
|
+
- \`export-schema\` is lighter than \`export\` (schema only vs full data)
|
|
16
|
+
- OpenAPI spec useful for understanding available endpoints`,
|
|
17
|
+
endpoints: [
|
|
18
|
+
{
|
|
19
|
+
method: "GET",
|
|
20
|
+
path: "/workspace",
|
|
21
|
+
tool_name: "listWorkspaces",
|
|
22
|
+
description: "List all accessible workspaces with pagination and filtering.",
|
|
23
|
+
parameters: [
|
|
24
|
+
{ name: "page", type: "integer", default: 1, description: "Page number" },
|
|
25
|
+
{ name: "per_page", type: "integer", default: 50, description: "Items per page (max 10000)" },
|
|
26
|
+
{ name: "search", type: "string", description: "Search by workspace name" },
|
|
27
|
+
{ name: "sort", type: "string", enum: ["id", "name", "created_at"], default: "created_at", description: "Sort field" },
|
|
28
|
+
{ name: "order", type: "string", enum: ["asc", "desc"], default: "desc", description: "Sort direction" }
|
|
29
|
+
]
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
method: "GET",
|
|
33
|
+
path: "/workspace/{workspace_id}",
|
|
34
|
+
tool_name: "getWorkspace",
|
|
35
|
+
description: "Get details of a specific workspace.",
|
|
36
|
+
parameters: [
|
|
37
|
+
{ name: "workspace_id", type: "integer", required: true, in: "path", description: "Workspace ID" }
|
|
38
|
+
]
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
method: "POST",
|
|
42
|
+
path: "/workspace/{workspace_id}/export-schema",
|
|
43
|
+
tool_name: "exportWorkspaceSchema",
|
|
44
|
+
description: "Export database schemas and branch configuration only (lighter than full export).",
|
|
45
|
+
parameters: [
|
|
46
|
+
{ name: "workspace_id", type: "integer", required: true, in: "path", description: "Workspace ID" },
|
|
47
|
+
{ name: "password", type: "string", description: "Optional encryption password" }
|
|
48
|
+
]
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
method: "POST",
|
|
52
|
+
path: "/workspace/{workspace_id}/export",
|
|
53
|
+
tool_name: "exportWorkspace",
|
|
54
|
+
description: "Export complete workspace data and configuration including APIs, functions, data.",
|
|
55
|
+
parameters: [
|
|
56
|
+
{ name: "workspace_id", type: "integer", required: true, in: "path", description: "Workspace ID" },
|
|
57
|
+
{ name: "password", type: "string", description: "Optional encryption password" }
|
|
58
|
+
]
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
method: "POST",
|
|
62
|
+
path: "/workspace/{workspace_id}/import",
|
|
63
|
+
tool_name: "importWorkspace",
|
|
64
|
+
description: "Import and restore workspace content from an export file.",
|
|
65
|
+
parameters: [
|
|
66
|
+
{ name: "workspace_id", type: "integer", required: true, in: "path", description: "Workspace ID" }
|
|
67
|
+
],
|
|
68
|
+
request_body: {
|
|
69
|
+
type: "multipart/form-data",
|
|
70
|
+
properties: {
|
|
71
|
+
file: { type: "file", description: "Export file to import", required: true },
|
|
72
|
+
password: { type: "string", description: "Decryption password if encrypted" }
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
method: "POST",
|
|
78
|
+
path: "/workspace/{workspace_id}/import-schema",
|
|
79
|
+
tool_name: "importWorkspaceSchema",
|
|
80
|
+
description: "Import database schema into a new branch.",
|
|
81
|
+
parameters: [
|
|
82
|
+
{ name: "workspace_id", type: "integer", required: true, in: "path", description: "Workspace ID" }
|
|
83
|
+
],
|
|
84
|
+
request_body: {
|
|
85
|
+
type: "multipart/form-data",
|
|
86
|
+
properties: {
|
|
87
|
+
file: { type: "file", description: "Schema export file", required: true },
|
|
88
|
+
password: { type: "string", description: "Decryption password if encrypted" }
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
method: "GET",
|
|
94
|
+
path: "/workspace/{workspace_id}/openapi",
|
|
95
|
+
tool_name: "getWorkspaceOpenAPI",
|
|
96
|
+
description: "Get OpenAPI v3 specification for all APIs in the workspace.",
|
|
97
|
+
parameters: [
|
|
98
|
+
{ name: "workspace_id", type: "integer", required: true, in: "path", description: "Workspace ID" }
|
|
99
|
+
]
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
method: "GET",
|
|
103
|
+
path: "/workspace/{workspace_id}/context",
|
|
104
|
+
tool_name: "getWorkspaceContext",
|
|
105
|
+
description: "Generate complete workspace context map for AI agents. Essential for understanding workspace structure.",
|
|
106
|
+
parameters: [
|
|
107
|
+
{ name: "workspace_id", type: "integer", required: true, in: "path", description: "Workspace ID" },
|
|
108
|
+
{ name: "format", type: "string", enum: ["json", "yaml"], default: "json", description: "Output format" },
|
|
109
|
+
{ name: "user_descriptions", type: "boolean", default: false, description: "Include user-provided descriptions" },
|
|
110
|
+
{ name: "ai_descriptions", type: "boolean", default: false, description: "Include AI-generated descriptions" }
|
|
111
|
+
]
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
method: "POST",
|
|
115
|
+
path: "/workspace/{workspace_id}/convert/fromXS",
|
|
116
|
+
tool_name: "convertFromXanoScript",
|
|
117
|
+
description: "Convert XanoScript code to JSON format for programmatic manipulation.",
|
|
118
|
+
parameters: [
|
|
119
|
+
{ name: "workspace_id", type: "integer", required: true, in: "path", description: "Workspace ID" }
|
|
120
|
+
],
|
|
121
|
+
request_body: {
|
|
122
|
+
type: "text/x-xanoscript",
|
|
123
|
+
description: "XanoScript code to convert"
|
|
124
|
+
}
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
method: "POST",
|
|
128
|
+
path: "/workspace/{workspace_id}/convert/toXS",
|
|
129
|
+
tool_name: "convertToXanoScript",
|
|
130
|
+
description: "Convert JSON to XanoScript format for human-readable code.",
|
|
131
|
+
parameters: [
|
|
132
|
+
{ name: "workspace_id", type: "integer", required: true, in: "path", description: "Workspace ID" }
|
|
133
|
+
],
|
|
134
|
+
request_body: {
|
|
135
|
+
type: "application/json",
|
|
136
|
+
description: "JSON structure to convert to XanoScript"
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
],
|
|
140
|
+
schemas: {
|
|
141
|
+
Workspace: {
|
|
142
|
+
type: "object",
|
|
143
|
+
properties: {
|
|
144
|
+
id: { type: "integer", description: "Unique workspace ID" },
|
|
145
|
+
name: { type: "string", description: "Workspace name" },
|
|
146
|
+
description: { type: "string", description: "Workspace description" },
|
|
147
|
+
created_at: { type: "string", format: "date-time" },
|
|
148
|
+
updated_at: { type: "string", format: "date-time" }
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
},
|
|
152
|
+
related_topics: ["apigroup", "table", "function", "branch"]
|
|
153
|
+
};
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type definitions for Xano Meta API documentation
|
|
3
|
+
*/
|
|
4
|
+
export type HttpMethod = "GET" | "POST" | "PUT" | "DELETE";
|
|
5
|
+
export interface ParameterDoc {
|
|
6
|
+
name: string;
|
|
7
|
+
type: string;
|
|
8
|
+
required?: boolean;
|
|
9
|
+
default?: unknown;
|
|
10
|
+
description: string;
|
|
11
|
+
enum?: string[];
|
|
12
|
+
in?: "path" | "query" | "header";
|
|
13
|
+
}
|
|
14
|
+
export interface RequestBodyDoc {
|
|
15
|
+
type: string;
|
|
16
|
+
description?: string;
|
|
17
|
+
properties?: Record<string, {
|
|
18
|
+
type: string;
|
|
19
|
+
description?: string;
|
|
20
|
+
required?: boolean;
|
|
21
|
+
}>;
|
|
22
|
+
example?: unknown;
|
|
23
|
+
}
|
|
24
|
+
export interface ResponseDoc {
|
|
25
|
+
type: string;
|
|
26
|
+
description?: string;
|
|
27
|
+
properties?: Record<string, unknown>;
|
|
28
|
+
}
|
|
29
|
+
export interface RequestExampleDoc {
|
|
30
|
+
method: string;
|
|
31
|
+
path: string;
|
|
32
|
+
headers?: Record<string, string>;
|
|
33
|
+
body?: unknown;
|
|
34
|
+
}
|
|
35
|
+
export interface EndpointDoc {
|
|
36
|
+
method: HttpMethod;
|
|
37
|
+
path: string;
|
|
38
|
+
tool_name?: string;
|
|
39
|
+
description: string;
|
|
40
|
+
tags?: string[];
|
|
41
|
+
parameters?: ParameterDoc[];
|
|
42
|
+
request_body?: RequestBodyDoc;
|
|
43
|
+
response?: ResponseDoc;
|
|
44
|
+
example?: RequestExampleDoc;
|
|
45
|
+
}
|
|
46
|
+
export interface ExampleDoc {
|
|
47
|
+
title: string;
|
|
48
|
+
description: string;
|
|
49
|
+
request: {
|
|
50
|
+
method: string;
|
|
51
|
+
path: string;
|
|
52
|
+
headers?: Record<string, string>;
|
|
53
|
+
body?: unknown;
|
|
54
|
+
};
|
|
55
|
+
response?: unknown;
|
|
56
|
+
}
|
|
57
|
+
export interface PatternDoc {
|
|
58
|
+
name: string;
|
|
59
|
+
description?: string;
|
|
60
|
+
steps: string[];
|
|
61
|
+
example?: string;
|
|
62
|
+
}
|
|
63
|
+
export interface TopicDoc {
|
|
64
|
+
topic: string;
|
|
65
|
+
title: string;
|
|
66
|
+
description: string;
|
|
67
|
+
endpoints?: EndpointDoc[];
|
|
68
|
+
examples?: ExampleDoc[];
|
|
69
|
+
related_topics?: string[];
|
|
70
|
+
schemas?: Record<string, unknown>;
|
|
71
|
+
patterns?: PatternDoc[];
|
|
72
|
+
ai_hints?: string;
|
|
73
|
+
}
|
|
74
|
+
export type DetailLevel = "overview" | "detailed" | "examples";
|
|
75
|
+
export interface ApiDocsArgs {
|
|
76
|
+
topic: string;
|
|
77
|
+
detail_level?: DetailLevel;
|
|
78
|
+
include_schemas?: boolean;
|
|
79
|
+
}
|
|
@@ -4,22 +4,23 @@ export const branchDoc = {
|
|
|
4
4
|
description: `Branches provide environment separation for your Xano workspace. Use branches for development, staging, and production environments.
|
|
5
5
|
|
|
6
6
|
## Key Concepts
|
|
7
|
-
- Default branch is "v1" (cannot be deleted)
|
|
7
|
+
- Default branch is "v1" (cannot be deleted or renamed)
|
|
8
8
|
- Branches contain separate databases and configurations
|
|
9
9
|
- One branch is designated as "live" (production)
|
|
10
|
+
- Create branches by cloning from existing branches
|
|
10
11
|
- Useful for safe development without affecting production
|
|
11
|
-
- Import schema to create new branches from exports
|
|
12
12
|
|
|
13
13
|
## Common Workflow
|
|
14
|
-
1. Create a development branch
|
|
15
|
-
2. Make and test changes on dev branch
|
|
16
|
-
3.
|
|
17
|
-
4.
|
|
14
|
+
1. Create a development branch by cloning from "v1"
|
|
15
|
+
2. Make and test changes on the dev branch
|
|
16
|
+
3. Set the dev branch as live when ready
|
|
17
|
+
4. Or merge changes back to production manually`,
|
|
18
18
|
ai_hints: `- Cannot delete the "v1" branch or the live branch
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
22
|
-
-
|
|
19
|
+
- Cannot update/rename the "v1" branch label
|
|
20
|
+
- Use "v1" as the source_branch when cloning from the default branch
|
|
21
|
+
- The "live" property indicates which branch is active for API requests
|
|
22
|
+
- "backup" property indicates if branch was created as a backup
|
|
23
|
+
- Always verify branch before making changes (dev vs prod)`,
|
|
23
24
|
endpoints: [
|
|
24
25
|
{
|
|
25
26
|
method: "GET",
|
|
@@ -30,11 +31,78 @@ export const branchDoc = {
|
|
|
30
31
|
{ name: "workspace_id", type: "integer", required: true, in: "path", description: "Workspace ID" }
|
|
31
32
|
]
|
|
32
33
|
},
|
|
34
|
+
{
|
|
35
|
+
method: "GET",
|
|
36
|
+
path: "/workspace/{workspace_id}/branch/{branch_label}",
|
|
37
|
+
tool_name: "getBranch",
|
|
38
|
+
description: "Retrieve details for a specific branch by label. Use 'v1' for the default branch.",
|
|
39
|
+
parameters: [
|
|
40
|
+
{ name: "workspace_id", type: "integer", required: true, in: "path", description: "Workspace ID" },
|
|
41
|
+
{ name: "branch_label", type: "string", required: true, in: "path", description: "Branch label (use 'v1' for default branch)" }
|
|
42
|
+
]
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
method: "POST",
|
|
46
|
+
path: "/workspace/{workspace_id}/branch",
|
|
47
|
+
tool_name: "createBranch",
|
|
48
|
+
description: "Create a new branch by cloning from an existing branch. Use 'v1' as source_branch for the default branch.",
|
|
49
|
+
parameters: [
|
|
50
|
+
{ name: "workspace_id", type: "integer", required: true, in: "path", description: "Workspace ID" }
|
|
51
|
+
],
|
|
52
|
+
request_body: {
|
|
53
|
+
type: "object",
|
|
54
|
+
properties: {
|
|
55
|
+
source_branch: { type: "string", description: "Label of the branch to clone from. Defaults to 'v1'", required: false },
|
|
56
|
+
label: { type: "string", description: "Label for the new branch", required: true },
|
|
57
|
+
description: { type: "string", description: "Description for the new branch", required: false },
|
|
58
|
+
color: { type: "string", description: "Color hex code for the branch (e.g., '#ebc346')", required: false }
|
|
59
|
+
},
|
|
60
|
+
example: {
|
|
61
|
+
source_branch: "v1",
|
|
62
|
+
label: "feature-branch",
|
|
63
|
+
description: "A new feature branch",
|
|
64
|
+
color: "#ebc346"
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
method: "PUT",
|
|
70
|
+
path: "/workspace/{workspace_id}/branch/{branch_label}",
|
|
71
|
+
tool_name: "updateBranch",
|
|
72
|
+
description: "Update an existing branch's label, description, or color. Cannot update the default 'v1' branch label.",
|
|
73
|
+
parameters: [
|
|
74
|
+
{ name: "workspace_id", type: "integer", required: true, in: "path", description: "Workspace ID" },
|
|
75
|
+
{ name: "branch_label", type: "string", required: true, in: "path", description: "Current label of the branch to update" }
|
|
76
|
+
],
|
|
77
|
+
request_body: {
|
|
78
|
+
type: "object",
|
|
79
|
+
properties: {
|
|
80
|
+
label: { type: "string", description: "New label for the branch", required: false },
|
|
81
|
+
description: { type: "string", description: "New description for the branch", required: false },
|
|
82
|
+
color: { type: "string", description: "New color hex code for the branch", required: false }
|
|
83
|
+
},
|
|
84
|
+
example: {
|
|
85
|
+
label: "updated-branch",
|
|
86
|
+
description: "Updated description",
|
|
87
|
+
color: "#ff5733"
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
method: "POST",
|
|
93
|
+
path: "/workspace/{workspace_id}/branch/{branch_label}/live",
|
|
94
|
+
tool_name: "setBranchLive",
|
|
95
|
+
description: "Set a branch as the live (active) branch for the workspace. The live branch is the default branch used for API requests.",
|
|
96
|
+
parameters: [
|
|
97
|
+
{ name: "workspace_id", type: "integer", required: true, in: "path", description: "Workspace ID" },
|
|
98
|
+
{ name: "branch_label", type: "string", required: true, in: "path", description: "Label of the branch to set as live (use 'v1' for default)" }
|
|
99
|
+
]
|
|
100
|
+
},
|
|
33
101
|
{
|
|
34
102
|
method: "DELETE",
|
|
35
103
|
path: "/workspace/{workspace_id}/branch/{branch_label}",
|
|
36
104
|
tool_name: "deleteBranch",
|
|
37
|
-
description: "Delete a branch. Cannot delete 'v1' or the live branch.",
|
|
105
|
+
description: "Delete a branch. Cannot delete the 'v1' branch or the currently live branch.",
|
|
38
106
|
parameters: [
|
|
39
107
|
{ name: "workspace_id", type: "integer", required: true, in: "path", description: "Workspace ID" },
|
|
40
108
|
{ name: "branch_label", type: "string", required: true, in: "path", description: "Branch label/name to delete" }
|
|
@@ -45,9 +113,10 @@ export const branchDoc = {
|
|
|
45
113
|
Branch: {
|
|
46
114
|
type: "object",
|
|
47
115
|
properties: {
|
|
116
|
+
created_at: { type: "string", format: "date-time", description: "When the branch was created" },
|
|
48
117
|
label: { type: "string", description: "Branch identifier (e.g., 'v1', 'dev')" },
|
|
49
|
-
|
|
50
|
-
|
|
118
|
+
backup: { type: "boolean", description: "Whether this branch was created as a backup" },
|
|
119
|
+
live: { type: "boolean", description: "Whether this is the live/production branch" }
|
|
51
120
|
}
|
|
52
121
|
}
|
|
53
122
|
},
|
|
@@ -60,12 +129,79 @@ export const branchDoc = {
|
|
|
60
129
|
path: "/workspace/1/branch",
|
|
61
130
|
headers: { "Authorization": "Bearer <token>" }
|
|
62
131
|
},
|
|
132
|
+
response: [
|
|
133
|
+
{ created_at: "2024-01-15T10:30:00Z", label: "v1", backup: false, live: true },
|
|
134
|
+
{ created_at: "2024-02-01T14:20:00Z", label: "dev", backup: false, live: false },
|
|
135
|
+
{ created_at: "2024-02-10T09:15:00Z", label: "staging", backup: false, live: false }
|
|
136
|
+
]
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
title: "Get a specific branch",
|
|
140
|
+
description: "Retrieve details for a single branch",
|
|
141
|
+
request: {
|
|
142
|
+
method: "GET",
|
|
143
|
+
path: "/workspace/1/branch/dev",
|
|
144
|
+
headers: { "Authorization": "Bearer <token>" }
|
|
145
|
+
},
|
|
146
|
+
response: {
|
|
147
|
+
created_at: "2024-02-01T14:20:00Z",
|
|
148
|
+
label: "dev",
|
|
149
|
+
backup: false,
|
|
150
|
+
live: false
|
|
151
|
+
}
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
title: "Create a new branch",
|
|
155
|
+
description: "Clone from v1 to create a development branch",
|
|
156
|
+
request: {
|
|
157
|
+
method: "POST",
|
|
158
|
+
path: "/workspace/1/branch",
|
|
159
|
+
headers: { "Authorization": "Bearer <token>" },
|
|
160
|
+
body: {
|
|
161
|
+
source_branch: "v1",
|
|
162
|
+
label: "feature-auth",
|
|
163
|
+
description: "Authentication feature development",
|
|
164
|
+
color: "#ebc346"
|
|
165
|
+
}
|
|
166
|
+
},
|
|
167
|
+
response: {
|
|
168
|
+
created_at: "2024-02-11T10:00:00Z",
|
|
169
|
+
label: "feature-auth",
|
|
170
|
+
backup: false,
|
|
171
|
+
live: false
|
|
172
|
+
}
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
title: "Update a branch",
|
|
176
|
+
description: "Rename a branch and update its color",
|
|
177
|
+
request: {
|
|
178
|
+
method: "PUT",
|
|
179
|
+
path: "/workspace/1/branch/feature-auth",
|
|
180
|
+
headers: { "Authorization": "Bearer <token>" },
|
|
181
|
+
body: {
|
|
182
|
+
label: "feature-authentication",
|
|
183
|
+
color: "#ff5733"
|
|
184
|
+
}
|
|
185
|
+
},
|
|
186
|
+
response: {
|
|
187
|
+
created_at: "2024-02-11T10:00:00Z",
|
|
188
|
+
label: "feature-authentication",
|
|
189
|
+
backup: false
|
|
190
|
+
}
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
title: "Set branch as live",
|
|
194
|
+
description: "Make a branch the active production branch",
|
|
195
|
+
request: {
|
|
196
|
+
method: "POST",
|
|
197
|
+
path: "/workspace/1/branch/staging/live",
|
|
198
|
+
headers: { "Authorization": "Bearer <token>" }
|
|
199
|
+
},
|
|
63
200
|
response: {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
]
|
|
201
|
+
created_at: "2024-02-10T09:15:00Z",
|
|
202
|
+
label: "staging",
|
|
203
|
+
backup: false,
|
|
204
|
+
live: true
|
|
69
205
|
}
|
|
70
206
|
}
|
|
71
207
|
],
|
|
@@ -4,7 +4,7 @@ export const workspaceDoc = {
|
|
|
4
4
|
description: `Workspaces are the top-level container for all Xano resources. Each workspace contains databases, APIs, functions, tasks, agents, and more.
|
|
5
5
|
|
|
6
6
|
## Key Operations
|
|
7
|
-
-
|
|
7
|
+
- Create/list/get/update/delete workspaces
|
|
8
8
|
- Export/import workspace data
|
|
9
9
|
- Generate workspace context for AI
|
|
10
10
|
- Get OpenAPI specifications
|
|
@@ -13,7 +13,9 @@ export const workspaceDoc = {
|
|
|
13
13
|
- Export before making major changes (backup)
|
|
14
14
|
- Check branch before modifying (prod vs dev)
|
|
15
15
|
- \`export-schema\` is lighter than \`export\` (schema only vs full data)
|
|
16
|
-
- OpenAPI spec useful for understanding available endpoints
|
|
16
|
+
- OpenAPI spec useful for understanding available endpoints
|
|
17
|
+
- \`deleteWorkspace\` requires user confirmation - workspaces with active tenants cannot be deleted
|
|
18
|
+
- Workspace creation is limited by the package tier`,
|
|
17
19
|
endpoints: [
|
|
18
20
|
{
|
|
19
21
|
method: "GET",
|
|
@@ -37,6 +39,38 @@ export const workspaceDoc = {
|
|
|
37
39
|
{ name: "workspace_id", type: "integer", required: true, in: "path", description: "Workspace ID" }
|
|
38
40
|
]
|
|
39
41
|
},
|
|
42
|
+
{
|
|
43
|
+
method: "POST",
|
|
44
|
+
path: "/workspace",
|
|
45
|
+
tool_name: "addWorkspace",
|
|
46
|
+
description: "Create a new workspace. Respects the instance workspace limit based on the package tier.",
|
|
47
|
+
parameters: [
|
|
48
|
+
{ name: "name", type: "string", required: true, description: "Name of the workspace" },
|
|
49
|
+
{ name: "description", type: "string", description: "Description for the workspace" }
|
|
50
|
+
]
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
method: "PUT",
|
|
54
|
+
path: "/workspace/{workspace_id}",
|
|
55
|
+
tool_name: "updateWorkspace",
|
|
56
|
+
description: "Update an existing workspace's settings.",
|
|
57
|
+
parameters: [
|
|
58
|
+
{ name: "workspace_id", type: "integer", required: true, in: "path", description: "ID of the workspace to update" },
|
|
59
|
+
{ name: "name", type: "string", description: "New name for the workspace" },
|
|
60
|
+
{ name: "description", type: "string", description: "New description for the workspace" },
|
|
61
|
+
{ name: "swagger", type: "boolean", description: "Enable or disable swagger documentation" },
|
|
62
|
+
{ name: "documentation.require_token", type: "boolean", description: "Whether to require a token for documentation access" }
|
|
63
|
+
]
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
method: "DELETE",
|
|
67
|
+
path: "/workspace/{workspace_id}",
|
|
68
|
+
tool_name: "deleteWorkspace",
|
|
69
|
+
description: "Delete a workspace and all its data permanently. Cannot delete a workspace that has active tenants.",
|
|
70
|
+
parameters: [
|
|
71
|
+
{ name: "workspace_id", type: "integer", required: true, in: "path", description: "ID of the workspace to delete" }
|
|
72
|
+
]
|
|
73
|
+
},
|
|
40
74
|
{
|
|
41
75
|
method: "POST",
|
|
42
76
|
path: "/workspace/{workspace_id}/export-schema",
|
|
@@ -144,6 +178,15 @@ export const workspaceDoc = {
|
|
|
144
178
|
id: { type: "integer", description: "Unique workspace ID" },
|
|
145
179
|
name: { type: "string", description: "Workspace name" },
|
|
146
180
|
description: { type: "string", description: "Workspace description" },
|
|
181
|
+
swagger: { type: "boolean", description: "Whether swagger documentation is enabled" },
|
|
182
|
+
documentation: {
|
|
183
|
+
type: "object",
|
|
184
|
+
properties: {
|
|
185
|
+
link: { type: "string", description: "Link to the documentation" },
|
|
186
|
+
require_token: { type: "boolean", description: "Whether a token is required for documentation access" }
|
|
187
|
+
}
|
|
188
|
+
},
|
|
189
|
+
branch: { type: "string", description: "Current branch label" },
|
|
147
190
|
created_at: { type: "string", format: "date-time" },
|
|
148
191
|
updated_at: { type: "string", format: "date-time" }
|
|
149
192
|
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Template for init_workspace tool documentation
|
|
3
|
+
* Edit this file to update the workspace initialization guide
|
|
4
|
+
*/
|
|
5
|
+
export interface ObjectTypeConfig {
|
|
6
|
+
type: string;
|
|
7
|
+
path: string;
|
|
8
|
+
endpoint: string;
|
|
9
|
+
}
|
|
10
|
+
export declare function generateInitWorkspaceTemplate(objectTypes: ObjectTypeConfig[]): string;
|