Skip to content
This repository was archived by the owner on Jan 19, 2026. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
e916b6a
feat: add crud schema
ioannisj Aug 27, 2025
e09e297
feat: add input schema
ioannisj Aug 27, 2025
53fa9bd
feat: add handlers
ioannisj Aug 27, 2025
4adf60f
feat: add api client
ioannisj Aug 27, 2025
c64b50b
feat: add surveys schema
ioannisj Aug 27, 2025
05a3364
feat: support branching logic
ioannisj Aug 29, 2025
215d93e
fix: response based branching schemas
ioannisj Sep 1, 2025
7b4b9e6
feat: add more schema annotations
ioannisj Sep 1, 2025
efaebcb
feat: add survey global stats tool
ioannisj Sep 2, 2025
ab43f7b
fix: survey create tool
ioannisj Sep 2, 2025
76f7b42
fix: improve survey-update tool
ioannisj Sep 2, 2025
dcb5ddc
fix: add linked flag and variants to survey conditions
ioannisj Sep 2, 2025
1bf31db
feat: add targeting filter
ioannisj Sep 3, 2025
1c15a0c
Merge branch 'main' into feat/tools/surveys
ioannisj Sep 3, 2025
6abcd1a
fix: iteration count and frequency
ioannisj Sep 3, 2025
3e67b0d
refactor: types
ioannisj Sep 3, 2025
96eeb83
fix: add some input validations
ioannisj Sep 3, 2025
58331ea
feat: add unit tests
ioannisj Sep 4, 2025
7ab9698
fix: tool definitions
ioannisj Sep 4, 2025
b9dad6b
chore: update schemas
ioannisj Sep 4, 2025
82c8b06
fix: typecheck
ioannisj Sep 4, 2025
6c2c18d
fix: return full survey on create and update
ioannisj Sep 5, 2025
8945f74
fix: SurveyGetAllSchema
ioannisj Sep 5, 2025
2899b85
fix: use openWorldHint true
ioannisj Sep 5, 2025
781b70f
fix: format survey output
ioannisj Sep 5, 2025
78bd34e
fix: add create tool logic
ioannisj Sep 5, 2025
819851d
fix: nullish for output schemas
ioannisj Sep 5, 2025
ffc1f0c
Merge branch 'main' into feat/tools/surveys
joshsny Sep 15, 2025
37bb19a
update tool definitions
joshsny Sep 15, 2025
8b5b230
update defs
joshsny Sep 15, 2025
9acc43d
drop position
joshsny Sep 15, 2025
7613944
update tool inputs schema
joshsny Sep 15, 2025
aa30232
update tests to use project scoped api key
joshsny Sep 15, 2025
a482652
Update typescript/tests/tools/surveys.integration.test.ts
joshsny Sep 15, 2025
c716352
Update typescript/tests/api/client.integration.test.ts
joshsny Sep 15, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
938 changes: 937 additions & 1 deletion python/schema/tool_inputs.py

Large diffs are not rendered by default.

98 changes: 98 additions & 0 deletions schema/tool-definitions.json
Original file line number Diff line number Diff line change
Expand Up @@ -460,5 +460,103 @@
"openWorldHint": true,
"readOnlyHint": false
}
},
"survey-create": {
"description": "Creates a new survey in the project. Surveys can be popover or API-based and support various question types including open-ended, multiple choice, rating, and link questions. Once created, you should ask the user if they want to add the survey to their application code.",
"category": "Surveys",
"summary": "Creates a new survey in the project.",
"required_scopes": ["survey:write"],
"feature": "surveys",
"title": "Create survey",
"annotations": {
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
}
},
"survey-get": {
"description": "Get a specific survey by ID. Returns the survey configuration including questions, targeting, and scheduling details.",
"category": "Surveys",
"summary": "Get a specific survey by ID.",
"required_scopes": ["survey:read"],
"feature": "surveys",
"title": "Get survey",
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
}
},
"surveys-get-all": {
"description": "Get all surveys in the project with optional filtering. Can filter by search term or use pagination.",
"category": "Surveys",
"summary": "Get all surveys in the project with optional filtering.",
"required_scopes": ["survey:read"],
"feature": "surveys",
"title": "Get all surveys",
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
}
},
"survey-update": {
"description": "Update an existing survey by ID. Can update name, description, questions, scheduling, and other survey properties.",
"category": "Surveys",
"summary": "Update an existing survey by ID.",
"required_scopes": ["survey:write"],
"feature": "surveys",
"title": "Update survey",
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": false
}
},
"survey-delete": {
Comment thread
joshsny marked this conversation as resolved.
"description": "Delete a survey by ID (soft delete - marks as archived).",
"category": "Surveys",
"summary": "Delete a survey by ID.",
"required_scopes": ["survey:write"],
"feature": "surveys",
"title": "Delete survey",
"annotations": {
"destructiveHint": true,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": false
}
},
"surveys-global-stats": {
"description": "Get aggregated response statistics across all surveys in the project. Includes event counts (shown, dismissed, sent), unique respondents, conversion rates, and timing data. Supports optional date filtering.",
"category": "Surveys",
"summary": "Get aggregated response statistics across all surveys.",
"required_scopes": ["survey:read"],
"feature": "surveys",
"title": "Get all survey response stats",
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
}
},
"survey-stats": {
"description": "Get response statistics for a specific survey. Includes detailed event counts (shown, dismissed, sent), unique respondents, conversion rates, and timing data. Supports optional date filtering.",
"category": "Surveys",
"summary": "Get response statistics for a specific survey.",
"required_scopes": ["survey:read"],
"feature": "surveys",
"title": "Get survey response stats",
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
}
}
}
Loading