featurebase-node 0.12.0 → 0.14.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.
- package/CHANGELOG.md +37 -0
- package/api-promise.d.mts +1 -0
- package/api-promise.d.mts.map +1 -1
- package/api-promise.d.ts +1 -0
- package/api-promise.d.ts.map +1 -1
- package/api-promise.mjs +1 -0
- package/api-promise.mjs.map +1 -1
- package/client.d.mts +9 -3
- package/client.d.mts.map +1 -1
- package/client.d.ts +9 -3
- package/client.d.ts.map +1 -1
- package/client.js +6 -0
- package/client.js.map +1 -1
- package/client.mjs +6 -0
- package/client.mjs.map +1 -1
- package/core/api-promise.d.mts.map +1 -1
- package/core/api-promise.d.ts.map +1 -1
- package/core/api-promise.mjs.map +1 -1
- package/core/error.mjs.map +1 -1
- package/core/pagination.d.mts.map +1 -1
- package/core/pagination.d.ts.map +1 -1
- package/core/pagination.mjs.map +1 -1
- package/core/resource.d.mts.map +1 -1
- package/core/resource.d.ts.map +1 -1
- package/core/uploads.d.mts.map +1 -1
- package/core/uploads.d.ts.map +1 -1
- package/core/uploads.mjs.map +1 -1
- package/error.d.mts +1 -0
- package/error.d.mts.map +1 -1
- package/error.d.ts +1 -0
- package/error.d.ts.map +1 -1
- package/error.mjs +1 -0
- package/error.mjs.map +1 -1
- package/index.d.mts.map +1 -1
- package/index.d.ts.map +1 -1
- package/index.mjs.map +1 -1
- package/internal/detect-platform.mjs.map +1 -1
- package/internal/headers.mjs.map +1 -1
- package/internal/parse.d.mts.map +1 -1
- package/internal/parse.d.ts.map +1 -1
- package/internal/parse.mjs.map +1 -1
- package/internal/qs/formats.d.mts.map +1 -1
- package/internal/qs/formats.d.ts.map +1 -1
- package/internal/qs/index.d.mts +2 -2
- package/internal/qs/index.d.mts.map +1 -1
- package/internal/qs/index.d.ts +2 -2
- package/internal/qs/index.d.ts.map +1 -1
- package/internal/qs/index.mjs.map +1 -1
- package/internal/qs/stringify.d.mts.map +1 -1
- package/internal/qs/stringify.d.ts.map +1 -1
- package/internal/qs/stringify.mjs.map +1 -1
- package/internal/qs/utils.d.mts.map +1 -1
- package/internal/qs/utils.d.ts.map +1 -1
- package/internal/qs/utils.mjs.map +1 -1
- package/internal/request-options.d.mts.map +1 -1
- package/internal/request-options.d.ts.map +1 -1
- package/internal/shims.d.mts +6 -0
- package/internal/shims.d.mts.map +1 -1
- package/internal/shims.d.ts +6 -0
- package/internal/shims.d.ts.map +1 -1
- package/internal/to-file.d.mts.map +1 -1
- package/internal/to-file.d.ts.map +1 -1
- package/internal/to-file.mjs.map +1 -1
- package/internal/types.d.mts +4 -4
- package/internal/types.d.mts.map +1 -1
- package/internal/types.d.ts +4 -4
- package/internal/types.d.ts.map +1 -1
- package/internal/uploads.d.mts.map +1 -1
- package/internal/uploads.d.ts.map +1 -1
- package/internal/uploads.mjs.map +1 -1
- package/internal/utils/base64.mjs.map +1 -1
- package/internal/utils/log.d.mts.map +1 -1
- package/internal/utils/log.d.ts.map +1 -1
- package/internal/utils/log.js +2 -0
- package/internal/utils/log.js.map +1 -1
- package/internal/utils/log.mjs +2 -0
- package/internal/utils/log.mjs.map +1 -1
- package/internal/utils/path.mjs.map +1 -1
- package/internal/utils/query.mjs.map +1 -1
- package/internal/utils/values.mjs.map +1 -1
- package/internal/utils.d.mts.map +1 -1
- package/internal/utils.d.ts.map +1 -1
- package/internal/utils.mjs.map +1 -1
- package/package.json +16 -10
- package/pagination.d.mts +1 -0
- package/pagination.d.mts.map +1 -1
- package/pagination.d.ts +1 -0
- package/pagination.d.ts.map +1 -1
- package/pagination.mjs +1 -0
- package/pagination.mjs.map +1 -1
- package/resource.d.mts +1 -0
- package/resource.d.mts.map +1 -1
- package/resource.d.ts +1 -0
- package/resource.d.ts.map +1 -1
- package/resource.mjs +1 -0
- package/resource.mjs.map +1 -1
- package/resources/changelogs/changelogs.d.mts +106 -106
- package/resources/changelogs/changelogs.d.mts.map +1 -1
- package/resources/changelogs/changelogs.d.ts +106 -106
- package/resources/changelogs/changelogs.d.ts.map +1 -1
- package/resources/changelogs/changelogs.js +74 -74
- package/resources/changelogs/changelogs.js.map +1 -1
- package/resources/changelogs/changelogs.mjs +74 -74
- package/resources/changelogs/changelogs.mjs.map +1 -1
- package/resources/changelogs/index.d.mts +1 -1
- package/resources/changelogs/index.d.mts.map +1 -1
- package/resources/changelogs/index.d.ts +1 -1
- package/resources/changelogs/index.d.ts.map +1 -1
- package/resources/changelogs/index.mjs.map +1 -1
- package/resources/changelogs/subscribers.d.mts.map +1 -1
- package/resources/changelogs/subscribers.d.ts.map +1 -1
- package/resources/changelogs/subscribers.mjs.map +1 -1
- package/resources/changelogs.d.mts.map +1 -1
- package/resources/changelogs.d.ts.map +1 -1
- package/resources/changelogs.mjs.map +1 -1
- package/resources/conversation-attributes.d.mts +117 -0
- package/resources/conversation-attributes.d.mts.map +1 -0
- package/resources/conversation-attributes.d.ts +117 -0
- package/resources/conversation-attributes.d.ts.map +1 -0
- package/resources/conversation-attributes.js +61 -0
- package/resources/conversation-attributes.js.map +1 -0
- package/resources/conversation-attributes.mjs +57 -0
- package/resources/conversation-attributes.mjs.map +1 -0
- package/resources/feedback/boards.d.mts +17 -17
- package/resources/feedback/boards.d.mts.map +1 -1
- package/resources/feedback/boards.d.ts +17 -17
- package/resources/feedback/boards.d.ts.map +1 -1
- package/resources/feedback/boards.js +20 -20
- package/resources/feedback/boards.js.map +1 -1
- package/resources/feedback/boards.mjs +20 -20
- package/resources/feedback/boards.mjs.map +1 -1
- package/resources/feedback/comments.d.mts +400 -123
- package/resources/feedback/comments.d.mts.map +1 -1
- package/resources/feedback/comments.d.ts +400 -123
- package/resources/feedback/comments.d.ts.map +1 -1
- package/resources/feedback/comments.js +253 -93
- package/resources/feedback/comments.js.map +1 -1
- package/resources/feedback/comments.mjs +253 -93
- package/resources/feedback/comments.mjs.map +1 -1
- package/resources/feedback/custom-fields.d.mts +34 -34
- package/resources/feedback/custom-fields.d.mts.map +1 -1
- package/resources/feedback/custom-fields.d.ts +34 -34
- package/resources/feedback/custom-fields.d.ts.map +1 -1
- package/resources/feedback/custom-fields.js +36 -36
- package/resources/feedback/custom-fields.js.map +1 -1
- package/resources/feedback/custom-fields.mjs +36 -36
- package/resources/feedback/custom-fields.mjs.map +1 -1
- package/resources/feedback/feedback.d.mts +7 -7
- package/resources/feedback/feedback.d.mts.map +1 -1
- package/resources/feedback/feedback.d.ts +7 -7
- package/resources/feedback/feedback.d.ts.map +1 -1
- package/resources/feedback/feedback.js.map +1 -1
- package/resources/feedback/feedback.mjs.map +1 -1
- package/resources/feedback/index.d.mts +5 -5
- package/resources/feedback/index.d.mts.map +1 -1
- package/resources/feedback/index.d.ts +5 -5
- package/resources/feedback/index.d.ts.map +1 -1
- package/resources/feedback/index.js.map +1 -1
- package/resources/feedback/index.mjs.map +1 -1
- package/resources/feedback/post-statuses.d.mts +18 -18
- package/resources/feedback/post-statuses.d.mts.map +1 -1
- package/resources/feedback/post-statuses.d.ts +18 -18
- package/resources/feedback/post-statuses.d.ts.map +1 -1
- package/resources/feedback/post-statuses.js +23 -23
- package/resources/feedback/post-statuses.js.map +1 -1
- package/resources/feedback/post-statuses.mjs +23 -23
- package/resources/feedback/post-statuses.mjs.map +1 -1
- package/resources/feedback/posts/index.d.mts +1 -1
- package/resources/feedback/posts/index.d.mts.map +1 -1
- package/resources/feedback/posts/index.d.ts +1 -1
- package/resources/feedback/posts/index.d.ts.map +1 -1
- package/resources/feedback/posts/index.js.map +1 -1
- package/resources/feedback/posts/index.mjs.map +1 -1
- package/resources/feedback/posts/posts.d.mts +238 -284
- package/resources/feedback/posts/posts.d.mts.map +1 -1
- package/resources/feedback/posts/posts.d.ts +238 -284
- package/resources/feedback/posts/posts.d.ts.map +1 -1
- package/resources/feedback/posts/posts.js +122 -96
- package/resources/feedback/posts/posts.js.map +1 -1
- package/resources/feedback/posts/posts.mjs +122 -96
- package/resources/feedback/posts/posts.mjs.map +1 -1
- package/resources/feedback/posts/voters.d.mts.map +1 -1
- package/resources/feedback/posts/voters.d.ts.map +1 -1
- package/resources/feedback/posts/voters.mjs.map +1 -1
- package/resources/feedback/posts.d.mts.map +1 -1
- package/resources/feedback/posts.d.ts.map +1 -1
- package/resources/feedback/posts.mjs.map +1 -1
- package/resources/feedback.d.mts.map +1 -1
- package/resources/feedback.d.ts.map +1 -1
- package/resources/feedback.mjs.map +1 -1
- package/resources/help-center/articles.d.mts +98 -152
- package/resources/help-center/articles.d.mts.map +1 -1
- package/resources/help-center/articles.d.ts +98 -152
- package/resources/help-center/articles.d.ts.map +1 -1
- package/resources/help-center/articles.js +73 -73
- package/resources/help-center/articles.js.map +1 -1
- package/resources/help-center/articles.mjs +73 -73
- package/resources/help-center/articles.mjs.map +1 -1
- package/resources/help-center/collections.d.mts +64 -64
- package/resources/help-center/collections.d.mts.map +1 -1
- package/resources/help-center/collections.d.ts +64 -64
- package/resources/help-center/collections.d.ts.map +1 -1
- package/resources/help-center/collections.js +65 -65
- package/resources/help-center/collections.js.map +1 -1
- package/resources/help-center/collections.mjs +65 -65
- package/resources/help-center/collections.mjs.map +1 -1
- package/resources/help-center/help-center.d.mts +5 -5
- package/resources/help-center/help-center.d.mts.map +1 -1
- package/resources/help-center/help-center.d.ts +5 -5
- package/resources/help-center/help-center.d.ts.map +1 -1
- package/resources/help-center/help-center.js.map +1 -1
- package/resources/help-center/help-center.mjs.map +1 -1
- package/resources/help-center/help-centers.d.mts +43 -43
- package/resources/help-center/help-centers.d.mts.map +1 -1
- package/resources/help-center/help-centers.d.ts +43 -43
- package/resources/help-center/help-centers.d.ts.map +1 -1
- package/resources/help-center/help-centers.js +43 -43
- package/resources/help-center/help-centers.js.map +1 -1
- package/resources/help-center/help-centers.mjs +43 -43
- package/resources/help-center/help-centers.mjs.map +1 -1
- package/resources/help-center/index.d.mts +4 -4
- package/resources/help-center/index.d.mts.map +1 -1
- package/resources/help-center/index.d.ts +4 -4
- package/resources/help-center/index.d.ts.map +1 -1
- package/resources/help-center/index.js.map +1 -1
- package/resources/help-center/index.mjs.map +1 -1
- package/resources/help-center/redirect-rules.d.mts +117 -117
- package/resources/help-center/redirect-rules.d.mts.map +1 -1
- package/resources/help-center/redirect-rules.d.ts +117 -117
- package/resources/help-center/redirect-rules.d.ts.map +1 -1
- package/resources/help-center/redirect-rules.js +112 -112
- package/resources/help-center/redirect-rules.js.map +1 -1
- package/resources/help-center/redirect-rules.mjs +112 -112
- package/resources/help-center/redirect-rules.mjs.map +1 -1
- package/resources/help-center.d.mts.map +1 -1
- package/resources/help-center.d.ts.map +1 -1
- package/resources/help-center.mjs.map +1 -1
- package/resources/index.d.mts +4 -3
- package/resources/index.d.mts.map +1 -1
- package/resources/index.d.ts +4 -3
- package/resources/index.d.ts.map +1 -1
- package/resources/index.js +3 -1
- package/resources/index.js.map +1 -1
- package/resources/index.mjs +1 -0
- package/resources/index.mjs.map +1 -1
- package/resources/organization/admins.d.mts +23 -23
- package/resources/organization/admins.d.mts.map +1 -1
- package/resources/organization/admins.d.ts +23 -23
- package/resources/organization/admins.d.ts.map +1 -1
- package/resources/organization/admins.js +25 -25
- package/resources/organization/admins.js.map +1 -1
- package/resources/organization/admins.mjs +25 -25
- package/resources/organization/admins.mjs.map +1 -1
- package/resources/organization/brands.d.mts +50 -50
- package/resources/organization/brands.d.mts.map +1 -1
- package/resources/organization/brands.d.ts +50 -50
- package/resources/organization/brands.d.ts.map +1 -1
- package/resources/organization/brands.js +54 -54
- package/resources/organization/brands.js.map +1 -1
- package/resources/organization/brands.mjs +54 -54
- package/resources/organization/brands.mjs.map +1 -1
- package/resources/organization/index.d.mts +3 -3
- package/resources/organization/index.d.mts.map +1 -1
- package/resources/organization/index.d.ts +3 -3
- package/resources/organization/index.d.ts.map +1 -1
- package/resources/organization/index.mjs.map +1 -1
- package/resources/organization/organization.d.mts +3 -3
- package/resources/organization/organization.d.mts.map +1 -1
- package/resources/organization/organization.d.ts +3 -3
- package/resources/organization/organization.d.ts.map +1 -1
- package/resources/organization/organization.mjs.map +1 -1
- package/resources/organization/teams.d.mts +45 -45
- package/resources/organization/teams.d.mts.map +1 -1
- package/resources/organization/teams.d.ts +45 -45
- package/resources/organization/teams.d.ts.map +1 -1
- package/resources/organization/teams.js +44 -44
- package/resources/organization/teams.js.map +1 -1
- package/resources/organization/teams.mjs +44 -44
- package/resources/organization/teams.mjs.map +1 -1
- package/resources/organization.d.mts.map +1 -1
- package/resources/organization.d.ts.map +1 -1
- package/resources/organization.mjs.map +1 -1
- package/resources/support/conversation-tags.d.mts +40 -40
- package/resources/support/conversation-tags.d.mts.map +1 -1
- package/resources/support/conversation-tags.d.ts +40 -40
- package/resources/support/conversation-tags.d.ts.map +1 -1
- package/resources/support/conversation-tags.js +32 -32
- package/resources/support/conversation-tags.js.map +1 -1
- package/resources/support/conversation-tags.mjs +32 -32
- package/resources/support/conversation-tags.mjs.map +1 -1
- package/resources/support/conversations/conversations.d.mts +624 -722
- package/resources/support/conversations/conversations.d.mts.map +1 -1
- package/resources/support/conversations/conversations.d.ts +624 -722
- package/resources/support/conversations/conversations.d.ts.map +1 -1
- package/resources/support/conversations/conversations.js +309 -302
- package/resources/support/conversations/conversations.js.map +1 -1
- package/resources/support/conversations/conversations.mjs +309 -302
- package/resources/support/conversations/conversations.mjs.map +1 -1
- package/resources/support/conversations/index.d.mts +1 -1
- package/resources/support/conversations/index.d.mts.map +1 -1
- package/resources/support/conversations/index.d.ts +1 -1
- package/resources/support/conversations/index.d.ts.map +1 -1
- package/resources/support/conversations/index.js.map +1 -1
- package/resources/support/conversations/index.mjs.map +1 -1
- package/resources/support/conversations/participants.d.mts.map +1 -1
- package/resources/support/conversations/participants.d.ts.map +1 -1
- package/resources/support/conversations/participants.mjs.map +1 -1
- package/resources/support/conversations.d.mts.map +1 -1
- package/resources/support/conversations.d.ts.map +1 -1
- package/resources/support/conversations.mjs.map +1 -1
- package/resources/support/index.d.mts +3 -3
- package/resources/support/index.d.mts.map +1 -1
- package/resources/support/index.d.ts +3 -3
- package/resources/support/index.d.ts.map +1 -1
- package/resources/support/index.js.map +1 -1
- package/resources/support/index.mjs.map +1 -1
- package/resources/support/support.d.mts +4 -4
- package/resources/support/support.d.mts.map +1 -1
- package/resources/support/support.d.ts +4 -4
- package/resources/support/support.d.ts.map +1 -1
- package/resources/support/support.js.map +1 -1
- package/resources/support/support.mjs.map +1 -1
- package/resources/support/tickets/categories.d.mts +18 -18
- package/resources/support/tickets/categories.d.mts.map +1 -1
- package/resources/support/tickets/categories.d.ts +18 -18
- package/resources/support/tickets/categories.d.ts.map +1 -1
- package/resources/support/tickets/categories.js +25 -25
- package/resources/support/tickets/categories.js.map +1 -1
- package/resources/support/tickets/categories.mjs +25 -25
- package/resources/support/tickets/categories.mjs.map +1 -1
- package/resources/support/tickets/custom-fields.d.mts +20 -20
- package/resources/support/tickets/custom-fields.d.mts.map +1 -1
- package/resources/support/tickets/custom-fields.d.ts +20 -20
- package/resources/support/tickets/custom-fields.d.ts.map +1 -1
- package/resources/support/tickets/custom-fields.js +19 -19
- package/resources/support/tickets/custom-fields.js.map +1 -1
- package/resources/support/tickets/custom-fields.mjs +19 -19
- package/resources/support/tickets/custom-fields.mjs.map +1 -1
- package/resources/support/tickets/index.d.mts +4 -4
- package/resources/support/tickets/index.d.mts.map +1 -1
- package/resources/support/tickets/index.d.ts +4 -4
- package/resources/support/tickets/index.d.ts.map +1 -1
- package/resources/support/tickets/index.mjs.map +1 -1
- package/resources/support/tickets/statuses.d.mts +17 -17
- package/resources/support/tickets/statuses.d.mts.map +1 -1
- package/resources/support/tickets/statuses.d.ts +17 -17
- package/resources/support/tickets/statuses.d.ts.map +1 -1
- package/resources/support/tickets/statuses.js +21 -21
- package/resources/support/tickets/statuses.js.map +1 -1
- package/resources/support/tickets/statuses.mjs +21 -21
- package/resources/support/tickets/statuses.mjs.map +1 -1
- package/resources/support/tickets/tickets.d.mts +69 -69
- package/resources/support/tickets/tickets.d.mts.map +1 -1
- package/resources/support/tickets/tickets.d.ts +69 -69
- package/resources/support/tickets/tickets.d.ts.map +1 -1
- package/resources/support/tickets/tickets.js +44 -44
- package/resources/support/tickets/tickets.js.map +1 -1
- package/resources/support/tickets/tickets.mjs +44 -44
- package/resources/support/tickets/tickets.mjs.map +1 -1
- package/resources/support/tickets.d.mts.map +1 -1
- package/resources/support/tickets.d.ts.map +1 -1
- package/resources/support/tickets.mjs.map +1 -1
- package/resources/support.d.mts.map +1 -1
- package/resources/support.d.ts.map +1 -1
- package/resources/support.mjs.map +1 -1
- package/resources/surveys.d.mts +41 -41
- package/resources/surveys.d.mts.map +1 -1
- package/resources/surveys.d.ts +41 -41
- package/resources/surveys.d.ts.map +1 -1
- package/resources/surveys.js +44 -44
- package/resources/surveys.js.map +1 -1
- package/resources/surveys.mjs +44 -44
- package/resources/surveys.mjs.map +1 -1
- package/resources/users/companies/companies.d.mts +149 -177
- package/resources/users/companies/companies.d.mts.map +1 -1
- package/resources/users/companies/companies.d.ts +149 -177
- package/resources/users/companies/companies.d.ts.map +1 -1
- package/resources/users/companies/companies.js +153 -142
- package/resources/users/companies/companies.js.map +1 -1
- package/resources/users/companies/companies.mjs +153 -142
- package/resources/users/companies/companies.mjs.map +1 -1
- package/resources/users/companies/contacts.d.mts.map +1 -1
- package/resources/users/companies/contacts.d.ts.map +1 -1
- package/resources/users/companies/contacts.mjs.map +1 -1
- package/resources/users/companies/index.d.mts +1 -1
- package/resources/users/companies/index.d.mts.map +1 -1
- package/resources/users/companies/index.d.ts +1 -1
- package/resources/users/companies/index.d.ts.map +1 -1
- package/resources/users/companies/index.mjs.map +1 -1
- package/resources/users/companies.d.mts.map +1 -1
- package/resources/users/companies.d.ts.map +1 -1
- package/resources/users/companies.mjs.map +1 -1
- package/resources/users/contacts/by-user-id/by-user-id.d.mts.map +1 -1
- package/resources/users/contacts/by-user-id/by-user-id.d.ts.map +1 -1
- package/resources/users/contacts/by-user-id/by-user-id.mjs.map +1 -1
- package/resources/users/contacts/by-user-id/email-preferences.d.mts.map +1 -1
- package/resources/users/contacts/by-user-id/email-preferences.d.ts.map +1 -1
- package/resources/users/contacts/by-user-id/email-preferences.mjs.map +1 -1
- package/resources/users/contacts/by-user-id/index.d.mts.map +1 -1
- package/resources/users/contacts/by-user-id/index.d.ts.map +1 -1
- package/resources/users/contacts/by-user-id/index.mjs.map +1 -1
- package/resources/users/contacts/by-user-id.d.mts.map +1 -1
- package/resources/users/contacts/by-user-id.d.ts.map +1 -1
- package/resources/users/contacts/by-user-id.mjs.map +1 -1
- package/resources/users/contacts/contacts.d.mts +229 -256
- package/resources/users/contacts/contacts.d.mts.map +1 -1
- package/resources/users/contacts/contacts.d.ts +229 -256
- package/resources/users/contacts/contacts.d.ts.map +1 -1
- package/resources/users/contacts/contacts.js +213 -201
- package/resources/users/contacts/contacts.js.map +1 -1
- package/resources/users/contacts/contacts.mjs +213 -201
- package/resources/users/contacts/contacts.mjs.map +1 -1
- package/resources/users/contacts/email-preferences.d.mts.map +1 -1
- package/resources/users/contacts/email-preferences.d.ts.map +1 -1
- package/resources/users/contacts/email-preferences.mjs.map +1 -1
- package/resources/users/contacts/index.d.mts +1 -1
- package/resources/users/contacts/index.d.mts.map +1 -1
- package/resources/users/contacts/index.d.ts +1 -1
- package/resources/users/contacts/index.d.ts.map +1 -1
- package/resources/users/contacts/index.mjs.map +1 -1
- package/resources/users/contacts.d.mts.map +1 -1
- package/resources/users/contacts.d.ts.map +1 -1
- package/resources/users/contacts.mjs.map +1 -1
- package/resources/users/index.d.mts +2 -2
- package/resources/users/index.d.mts.map +1 -1
- package/resources/users/index.d.ts +2 -2
- package/resources/users/index.d.ts.map +1 -1
- package/resources/users/index.mjs.map +1 -1
- package/resources/users/users.d.mts +2 -2
- package/resources/users/users.d.mts.map +1 -1
- package/resources/users/users.d.ts +2 -2
- package/resources/users/users.d.ts.map +1 -1
- package/resources/users/users.mjs.map +1 -1
- package/resources/users.d.mts.map +1 -1
- package/resources/users.d.ts.map +1 -1
- package/resources/users.mjs.map +1 -1
- package/resources/webhooks.d.mts +75 -75
- package/resources/webhooks.d.mts.map +1 -1
- package/resources/webhooks.d.ts +75 -75
- package/resources/webhooks.d.ts.map +1 -1
- package/resources/webhooks.js +77 -77
- package/resources/webhooks.js.map +1 -1
- package/resources/webhooks.mjs +77 -77
- package/resources/webhooks.mjs.map +1 -1
- package/resources.d.mts.map +1 -1
- package/resources.d.ts.map +1 -1
- package/resources.mjs.map +1 -1
- package/src/client.ts +25 -3
- package/src/internal/utils/log.ts +2 -0
- package/src/resources/changelogs/changelogs.ts +170 -170
- package/src/resources/changelogs/index.ts +1 -1
- package/src/resources/conversation-attributes.ts +181 -0
- package/src/resources/feedback/boards.ts +28 -28
- package/src/resources/feedback/comments.ts +464 -141
- package/src/resources/feedback/custom-fields.ts +44 -44
- package/src/resources/feedback/feedback.ts +23 -5
- package/src/resources/feedback/index.ts +14 -5
- package/src/resources/feedback/post-statuses.ts +31 -31
- package/src/resources/feedback/posts/index.ts +7 -1
- package/src/resources/feedback/posts/posts.ts +294 -340
- package/src/resources/help-center/articles.ts +123 -186
- package/src/resources/help-center/collections.ts +84 -84
- package/src/resources/help-center/help-center.ts +7 -5
- package/src/resources/help-center/help-centers.ts +55 -55
- package/src/resources/help-center/index.ts +6 -5
- package/src/resources/help-center/redirect-rules.ts +174 -174
- package/src/resources/index.ts +11 -3
- package/src/resources/organization/admins.ts +33 -33
- package/src/resources/organization/brands.ts +66 -66
- package/src/resources/organization/index.ts +3 -3
- package/src/resources/organization/organization.ts +3 -3
- package/src/resources/organization/teams.ts +52 -52
- package/src/resources/support/conversation-tags.ts +59 -59
- package/src/resources/support/conversations/conversations.ts +748 -867
- package/src/resources/support/conversations/index.ts +11 -6
- package/src/resources/support/index.ts +14 -9
- package/src/resources/support/support.ts +21 -11
- package/src/resources/support/tickets/categories.ts +33 -33
- package/src/resources/support/tickets/custom-fields.ts +27 -27
- package/src/resources/support/tickets/index.ts +4 -4
- package/src/resources/support/tickets/statuses.ts +29 -29
- package/src/resources/support/tickets/tickets.ts +95 -95
- package/src/resources/surveys.ts +58 -58
- package/src/resources/users/companies/companies.ts +193 -223
- package/src/resources/users/companies/index.ts +2 -2
- package/src/resources/users/contacts/contacts.ts +275 -302
- package/src/resources/users/contacts/index.ts +3 -3
- package/src/resources/users/index.ts +5 -5
- package/src/resources/users/users.ts +5 -5
- package/src/resources/webhooks.ts +95 -95
- package/src/version.ts +1 -1
- package/uploads.d.mts +1 -0
- package/uploads.d.mts.map +1 -1
- package/uploads.d.ts +1 -0
- package/uploads.d.ts.map +1 -1
- package/uploads.mjs +1 -0
- package/uploads.mjs.map +1 -1
- package/version.d.mts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.mjs +1 -1
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
2
|
|
|
3
3
|
import { APIResource } from '../../core/resource';
|
|
4
|
+
import * as CommentsAPI from './comments';
|
|
5
|
+
import * as PostsAPI from './posts/posts';
|
|
4
6
|
import * as TicketsAPI from '../support/tickets/tickets';
|
|
5
7
|
import { APIPromise } from '../../core/api-promise';
|
|
6
8
|
import { CursorPage, type CursorPageParams, PagePromise } from '../../core/pagination';
|
|
@@ -12,6 +14,103 @@ import { path } from '../../internal/utils/path';
|
|
|
12
14
|
* Threaded discussions on posts and changelogs. Comments support voting, moderation, and privacy controls.
|
|
13
15
|
*/
|
|
14
16
|
export class Comments extends APIResource {
|
|
17
|
+
/**
|
|
18
|
+
* Returns comments for your organization.
|
|
19
|
+
*
|
|
20
|
+
* Comments are threaded discussions. Each comment can have:
|
|
21
|
+
*
|
|
22
|
+
* - Author information
|
|
23
|
+
* - Voting (upvotes/downvotes)
|
|
24
|
+
* - Privacy settings (public/private)
|
|
25
|
+
* - Moderation status
|
|
26
|
+
* - Parent comment reference for threading
|
|
27
|
+
*
|
|
28
|
+
* ### Filtering
|
|
29
|
+
*
|
|
30
|
+
* Optionally filter by:
|
|
31
|
+
*
|
|
32
|
+
* - `postId` - Get comments for a specific post
|
|
33
|
+
* - `changelogId` - Get comments for a specific changelog
|
|
34
|
+
*
|
|
35
|
+
* If no filter is provided, returns all comments across the organization.
|
|
36
|
+
*
|
|
37
|
+
* ### Pagination
|
|
38
|
+
*
|
|
39
|
+
* This endpoint uses **cursor-based pagination**:
|
|
40
|
+
*
|
|
41
|
+
* - `limit` - Number of comments to return (1-100, default 10)
|
|
42
|
+
* - `cursor` - Opaque cursor from a previous response's `nextCursor` field
|
|
43
|
+
*
|
|
44
|
+
* **Example:** To paginate through results:
|
|
45
|
+
*
|
|
46
|
+
* 1. First request: `GET /v2/comments?postId={id}&limit=10`
|
|
47
|
+
* 2. If `nextCursor` is not null, use it for the next page
|
|
48
|
+
* 3. Next request: `GET /v2/comments?postId={id}&limit=10&cursor={nextCursor}`
|
|
49
|
+
*
|
|
50
|
+
* ### Response Format
|
|
51
|
+
*
|
|
52
|
+
* Returns a list object with:
|
|
53
|
+
*
|
|
54
|
+
* - `object` - Always "list"
|
|
55
|
+
* - `data` - Array of comment objects (flat structure with `parentCommentId` for
|
|
56
|
+
* threading)
|
|
57
|
+
* - `nextCursor` - Cursor for the next page (null if no more results)
|
|
58
|
+
*
|
|
59
|
+
* ### Comment Structure
|
|
60
|
+
*
|
|
61
|
+
* Each comment includes:
|
|
62
|
+
*
|
|
63
|
+
* - `id` - Unique comment identifier
|
|
64
|
+
* - `postId` / `changelogId` - Reference to the parent content
|
|
65
|
+
* - `parentCommentId` - Reference to parent comment (null for root comments)
|
|
66
|
+
* - `content` - Comment content in HTML format
|
|
67
|
+
* - `author` - Author information (id, name, profilePicture, type)
|
|
68
|
+
* - `upvotes` / `downvotes` / `score` - Voting metrics
|
|
69
|
+
* - `isPrivate` - Whether comment is only visible to admins
|
|
70
|
+
* - `inReview` - Whether comment is pending moderation
|
|
71
|
+
* - `created` / `updated` - Unix timestamps
|
|
72
|
+
*
|
|
73
|
+
* ### Additional Filters
|
|
74
|
+
*
|
|
75
|
+
* - `privacy` - Filter by privacy: "public", "private", or "all"
|
|
76
|
+
* - `inReview` - Filter by moderation status (true/false)
|
|
77
|
+
*
|
|
78
|
+
* ### Sorting
|
|
79
|
+
*
|
|
80
|
+
* Use `sortBy` to sort results:
|
|
81
|
+
*
|
|
82
|
+
* - `best` - Sort by confidence score (default, like Reddit)
|
|
83
|
+
* - `top` - Sort by net score (upvotes - downvotes)
|
|
84
|
+
* - `new` - Sort by creation date, newest first
|
|
85
|
+
* - `old` - Sort by creation date, oldest first
|
|
86
|
+
*
|
|
87
|
+
* @example
|
|
88
|
+
* ```ts
|
|
89
|
+
* // Automatically fetches more pages as needed.
|
|
90
|
+
* for await (const comment of client.feedback.comments.list()) {
|
|
91
|
+
* // ...
|
|
92
|
+
* }
|
|
93
|
+
* ```
|
|
94
|
+
*/
|
|
95
|
+
list(
|
|
96
|
+
params: CommentListParams | null | undefined = {},
|
|
97
|
+
options?: RequestOptions,
|
|
98
|
+
): PagePromise<CommentsCursorPage, Comment> {
|
|
99
|
+
const { 'Featurebase-Version': featurebaseVersion, ...query } = params ?? {};
|
|
100
|
+
return this._client.getAPIList('/v2/comments', CursorPage<Comment>, {
|
|
101
|
+
query,
|
|
102
|
+
...options,
|
|
103
|
+
headers: buildHeaders([
|
|
104
|
+
{
|
|
105
|
+
...(featurebaseVersion?.toString() != null ?
|
|
106
|
+
{ 'Featurebase-Version': featurebaseVersion?.toString() }
|
|
107
|
+
: undefined),
|
|
108
|
+
},
|
|
109
|
+
options?.headers,
|
|
110
|
+
]),
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
|
|
15
114
|
/**
|
|
16
115
|
* Creates a new comment or reply to an existing comment.
|
|
17
116
|
*
|
|
@@ -199,103 +298,6 @@ export class Comments extends APIResource {
|
|
|
199
298
|
});
|
|
200
299
|
}
|
|
201
300
|
|
|
202
|
-
/**
|
|
203
|
-
* Returns comments for your organization.
|
|
204
|
-
*
|
|
205
|
-
* Comments are threaded discussions. Each comment can have:
|
|
206
|
-
*
|
|
207
|
-
* - Author information
|
|
208
|
-
* - Voting (upvotes/downvotes)
|
|
209
|
-
* - Privacy settings (public/private)
|
|
210
|
-
* - Moderation status
|
|
211
|
-
* - Parent comment reference for threading
|
|
212
|
-
*
|
|
213
|
-
* ### Filtering
|
|
214
|
-
*
|
|
215
|
-
* Optionally filter by:
|
|
216
|
-
*
|
|
217
|
-
* - `postId` - Get comments for a specific post
|
|
218
|
-
* - `changelogId` - Get comments for a specific changelog
|
|
219
|
-
*
|
|
220
|
-
* If no filter is provided, returns all comments across the organization.
|
|
221
|
-
*
|
|
222
|
-
* ### Pagination
|
|
223
|
-
*
|
|
224
|
-
* This endpoint uses **cursor-based pagination**:
|
|
225
|
-
*
|
|
226
|
-
* - `limit` - Number of comments to return (1-100, default 10)
|
|
227
|
-
* - `cursor` - Opaque cursor from a previous response's `nextCursor` field
|
|
228
|
-
*
|
|
229
|
-
* **Example:** To paginate through results:
|
|
230
|
-
*
|
|
231
|
-
* 1. First request: `GET /v2/comments?postId={id}&limit=10`
|
|
232
|
-
* 2. If `nextCursor` is not null, use it for the next page
|
|
233
|
-
* 3. Next request: `GET /v2/comments?postId={id}&limit=10&cursor={nextCursor}`
|
|
234
|
-
*
|
|
235
|
-
* ### Response Format
|
|
236
|
-
*
|
|
237
|
-
* Returns a list object with:
|
|
238
|
-
*
|
|
239
|
-
* - `object` - Always "list"
|
|
240
|
-
* - `data` - Array of comment objects (flat structure with `parentCommentId` for
|
|
241
|
-
* threading)
|
|
242
|
-
* - `nextCursor` - Cursor for the next page (null if no more results)
|
|
243
|
-
*
|
|
244
|
-
* ### Comment Structure
|
|
245
|
-
*
|
|
246
|
-
* Each comment includes:
|
|
247
|
-
*
|
|
248
|
-
* - `id` - Unique comment identifier
|
|
249
|
-
* - `postId` / `changelogId` - Reference to the parent content
|
|
250
|
-
* - `parentCommentId` - Reference to parent comment (null for root comments)
|
|
251
|
-
* - `content` - Comment content in HTML format
|
|
252
|
-
* - `author` - Author information (id, name, profilePicture, type)
|
|
253
|
-
* - `upvotes` / `downvotes` / `score` - Voting metrics
|
|
254
|
-
* - `isPrivate` - Whether comment is only visible to admins
|
|
255
|
-
* - `inReview` - Whether comment is pending moderation
|
|
256
|
-
* - `created` / `updated` - Unix timestamps
|
|
257
|
-
*
|
|
258
|
-
* ### Additional Filters
|
|
259
|
-
*
|
|
260
|
-
* - `privacy` - Filter by privacy: "public", "private", or "all"
|
|
261
|
-
* - `inReview` - Filter by moderation status (true/false)
|
|
262
|
-
*
|
|
263
|
-
* ### Sorting
|
|
264
|
-
*
|
|
265
|
-
* Use `sortBy` to sort results:
|
|
266
|
-
*
|
|
267
|
-
* - `best` - Sort by confidence score (default, like Reddit)
|
|
268
|
-
* - `top` - Sort by net score (upvotes - downvotes)
|
|
269
|
-
* - `new` - Sort by creation date, newest first
|
|
270
|
-
* - `old` - Sort by creation date, oldest first
|
|
271
|
-
*
|
|
272
|
-
* @example
|
|
273
|
-
* ```ts
|
|
274
|
-
* // Automatically fetches more pages as needed.
|
|
275
|
-
* for await (const comment of client.feedback.comments.list()) {
|
|
276
|
-
* // ...
|
|
277
|
-
* }
|
|
278
|
-
* ```
|
|
279
|
-
*/
|
|
280
|
-
list(
|
|
281
|
-
params: CommentListParams | null | undefined = {},
|
|
282
|
-
options?: RequestOptions,
|
|
283
|
-
): PagePromise<CommentsCursorPage, Comment> {
|
|
284
|
-
const { 'Featurebase-Version': featurebaseVersion, ...query } = params ?? {};
|
|
285
|
-
return this._client.getAPIList('/v2/comments', CursorPage<Comment>, {
|
|
286
|
-
query,
|
|
287
|
-
...options,
|
|
288
|
-
headers: buildHeaders([
|
|
289
|
-
{
|
|
290
|
-
...(featurebaseVersion?.toString() != null ?
|
|
291
|
-
{ 'Featurebase-Version': featurebaseVersion?.toString() }
|
|
292
|
-
: undefined),
|
|
293
|
-
},
|
|
294
|
-
options?.headers,
|
|
295
|
-
]),
|
|
296
|
-
});
|
|
297
|
-
}
|
|
298
|
-
|
|
299
301
|
/**
|
|
300
302
|
* Deletes a comment by its unique identifier.
|
|
301
303
|
*
|
|
@@ -438,6 +440,167 @@ export class Comments extends APIResource {
|
|
|
438
440
|
]),
|
|
439
441
|
});
|
|
440
442
|
}
|
|
443
|
+
|
|
444
|
+
/**
|
|
445
|
+
* Search comments with a structured filter AST, full-text search, sorting, and
|
|
446
|
+
* cursor pagination.
|
|
447
|
+
*
|
|
448
|
+
* ### Two modes (combinable)
|
|
449
|
+
*
|
|
450
|
+
* - **Filter mode** — pass a structured `query` AST (and/or `sort`) and the
|
|
451
|
+
* endpoint returns comments matching the filter, ordered by `sort` (default
|
|
452
|
+
* `createdAt:desc`). Same shape as `/v2/posts/search`,
|
|
453
|
+
* `/v2/conversations/search`, `/v2/companies/search`, `/v2/contacts/search`.
|
|
454
|
+
* - **Search mode** — pass a top-level `search` string and the endpoint runs a
|
|
455
|
+
* hybrid full-text + vector search over comment `content`, returning matches
|
|
456
|
+
* ranked by relevance. Optional: combine with `query` to constrain the search to
|
|
457
|
+
* a post / changelog / author / time window, and/or `sort` to override relevance
|
|
458
|
+
* ranking with chronological order.
|
|
459
|
+
*
|
|
460
|
+
* ```json
|
|
461
|
+
* {
|
|
462
|
+
* "search": "dark mode feedback",
|
|
463
|
+
* "query": {
|
|
464
|
+
* "operator": "AND",
|
|
465
|
+
* "value": [
|
|
466
|
+
* {
|
|
467
|
+
* "field": "postId",
|
|
468
|
+
* "operator": "=",
|
|
469
|
+
* "value": "507f1f77bcf86cd799439011"
|
|
470
|
+
* }
|
|
471
|
+
* ]
|
|
472
|
+
* },
|
|
473
|
+
* "limit": 20
|
|
474
|
+
* }
|
|
475
|
+
* ```
|
|
476
|
+
*
|
|
477
|
+
* `search` is server-managed: no operators, no field selection, no special syntax
|
|
478
|
+
* — same plain-text contract as `/v2/posts/search`. The string must be 1–500
|
|
479
|
+
* characters.
|
|
480
|
+
*
|
|
481
|
+
* ### Structured query AST
|
|
482
|
+
*
|
|
483
|
+
* Each clause has the shape `{ field, operator, value }`. You can pass a single
|
|
484
|
+
* clause or wrap up to 15 in a top-level `AND` group. To list every comment a
|
|
485
|
+
* contact has authored:
|
|
486
|
+
*
|
|
487
|
+
* ```json
|
|
488
|
+
* {
|
|
489
|
+
* "query": {
|
|
490
|
+
* "field": "authorId",
|
|
491
|
+
* "operator": "=",
|
|
492
|
+
* "value": "507f1f77bcf86cd799439011"
|
|
493
|
+
* },
|
|
494
|
+
* "sort": "createdAt:desc",
|
|
495
|
+
* "limit": 100
|
|
496
|
+
* }
|
|
497
|
+
* ```
|
|
498
|
+
*
|
|
499
|
+
* Top-level `OR` groups and nested groups are not supported in this version.
|
|
500
|
+
*
|
|
501
|
+
* ### Supported fields and operators
|
|
502
|
+
*
|
|
503
|
+
* Field names are camelCase, matching the rest of the v2 public API. The other v2
|
|
504
|
+
* search endpoints (posts, contacts, companies, conversations) shipped earlier
|
|
505
|
+
* with snake_case field names and continue to accept those for back-compat;
|
|
506
|
+
* comments search is greenfield and ships with camelCase only.
|
|
507
|
+
*
|
|
508
|
+
* | Field | Type | Operators |
|
|
509
|
+
* | ------------------------------------- | ----------------------- | --------------------------------------------------------------------------- |
|
|
510
|
+
* | `authorId` | string (user id) | `=`, `!=`, `IN`, `NIN` |
|
|
511
|
+
* | `postId` | id or null (submission) | `=`, `!=`, `IN`, `NIN` (use `null` for changelog-only comments) |
|
|
512
|
+
* | `changelogId` | id or null | `=`, `!=`, `IN`, `NIN` (use `null` for post-only comments) |
|
|
513
|
+
* | `parentCommentId` | id or null | `=`, `!=`, `IN`, `NIN` (use `null` for root comments, non-null for replies) |
|
|
514
|
+
* | `isPrivate` | boolean | `=`, `!=` |
|
|
515
|
+
* | `inReview` | boolean | `=`, `!=` |
|
|
516
|
+
* | `createdAt` | unix seconds | `=`, `!=`, `>`, `<`, `>=`, `<=` |
|
|
517
|
+
* | `upvotes`, `score`, `confidenceScore` | number | `=`, `!=`, `>`, `<`, `>=`, `<=` |
|
|
518
|
+
*
|
|
519
|
+
* Use the top-level `search` field for full-text search across comment `content`
|
|
520
|
+
* (see "Search mode" above). The clause-level operators `~`, `!~`, `^`, `$` are
|
|
521
|
+
* reserved for future use and currently return `400`.
|
|
522
|
+
*
|
|
523
|
+
* A filter-mode query (no `search`) consisting only of `!=` or `NIN` clauses on
|
|
524
|
+
* unbounded fields is rejected with `query_too_broad` to prevent full-org scans.
|
|
525
|
+
* Combine the negation with at least one positive clause (`=`, `IN`, `>`, `<`)
|
|
526
|
+
* instead. Boolean fields (`isPrivate`, `inReview`) are bounded so a standalone
|
|
527
|
+
* negation on them is allowed. Search mode (with `search` set) relaxes this — the
|
|
528
|
+
* FTS query itself acts as the positive constraint.
|
|
529
|
+
*
|
|
530
|
+
* ### Sort
|
|
531
|
+
*
|
|
532
|
+
* Allowed values:
|
|
533
|
+
*
|
|
534
|
+
* - `createdAt:desc` (default in filter mode), `createdAt:asc` — newest / oldest
|
|
535
|
+
* first
|
|
536
|
+
* - `confidenceScore:desc` (the dashboard's "Best" view), `confidenceScore:asc`
|
|
537
|
+
* (low-confidence first, useful for moderation)
|
|
538
|
+
* - `score:desc` — raw upvotes − downvotes ("Top")
|
|
539
|
+
*
|
|
540
|
+
* Numeric counters (`upvotes`, `score`, `confidenceScore`) remain available as
|
|
541
|
+
* filter fields with the full range of operators; only the sort axes above are
|
|
542
|
+
* surfaced to keep the cursor-pagination contract small. `score:asc` and `upvotes`
|
|
543
|
+
* (both directions) are deliberately not exposed: `upvotes:desc` is identical to
|
|
544
|
+
* `score:desc` for the vast majority of comments (no downvotes), and
|
|
545
|
+
* "most-downvoted-first" / "least-upvoted-first" have no product use case.
|
|
546
|
+
*
|
|
547
|
+
* When `search` is set, results are ranked by relevance unless `sort` is also set,
|
|
548
|
+
* in which case the matching comments are returned in the requested order. The
|
|
549
|
+
* chosen sort axis (or relevance) is encoded in the cursor; switching `sort` (or
|
|
550
|
+
* toggling `search` on/off) mid-pagination returns `400 invalid_cursor`. Restart
|
|
551
|
+
* pagination without a cursor when changing the sort or search shape.
|
|
552
|
+
*
|
|
553
|
+
* ### Pagination
|
|
554
|
+
*
|
|
555
|
+
* Cursor-based, `limit` between 1 and 100 (default 10). In filter mode,
|
|
556
|
+
* `totalCount` is approximate and capped at 5000; `totalCountCapped` is `true`
|
|
557
|
+
* when the real count may be higher. In search mode, `totalCount` reflects the
|
|
558
|
+
* matching survivor set after the AST filter and is capped at 200 (the Turbopuffer
|
|
559
|
+
* top-K).
|
|
560
|
+
*
|
|
561
|
+
* ### Server-side guards
|
|
562
|
+
*
|
|
563
|
+
* These visibility rules are always applied and CANNOT be widened via the AST:
|
|
564
|
+
*
|
|
565
|
+
* - Callers without the `view_comments_private` permission can only see public
|
|
566
|
+
* comments. Sending `{ field: "isPrivate", operator: "=", value: true }` as such
|
|
567
|
+
* a caller returns an empty result, NOT a 403 — the security floor wins.
|
|
568
|
+
* - Callers without the `moderate_comments` permission can only see in-review
|
|
569
|
+
* comments they authored themselves. `inReview` queries from such callers are
|
|
570
|
+
* intersected with the authored-by-self constraint.
|
|
571
|
+
* - Spam comments (`isSpam: true`) are NOT excluded — this matches the legacy
|
|
572
|
+
* `GET /v2/comments` behavior. If you want to exclude spam, filter on the
|
|
573
|
+
* `isSpam` field (NOT exposed today; track follow-up).
|
|
574
|
+
*
|
|
575
|
+
* ### Response
|
|
576
|
+
*
|
|
577
|
+
* Returns a standard list envelope with comment rows identical to
|
|
578
|
+
* `GET /v2/comments/{id}`.
|
|
579
|
+
*
|
|
580
|
+
* ### Version Availability
|
|
581
|
+
*
|
|
582
|
+
* This endpoint is only available in API version 2026-01-01.nova and newer.
|
|
583
|
+
*
|
|
584
|
+
* @example
|
|
585
|
+
* ```ts
|
|
586
|
+
* const response = await client.feedback.comments.search();
|
|
587
|
+
* ```
|
|
588
|
+
*/
|
|
589
|
+
search(params: CommentSearchParams, options?: RequestOptions): APIPromise<CommentSearchResponse> {
|
|
590
|
+
const { 'Featurebase-Version': featurebaseVersion, ...body } = params;
|
|
591
|
+
return this._client.post('/v2/comments/search', {
|
|
592
|
+
body,
|
|
593
|
+
...options,
|
|
594
|
+
headers: buildHeaders([
|
|
595
|
+
{
|
|
596
|
+
...(featurebaseVersion?.toString() != null ?
|
|
597
|
+
{ 'Featurebase-Version': featurebaseVersion?.toString() }
|
|
598
|
+
: undefined),
|
|
599
|
+
},
|
|
600
|
+
options?.headers,
|
|
601
|
+
]),
|
|
602
|
+
});
|
|
603
|
+
}
|
|
441
604
|
}
|
|
442
605
|
|
|
443
606
|
export type CommentsCursorPage = CursorPage<Comment>;
|
|
@@ -448,7 +611,7 @@ export interface Comment {
|
|
|
448
611
|
*/
|
|
449
612
|
id: string;
|
|
450
613
|
|
|
451
|
-
author:
|
|
614
|
+
author: CommentAuthor | null;
|
|
452
615
|
|
|
453
616
|
/**
|
|
454
617
|
* Changelog ID this comment belongs to
|
|
@@ -526,28 +689,26 @@ export interface Comment {
|
|
|
526
689
|
upvotes: number;
|
|
527
690
|
}
|
|
528
691
|
|
|
529
|
-
export
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
id: string | null;
|
|
692
|
+
export interface CommentAuthor {
|
|
693
|
+
/**
|
|
694
|
+
* Author unique identifier
|
|
695
|
+
*/
|
|
696
|
+
id: string | null;
|
|
535
697
|
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
698
|
+
/**
|
|
699
|
+
* Author display name
|
|
700
|
+
*/
|
|
701
|
+
name: string;
|
|
540
702
|
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
703
|
+
/**
|
|
704
|
+
* Author profile picture URL
|
|
705
|
+
*/
|
|
706
|
+
profilePicture: string | null;
|
|
545
707
|
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
}
|
|
708
|
+
/**
|
|
709
|
+
* Type of user who authored the comment
|
|
710
|
+
*/
|
|
711
|
+
type: 'admin' | 'customer' | 'guest' | 'integration' | 'bot' | 'lead';
|
|
551
712
|
}
|
|
552
713
|
|
|
553
714
|
export interface CommentDelete0Response {
|
|
@@ -571,6 +732,155 @@ export interface CommentDelete1Response {
|
|
|
571
732
|
success: boolean;
|
|
572
733
|
}
|
|
573
734
|
|
|
735
|
+
export interface CommentSearchResponse {
|
|
736
|
+
/**
|
|
737
|
+
* Array of search results
|
|
738
|
+
*/
|
|
739
|
+
data: Array<CommentSearchResponse.Data>;
|
|
740
|
+
|
|
741
|
+
/**
|
|
742
|
+
* Cursor for fetching the next page (null if no more results)
|
|
743
|
+
*/
|
|
744
|
+
nextCursor: string | null;
|
|
745
|
+
|
|
746
|
+
/**
|
|
747
|
+
* Object type identifier
|
|
748
|
+
*/
|
|
749
|
+
object: 'list';
|
|
750
|
+
|
|
751
|
+
/**
|
|
752
|
+
* Total number of comments matching the query, capped at 5000 in filter mode and
|
|
753
|
+
* 200 (the Turbopuffer top-K) in search mode. When at the cap, `totalCountCapped`
|
|
754
|
+
* is true and the value is exactly the cap.
|
|
755
|
+
*/
|
|
756
|
+
totalCount?: number;
|
|
757
|
+
|
|
758
|
+
/**
|
|
759
|
+
* True when `totalCount` is exactly the cap and the real count may be higher. UI
|
|
760
|
+
* can render as e.g. "5000+".
|
|
761
|
+
*/
|
|
762
|
+
totalCountCapped?: boolean;
|
|
763
|
+
}
|
|
764
|
+
|
|
765
|
+
export namespace CommentSearchResponse {
|
|
766
|
+
export interface Data {
|
|
767
|
+
/**
|
|
768
|
+
* Unique identifier
|
|
769
|
+
*/
|
|
770
|
+
id: string;
|
|
771
|
+
|
|
772
|
+
author: CommentsAPI.CommentAuthor | null;
|
|
773
|
+
|
|
774
|
+
/**
|
|
775
|
+
* Changelog ID this comment belongs to
|
|
776
|
+
*/
|
|
777
|
+
changelogId: string | null;
|
|
778
|
+
|
|
779
|
+
/**
|
|
780
|
+
* Comment content in HTML format
|
|
781
|
+
*/
|
|
782
|
+
content: string;
|
|
783
|
+
|
|
784
|
+
/**
|
|
785
|
+
* ISO 8601 timestamp when created
|
|
786
|
+
*/
|
|
787
|
+
createdAt: string;
|
|
788
|
+
|
|
789
|
+
/**
|
|
790
|
+
* Number of downvotes
|
|
791
|
+
*/
|
|
792
|
+
downvotes: number;
|
|
793
|
+
|
|
794
|
+
/**
|
|
795
|
+
* Whether the comment is in review
|
|
796
|
+
*/
|
|
797
|
+
inReview: boolean;
|
|
798
|
+
|
|
799
|
+
/**
|
|
800
|
+
* Whether the comment is deleted
|
|
801
|
+
*/
|
|
802
|
+
isDeleted: boolean;
|
|
803
|
+
|
|
804
|
+
/**
|
|
805
|
+
* Whether the comment is pinned
|
|
806
|
+
*/
|
|
807
|
+
isPinned: boolean;
|
|
808
|
+
|
|
809
|
+
/**
|
|
810
|
+
* Whether the comment is private
|
|
811
|
+
*/
|
|
812
|
+
isPrivate: boolean;
|
|
813
|
+
|
|
814
|
+
/**
|
|
815
|
+
* Whether the comment is spam
|
|
816
|
+
*/
|
|
817
|
+
isSpam: boolean;
|
|
818
|
+
|
|
819
|
+
/**
|
|
820
|
+
* Object type identifier
|
|
821
|
+
*/
|
|
822
|
+
object: 'comment';
|
|
823
|
+
|
|
824
|
+
/**
|
|
825
|
+
* Parent comment ID for replies, null for root comments
|
|
826
|
+
*/
|
|
827
|
+
parentCommentId: string | null;
|
|
828
|
+
|
|
829
|
+
/**
|
|
830
|
+
* Post ID this comment belongs to
|
|
831
|
+
*/
|
|
832
|
+
postId: string | null;
|
|
833
|
+
|
|
834
|
+
/**
|
|
835
|
+
* Net score (upvotes - downvotes)
|
|
836
|
+
*/
|
|
837
|
+
score: number;
|
|
838
|
+
|
|
839
|
+
/**
|
|
840
|
+
* ISO 8601 timestamp when updated
|
|
841
|
+
*/
|
|
842
|
+
updatedAt: string;
|
|
843
|
+
|
|
844
|
+
/**
|
|
845
|
+
* Number of upvotes
|
|
846
|
+
*/
|
|
847
|
+
upvotes: number;
|
|
848
|
+
}
|
|
849
|
+
}
|
|
850
|
+
|
|
851
|
+
export interface CommentListParams extends CursorPageParams {
|
|
852
|
+
/**
|
|
853
|
+
* Query param: Filter comments by changelog ID
|
|
854
|
+
*/
|
|
855
|
+
changelogId?: string;
|
|
856
|
+
|
|
857
|
+
/**
|
|
858
|
+
* Query param: Filter by review status
|
|
859
|
+
*/
|
|
860
|
+
inReview?: boolean | null;
|
|
861
|
+
|
|
862
|
+
/**
|
|
863
|
+
* Query param: Filter comments by post ID
|
|
864
|
+
*/
|
|
865
|
+
postId?: string;
|
|
866
|
+
|
|
867
|
+
/**
|
|
868
|
+
* Query param: Filter comments by privacy
|
|
869
|
+
*/
|
|
870
|
+
privacy?: 'public' | 'private' | 'all';
|
|
871
|
+
|
|
872
|
+
/**
|
|
873
|
+
* Query param: Sort order for comments
|
|
874
|
+
*/
|
|
875
|
+
sortBy?: 'best' | 'top' | 'new' | 'old';
|
|
876
|
+
|
|
877
|
+
/**
|
|
878
|
+
* Header param: API version for this request. Defaults to your organization's
|
|
879
|
+
* configured API version if not specified.
|
|
880
|
+
*/
|
|
881
|
+
'Featurebase-Version'?: '2026-01-01.nova' | '2025-12-12.clover';
|
|
882
|
+
}
|
|
883
|
+
|
|
574
884
|
export interface CommentCreateParams {
|
|
575
885
|
/**
|
|
576
886
|
* Body param: Comment content in HTML format
|
|
@@ -687,52 +997,62 @@ export interface CommentUpdateParams {
|
|
|
687
997
|
'Featurebase-Version'?: '2026-01-01.nova' | '2025-12-12.clover';
|
|
688
998
|
}
|
|
689
999
|
|
|
690
|
-
export interface
|
|
1000
|
+
export interface CommentDelete0Params {
|
|
691
1001
|
/**
|
|
692
|
-
*
|
|
1002
|
+
* API version for this request. Defaults to your organization's configured API
|
|
1003
|
+
* version if not specified.
|
|
693
1004
|
*/
|
|
694
|
-
|
|
1005
|
+
'Featurebase-Version'?: '2026-01-01.nova' | '2025-12-12.clover';
|
|
1006
|
+
}
|
|
695
1007
|
|
|
1008
|
+
export interface CommentDelete1Params {
|
|
696
1009
|
/**
|
|
697
|
-
*
|
|
1010
|
+
* Body param: Comment ID
|
|
698
1011
|
*/
|
|
699
|
-
|
|
1012
|
+
id: string;
|
|
700
1013
|
|
|
701
1014
|
/**
|
|
702
|
-
*
|
|
1015
|
+
* Header param: API version for this request. Defaults to your organization's
|
|
1016
|
+
* configured API version if not specified.
|
|
703
1017
|
*/
|
|
704
|
-
|
|
1018
|
+
'Featurebase-Version'?: '2026-01-01.nova' | '2025-12-12.clover';
|
|
1019
|
+
}
|
|
705
1020
|
|
|
1021
|
+
export interface CommentSearchParams {
|
|
706
1022
|
/**
|
|
707
|
-
*
|
|
1023
|
+
* Body param: An opaque cursor for pagination. Use the `nextCursor` value from a
|
|
1024
|
+
* previous response to fetch the next page of results.
|
|
708
1025
|
*/
|
|
709
|
-
|
|
1026
|
+
cursor?: string;
|
|
710
1027
|
|
|
711
1028
|
/**
|
|
712
|
-
*
|
|
1029
|
+
* Body param: A limit on the number of objects to be returned, between 1 and 100.
|
|
713
1030
|
*/
|
|
714
|
-
|
|
1031
|
+
limit?: number;
|
|
715
1032
|
|
|
716
1033
|
/**
|
|
717
|
-
*
|
|
718
|
-
*
|
|
1034
|
+
* Body param: Structured filter AST. Either a single filter clause or one
|
|
1035
|
+
* top-level AND group (max 15 clauses). Top-level OR groups are not yet supported.
|
|
719
1036
|
*/
|
|
720
|
-
|
|
721
|
-
}
|
|
1037
|
+
query?: PostsAPI.SearchFilter | PostsAPI.SearchFilterGroup;
|
|
722
1038
|
|
|
723
|
-
export interface CommentDelete0Params {
|
|
724
1039
|
/**
|
|
725
|
-
*
|
|
726
|
-
*
|
|
1040
|
+
* Body param: Plain-text full-text search across comment `content`. Server-managed
|
|
1041
|
+
* (hybrid BM25 + vector, semanticRatio 0.5) — no operators, no field selection.
|
|
1042
|
+
* When `search` is set, results are ranked by relevance unless `sort` is also set,
|
|
1043
|
+
* in which case the matching comments are returned in the requested order. Combine
|
|
1044
|
+
* with `query` to constrain the search to a post / changelog / author / time
|
|
1045
|
+
* window.
|
|
727
1046
|
*/
|
|
728
|
-
|
|
729
|
-
}
|
|
1047
|
+
search?: string;
|
|
730
1048
|
|
|
731
|
-
export interface CommentDelete1Params {
|
|
732
1049
|
/**
|
|
733
|
-
* Body param:
|
|
1050
|
+
* Body param: Sort field + direction. Defaults to `createdAt:desc` in filter mode
|
|
1051
|
+
* and to relevance in search mode. The chosen sort axis is encoded in the cursor;
|
|
1052
|
+
* switching `sort` (or toggling `search` on/off) mid-pagination returns
|
|
1053
|
+
* `400 invalid_cursor`.
|
|
734
1054
|
*/
|
|
735
|
-
|
|
1055
|
+
sort?: 'createdAt:desc' | 'createdAt:asc' | 'confidenceScore:desc' | 'confidenceScore:asc' | 'score:desc';
|
|
736
1056
|
|
|
737
1057
|
/**
|
|
738
1058
|
* Header param: API version for this request. Defaults to your organization's
|
|
@@ -744,14 +1064,17 @@ export interface CommentDelete1Params {
|
|
|
744
1064
|
export declare namespace Comments {
|
|
745
1065
|
export {
|
|
746
1066
|
type Comment as Comment,
|
|
1067
|
+
type CommentAuthor as CommentAuthor,
|
|
747
1068
|
type CommentDelete0Response as CommentDelete0Response,
|
|
748
1069
|
type CommentDelete1Response as CommentDelete1Response,
|
|
1070
|
+
type CommentSearchResponse as CommentSearchResponse,
|
|
749
1071
|
type CommentsCursorPage as CommentsCursorPage,
|
|
1072
|
+
type CommentListParams as CommentListParams,
|
|
750
1073
|
type CommentCreateParams as CommentCreateParams,
|
|
751
1074
|
type CommentRetrieveParams as CommentRetrieveParams,
|
|
752
1075
|
type CommentUpdateParams as CommentUpdateParams,
|
|
753
|
-
type CommentListParams as CommentListParams,
|
|
754
1076
|
type CommentDelete0Params as CommentDelete0Params,
|
|
755
1077
|
type CommentDelete1Params as CommentDelete1Params,
|
|
1078
|
+
type CommentSearchParams as CommentSearchParams,
|
|
756
1079
|
};
|
|
757
1080
|
}
|