@keystrokehq/productlane 0.1.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/README.md +17 -0
- package/dist/action.cjs +21 -0
- package/dist/action.cjs.map +1 -0
- package/dist/action.mjs +21 -0
- package/dist/action.mjs.map +1 -0
- package/dist/actions/create-changelog.cjs +33 -0
- package/dist/actions/create-changelog.cjs.map +1 -0
- package/dist/actions/create-changelog.d.cts +9 -0
- package/dist/actions/create-changelog.d.cts.map +1 -0
- package/dist/actions/create-changelog.d.mts +9 -0
- package/dist/actions/create-changelog.d.mts.map +1 -0
- package/dist/actions/create-changelog.mjs +30 -0
- package/dist/actions/create-changelog.mjs.map +1 -0
- package/dist/actions/create-company.cjs +52 -0
- package/dist/actions/create-company.cjs.map +1 -0
- package/dist/actions/create-company.d.cts +9 -0
- package/dist/actions/create-company.d.cts.map +1 -0
- package/dist/actions/create-company.d.mts +9 -0
- package/dist/actions/create-company.d.mts.map +1 -0
- package/dist/actions/create-company.mjs +49 -0
- package/dist/actions/create-company.mjs.map +1 -0
- package/dist/actions/create-contact.cjs +37 -0
- package/dist/actions/create-contact.cjs.map +1 -0
- package/dist/actions/create-contact.d.cts +9 -0
- package/dist/actions/create-contact.d.cts.map +1 -0
- package/dist/actions/create-contact.d.mts +9 -0
- package/dist/actions/create-contact.d.mts.map +1 -0
- package/dist/actions/create-contact.mjs +34 -0
- package/dist/actions/create-contact.mjs.map +1 -0
- package/dist/actions/create-feedback.cjs +53 -0
- package/dist/actions/create-feedback.cjs.map +1 -0
- package/dist/actions/create-feedback.d.cts +9 -0
- package/dist/actions/create-feedback.d.cts.map +1 -0
- package/dist/actions/create-feedback.d.mts +9 -0
- package/dist/actions/create-feedback.d.mts.map +1 -0
- package/dist/actions/create-feedback.mjs +50 -0
- package/dist/actions/create-feedback.mjs.map +1 -0
- package/dist/actions/create-insight.cjs +188 -0
- package/dist/actions/create-insight.cjs.map +1 -0
- package/dist/actions/create-insight.d.cts +9 -0
- package/dist/actions/create-insight.d.cts.map +1 -0
- package/dist/actions/create-insight.d.mts +9 -0
- package/dist/actions/create-insight.d.mts.map +1 -0
- package/dist/actions/create-insight.mjs +187 -0
- package/dist/actions/create-insight.mjs.map +1 -0
- package/dist/actions/create-thread.cjs +29 -0
- package/dist/actions/create-thread.cjs.map +1 -0
- package/dist/actions/create-thread.d.cts +9 -0
- package/dist/actions/create-thread.d.cts.map +1 -0
- package/dist/actions/create-thread.d.mts +9 -0
- package/dist/actions/create-thread.d.mts.map +1 -0
- package/dist/actions/create-thread.mjs +26 -0
- package/dist/actions/create-thread.mjs.map +1 -0
- package/dist/actions/create-upvote.cjs +28 -0
- package/dist/actions/create-upvote.cjs.map +1 -0
- package/dist/actions/create-upvote.d.cts +9 -0
- package/dist/actions/create-upvote.d.cts.map +1 -0
- package/dist/actions/create-upvote.d.mts +9 -0
- package/dist/actions/create-upvote.d.mts.map +1 -0
- package/dist/actions/create-upvote.mjs +25 -0
- package/dist/actions/create-upvote.mjs.map +1 -0
- package/dist/actions/delete-company.cjs +16 -0
- package/dist/actions/delete-company.cjs.map +1 -0
- package/dist/actions/delete-company.d.cts +9 -0
- package/dist/actions/delete-company.d.cts.map +1 -0
- package/dist/actions/delete-company.d.mts +9 -0
- package/dist/actions/delete-company.d.mts.map +1 -0
- package/dist/actions/delete-company.mjs +13 -0
- package/dist/actions/delete-company.mjs.map +1 -0
- package/dist/actions/delete-contact.cjs +16 -0
- package/dist/actions/delete-contact.cjs.map +1 -0
- package/dist/actions/delete-contact.d.cts +9 -0
- package/dist/actions/delete-contact.d.cts.map +1 -0
- package/dist/actions/delete-contact.d.mts +9 -0
- package/dist/actions/delete-contact.d.mts.map +1 -0
- package/dist/actions/delete-contact.mjs +13 -0
- package/dist/actions/delete-contact.mjs.map +1 -0
- package/dist/actions/delete-upvote.cjs +25 -0
- package/dist/actions/delete-upvote.cjs.map +1 -0
- package/dist/actions/delete-upvote.d.cts +9 -0
- package/dist/actions/delete-upvote.d.cts.map +1 -0
- package/dist/actions/delete-upvote.d.mts +9 -0
- package/dist/actions/delete-upvote.d.mts.map +1 -0
- package/dist/actions/delete-upvote.mjs +22 -0
- package/dist/actions/delete-upvote.mjs.map +1 -0
- package/dist/actions/enable-widget.cjs +19 -0
- package/dist/actions/enable-widget.cjs.map +1 -0
- package/dist/actions/enable-widget.d.cts +9 -0
- package/dist/actions/enable-widget.d.cts.map +1 -0
- package/dist/actions/enable-widget.d.mts +9 -0
- package/dist/actions/enable-widget.d.mts.map +1 -0
- package/dist/actions/enable-widget.mjs +16 -0
- package/dist/actions/enable-widget.mjs.map +1 -0
- package/dist/actions/get-changelog.cjs +38 -0
- package/dist/actions/get-changelog.cjs.map +1 -0
- package/dist/actions/get-changelog.d.cts +9 -0
- package/dist/actions/get-changelog.d.cts.map +1 -0
- package/dist/actions/get-changelog.d.mts +9 -0
- package/dist/actions/get-changelog.d.mts.map +1 -0
- package/dist/actions/get-changelog.mjs +35 -0
- package/dist/actions/get-changelog.mjs.map +1 -0
- package/dist/actions/get-company.cjs +44 -0
- package/dist/actions/get-company.cjs.map +1 -0
- package/dist/actions/get-company.d.cts +9 -0
- package/dist/actions/get-company.d.cts.map +1 -0
- package/dist/actions/get-company.d.mts +9 -0
- package/dist/actions/get-company.d.mts.map +1 -0
- package/dist/actions/get-company.mjs +43 -0
- package/dist/actions/get-company.mjs.map +1 -0
- package/dist/actions/get-contact.cjs +31 -0
- package/dist/actions/get-contact.cjs.map +1 -0
- package/dist/actions/get-contact.d.cts +9 -0
- package/dist/actions/get-contact.d.cts.map +1 -0
- package/dist/actions/get-contact.d.mts +9 -0
- package/dist/actions/get-contact.d.mts.map +1 -0
- package/dist/actions/get-contact.mjs +28 -0
- package/dist/actions/get-contact.mjs.map +1 -0
- package/dist/actions/get-help-center-article.cjs +33 -0
- package/dist/actions/get-help-center-article.cjs.map +1 -0
- package/dist/actions/get-help-center-article.d.cts +9 -0
- package/dist/actions/get-help-center-article.d.cts.map +1 -0
- package/dist/actions/get-help-center-article.d.mts +9 -0
- package/dist/actions/get-help-center-article.d.mts.map +1 -0
- package/dist/actions/get-help-center-article.mjs +30 -0
- package/dist/actions/get-help-center-article.mjs.map +1 -0
- package/dist/actions/get-insight.cjs +167 -0
- package/dist/actions/get-insight.cjs.map +1 -0
- package/dist/actions/get-insight.d.cts +9 -0
- package/dist/actions/get-insight.d.cts.map +1 -0
- package/dist/actions/get-insight.d.mts +9 -0
- package/dist/actions/get-insight.d.mts.map +1 -0
- package/dist/actions/get-insight.mjs +166 -0
- package/dist/actions/get-insight.mjs.map +1 -0
- package/dist/actions/get-issue.cjs +43 -0
- package/dist/actions/get-issue.cjs.map +1 -0
- package/dist/actions/get-issue.d.cts +9 -0
- package/dist/actions/get-issue.d.cts.map +1 -0
- package/dist/actions/get-issue.d.mts +9 -0
- package/dist/actions/get-issue.d.mts.map +1 -0
- package/dist/actions/get-issue.mjs +40 -0
- package/dist/actions/get-issue.mjs.map +1 -0
- package/dist/actions/get-linear-options.cjs +28 -0
- package/dist/actions/get-linear-options.cjs.map +1 -0
- package/dist/actions/get-linear-options.d.cts +9 -0
- package/dist/actions/get-linear-options.d.cts.map +1 -0
- package/dist/actions/get-linear-options.d.mts +9 -0
- package/dist/actions/get-linear-options.d.mts.map +1 -0
- package/dist/actions/get-linear-options.mjs +27 -0
- package/dist/actions/get-linear-options.mjs.map +1 -0
- package/dist/actions/get-project.cjs +34 -0
- package/dist/actions/get-project.cjs.map +1 -0
- package/dist/actions/get-project.d.cts +9 -0
- package/dist/actions/get-project.d.cts.map +1 -0
- package/dist/actions/get-project.d.mts +9 -0
- package/dist/actions/get-project.d.mts.map +1 -0
- package/dist/actions/get-project.mjs +31 -0
- package/dist/actions/get-project.mjs.map +1 -0
- package/dist/actions/get-workspace.cjs +53 -0
- package/dist/actions/get-workspace.cjs.map +1 -0
- package/dist/actions/get-workspace.d.cts +9 -0
- package/dist/actions/get-workspace.d.cts.map +1 -0
- package/dist/actions/get-workspace.d.mts +9 -0
- package/dist/actions/get-workspace.d.mts.map +1 -0
- package/dist/actions/get-workspace.mjs +52 -0
- package/dist/actions/get-workspace.mjs.map +1 -0
- package/dist/actions/index.cjs +79 -0
- package/dist/actions/index.d.cts +40 -0
- package/dist/actions/index.d.mts +40 -0
- package/dist/actions/index.mjs +40 -0
- package/dist/actions/invite-user.cjs +24 -0
- package/dist/actions/invite-user.cjs.map +1 -0
- package/dist/actions/invite-user.d.cts +9 -0
- package/dist/actions/invite-user.d.cts.map +1 -0
- package/dist/actions/invite-user.d.mts +9 -0
- package/dist/actions/invite-user.d.mts.map +1 -0
- package/dist/actions/invite-user.mjs +21 -0
- package/dist/actions/invite-user.mjs.map +1 -0
- package/dist/actions/list-changelogs.cjs +34 -0
- package/dist/actions/list-changelogs.cjs.map +1 -0
- package/dist/actions/list-changelogs.d.cts +9 -0
- package/dist/actions/list-changelogs.d.cts.map +1 -0
- package/dist/actions/list-changelogs.d.mts +9 -0
- package/dist/actions/list-changelogs.d.mts.map +1 -0
- package/dist/actions/list-changelogs.mjs +33 -0
- package/dist/actions/list-changelogs.mjs.map +1 -0
- package/dist/actions/list-companies.cjs +61 -0
- package/dist/actions/list-companies.cjs.map +1 -0
- package/dist/actions/list-companies.d.cts +9 -0
- package/dist/actions/list-companies.d.cts.map +1 -0
- package/dist/actions/list-companies.d.mts +9 -0
- package/dist/actions/list-companies.d.mts.map +1 -0
- package/dist/actions/list-companies.mjs +60 -0
- package/dist/actions/list-companies.mjs.map +1 -0
- package/dist/actions/list-contacts.cjs +46 -0
- package/dist/actions/list-contacts.cjs.map +1 -0
- package/dist/actions/list-contacts.d.cts +9 -0
- package/dist/actions/list-contacts.d.cts.map +1 -0
- package/dist/actions/list-contacts.d.mts +9 -0
- package/dist/actions/list-contacts.d.mts.map +1 -0
- package/dist/actions/list-contacts.mjs +45 -0
- package/dist/actions/list-contacts.mjs.map +1 -0
- package/dist/actions/list-help-center-articles.cjs +33 -0
- package/dist/actions/list-help-center-articles.cjs.map +1 -0
- package/dist/actions/list-help-center-articles.d.cts +9 -0
- package/dist/actions/list-help-center-articles.d.cts.map +1 -0
- package/dist/actions/list-help-center-articles.d.mts +9 -0
- package/dist/actions/list-help-center-articles.d.mts.map +1 -0
- package/dist/actions/list-help-center-articles.mjs +32 -0
- package/dist/actions/list-help-center-articles.mjs.map +1 -0
- package/dist/actions/list-insights.cjs +90 -0
- package/dist/actions/list-insights.cjs.map +1 -0
- package/dist/actions/list-insights.d.cts +9 -0
- package/dist/actions/list-insights.d.cts.map +1 -0
- package/dist/actions/list-insights.d.mts +9 -0
- package/dist/actions/list-insights.d.mts.map +1 -0
- package/dist/actions/list-insights.mjs +89 -0
- package/dist/actions/list-insights.mjs.map +1 -0
- package/dist/actions/list-issues.cjs +43 -0
- package/dist/actions/list-issues.cjs.map +1 -0
- package/dist/actions/list-issues.d.cts +9 -0
- package/dist/actions/list-issues.d.cts.map +1 -0
- package/dist/actions/list-issues.d.mts +9 -0
- package/dist/actions/list-issues.d.mts.map +1 -0
- package/dist/actions/list-issues.mjs +42 -0
- package/dist/actions/list-issues.mjs.map +1 -0
- package/dist/actions/list-members.cjs +31 -0
- package/dist/actions/list-members.cjs.map +1 -0
- package/dist/actions/list-members.d.cts +9 -0
- package/dist/actions/list-members.d.cts.map +1 -0
- package/dist/actions/list-members.d.mts +9 -0
- package/dist/actions/list-members.d.mts.map +1 -0
- package/dist/actions/list-members.mjs +30 -0
- package/dist/actions/list-members.mjs.map +1 -0
- package/dist/actions/list-projects.cjs +34 -0
- package/dist/actions/list-projects.cjs.map +1 -0
- package/dist/actions/list-projects.d.cts +9 -0
- package/dist/actions/list-projects.d.cts.map +1 -0
- package/dist/actions/list-projects.d.mts +9 -0
- package/dist/actions/list-projects.d.mts.map +1 -0
- package/dist/actions/list-projects.mjs +33 -0
- package/dist/actions/list-projects.mjs.map +1 -0
- package/dist/actions/update-company.cjs +53 -0
- package/dist/actions/update-company.cjs.map +1 -0
- package/dist/actions/update-company.d.cts +9 -0
- package/dist/actions/update-company.d.cts.map +1 -0
- package/dist/actions/update-company.d.mts +9 -0
- package/dist/actions/update-company.d.mts.map +1 -0
- package/dist/actions/update-company.mjs +50 -0
- package/dist/actions/update-company.mjs.map +1 -0
- package/dist/actions/update-contact.cjs +38 -0
- package/dist/actions/update-contact.cjs.map +1 -0
- package/dist/actions/update-contact.d.cts +9 -0
- package/dist/actions/update-contact.d.cts.map +1 -0
- package/dist/actions/update-contact.d.mts +9 -0
- package/dist/actions/update-contact.d.mts.map +1 -0
- package/dist/actions/update-contact.mjs +35 -0
- package/dist/actions/update-contact.mjs.map +1 -0
- package/dist/actions/update-insight.cjs +116 -0
- package/dist/actions/update-insight.cjs.map +1 -0
- package/dist/actions/update-insight.d.cts +9 -0
- package/dist/actions/update-insight.d.cts.map +1 -0
- package/dist/actions/update-insight.d.mts +9 -0
- package/dist/actions/update-insight.d.mts.map +1 -0
- package/dist/actions/update-insight.mjs +115 -0
- package/dist/actions/update-insight.mjs.map +1 -0
- package/dist/actions/widget-close.cjs +16 -0
- package/dist/actions/widget-close.cjs.map +1 -0
- package/dist/actions/widget-close.d.cts +9 -0
- package/dist/actions/widget-close.d.cts.map +1 -0
- package/dist/actions/widget-close.d.mts +9 -0
- package/dist/actions/widget-close.d.mts.map +1 -0
- package/dist/actions/widget-close.mjs +13 -0
- package/dist/actions/widget-close.mjs.map +1 -0
- package/dist/actions/widget-disable.cjs +19 -0
- package/dist/actions/widget-disable.cjs.map +1 -0
- package/dist/actions/widget-disable.d.cts +9 -0
- package/dist/actions/widget-disable.d.cts.map +1 -0
- package/dist/actions/widget-disable.d.mts +9 -0
- package/dist/actions/widget-disable.d.mts.map +1 -0
- package/dist/actions/widget-disable.mjs +16 -0
- package/dist/actions/widget-disable.mjs.map +1 -0
- package/dist/actions/widget-off-event.cjs +26 -0
- package/dist/actions/widget-off-event.cjs.map +1 -0
- package/dist/actions/widget-off-event.d.cts +9 -0
- package/dist/actions/widget-off-event.d.cts.map +1 -0
- package/dist/actions/widget-off-event.d.mts +9 -0
- package/dist/actions/widget-off-event.d.mts.map +1 -0
- package/dist/actions/widget-off-event.mjs +23 -0
- package/dist/actions/widget-off-event.mjs.map +1 -0
- package/dist/actions/widget-on-event.cjs +24 -0
- package/dist/actions/widget-on-event.cjs.map +1 -0
- package/dist/actions/widget-on-event.d.cts +9 -0
- package/dist/actions/widget-on-event.d.cts.map +1 -0
- package/dist/actions/widget-on-event.d.mts +9 -0
- package/dist/actions/widget-on-event.d.mts.map +1 -0
- package/dist/actions/widget-on-event.mjs +21 -0
- package/dist/actions/widget-on-event.mjs.map +1 -0
- package/dist/actions/widget-open-docs.cjs +19 -0
- package/dist/actions/widget-open-docs.cjs.map +1 -0
- package/dist/actions/widget-open-docs.d.cts +9 -0
- package/dist/actions/widget-open-docs.d.cts.map +1 -0
- package/dist/actions/widget-open-docs.d.mts +9 -0
- package/dist/actions/widget-open-docs.d.mts.map +1 -0
- package/dist/actions/widget-open-docs.mjs +16 -0
- package/dist/actions/widget-open-docs.mjs.map +1 -0
- package/dist/actions/widget-open.cjs +21 -0
- package/dist/actions/widget-open.cjs.map +1 -0
- package/dist/actions/widget-open.d.cts +9 -0
- package/dist/actions/widget-open.d.cts.map +1 -0
- package/dist/actions/widget-open.d.mts +9 -0
- package/dist/actions/widget-open.d.mts.map +1 -0
- package/dist/actions/widget-open.mjs +18 -0
- package/dist/actions/widget-open.mjs.map +1 -0
- package/dist/actions/widget-toggle.cjs +16 -0
- package/dist/actions/widget-toggle.cjs.map +1 -0
- package/dist/actions/widget-toggle.d.cts +9 -0
- package/dist/actions/widget-toggle.d.cts.map +1 -0
- package/dist/actions/widget-toggle.d.mts +9 -0
- package/dist/actions/widget-toggle.d.mts.map +1 -0
- package/dist/actions/widget-toggle.mjs +13 -0
- package/dist/actions/widget-toggle.mjs.map +1 -0
- package/dist/app.cjs +9 -0
- package/dist/app.cjs.map +1 -0
- package/dist/app.d.cts +5 -0
- package/dist/app.d.cts.map +1 -0
- package/dist/app.d.mts +5 -0
- package/dist/app.d.mts.map +1 -0
- package/dist/app.mjs +10 -0
- package/dist/app.mjs.map +1 -0
- package/dist/catalog.cjs +15 -0
- package/dist/catalog.cjs.map +1 -0
- package/dist/catalog.d.cts +14 -0
- package/dist/catalog.d.cts.map +1 -0
- package/dist/catalog.d.mts +14 -0
- package/dist/catalog.d.mts.map +1 -0
- package/dist/catalog.mjs +15 -0
- package/dist/catalog.mjs.map +1 -0
- package/dist/execute.cjs +18 -0
- package/dist/execute.cjs.map +1 -0
- package/dist/execute.mjs +18 -0
- package/dist/execute.mjs.map +1 -0
- package/dist/index.cjs +84 -0
- package/dist/index.d.cts +42 -0
- package/dist/index.d.mts +42 -0
- package/dist/index.mjs +43 -0
- package/package.json +49 -0
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { action } from "../action.mjs";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
const productlaneCreateFeedback = action("PRODUCTLANE_CREATE_FEEDBACK", {
|
|
4
|
+
slug: "productlane-create-feedback",
|
|
5
|
+
name: "Create Feedback",
|
|
6
|
+
description: "Tool to create new feedback in Productlane. Use when submitting user feedback, feature requests, or bug reports through the API. This is equivalent to adding feedback through the Productlane widget or portal. Requires email, feedback text, and pain level.",
|
|
7
|
+
input: z.object({
|
|
8
|
+
name: z.string().describe("Name of the person submitting the feedback. Optional but helpful for attribution.").optional(),
|
|
9
|
+
text: z.string().describe("The feedback content. This is the main text of the feedback submission."),
|
|
10
|
+
email: z.string().describe("Email address of the person submitting the feedback. Must be a valid email format."),
|
|
11
|
+
notify: z.object({
|
|
12
|
+
email: z.boolean().describe("Whether to send email notifications for this feedback.").optional(),
|
|
13
|
+
slack: z.boolean().describe("Whether to send Slack notifications for this feedback.").optional()
|
|
14
|
+
}).describe("Notification preferences for the feedback.").optional(),
|
|
15
|
+
origin: z.enum([
|
|
16
|
+
"INAPP",
|
|
17
|
+
"PORTAL",
|
|
18
|
+
"SUPPORT_PORTAL",
|
|
19
|
+
"API",
|
|
20
|
+
"SLACK",
|
|
21
|
+
"SLACK_CONNECT",
|
|
22
|
+
"INTERCOM",
|
|
23
|
+
"INTERCOM_ATTACHMENT",
|
|
24
|
+
"ZENDESK_ATTACHMENT",
|
|
25
|
+
"ZENDESK",
|
|
26
|
+
"FRONT_ATTACHMENT",
|
|
27
|
+
"EMAIL",
|
|
28
|
+
"ZAPIER",
|
|
29
|
+
"HUBSPOT",
|
|
30
|
+
"PLAIN",
|
|
31
|
+
"CALENDAR",
|
|
32
|
+
"WIDGET",
|
|
33
|
+
"AI_CHAT",
|
|
34
|
+
"UPVOTE"
|
|
35
|
+
]).describe("Source or channel from which the feedback originated.").optional(),
|
|
36
|
+
issueId: z.string().describe("ID of an existing issue to associate this feedback with. Use when linking feedback to a tracked issue.").optional(),
|
|
37
|
+
painLevel: z.enum([
|
|
38
|
+
"UNKNOWN",
|
|
39
|
+
"LOW",
|
|
40
|
+
"MEDIUM",
|
|
41
|
+
"HIGH"
|
|
42
|
+
]).describe("The pain level or severity of the feedback. Indicates how critical or urgent this feedback is."),
|
|
43
|
+
projectId: z.string().describe("ID of the project to associate this feedback with. Use when organizing feedback by project.").optional()
|
|
44
|
+
}),
|
|
45
|
+
output: z.object({ id: z.string().describe("Unique identifier of the newly created feedback.") }).describe("Response from creating feedback.")
|
|
46
|
+
});
|
|
47
|
+
//#endregion
|
|
48
|
+
export { productlaneCreateFeedback };
|
|
49
|
+
|
|
50
|
+
//# sourceMappingURL=create-feedback.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-feedback.mjs","names":[],"sources":["../../src/actions/create-feedback.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ProductlaneCreateFeedbackInput: z.ZodTypeAny = z.object({\n name: z.string().describe(\"Name of the person submitting the feedback. Optional but helpful for attribution.\").optional(),\n text: z.string().describe(\"The feedback content. This is the main text of the feedback submission.\"),\n email: z.string().describe(\"Email address of the person submitting the feedback. Must be a valid email format.\"),\n notify: z.object({\n email: z.boolean().describe(\"Whether to send email notifications for this feedback.\").optional(),\n slack: z.boolean().describe(\"Whether to send Slack notifications for this feedback.\").optional(),\n}).describe(\"Notification preferences for the feedback.\").optional(),\n origin: z.enum([\"INAPP\", \"PORTAL\", \"SUPPORT_PORTAL\", \"API\", \"SLACK\", \"SLACK_CONNECT\", \"INTERCOM\", \"INTERCOM_ATTACHMENT\", \"ZENDESK_ATTACHMENT\", \"ZENDESK\", \"FRONT_ATTACHMENT\", \"EMAIL\", \"ZAPIER\", \"HUBSPOT\", \"PLAIN\", \"CALENDAR\", \"WIDGET\", \"AI_CHAT\", \"UPVOTE\"]).describe(\"Source or channel from which the feedback originated.\").optional(),\n issueId: z.string().describe(\"ID of an existing issue to associate this feedback with. Use when linking feedback to a tracked issue.\").optional(),\n painLevel: z.enum([\"UNKNOWN\", \"LOW\", \"MEDIUM\", \"HIGH\"]).describe(\"The pain level or severity of the feedback. Indicates how critical or urgent this feedback is.\"),\n projectId: z.string().describe(\"ID of the project to associate this feedback with. Use when organizing feedback by project.\").optional(),\n});\nexport const ProductlaneCreateFeedbackOutput: z.ZodTypeAny = z.object({\n id: z.string().describe(\"Unique identifier of the newly created feedback.\"),\n}).describe(\"Response from creating feedback.\");\n\nexport const productlaneCreateFeedback = action(\"PRODUCTLANE_CREATE_FEEDBACK\", {\n slug: \"productlane-create-feedback\",\n name: \"Create Feedback\",\n description: \"Tool to create new feedback in Productlane. Use when submitting user feedback, feature requests, or bug reports through the API. This is equivalent to adding feedback through the Productlane widget or portal. Requires email, feedback text, and pain level.\",\n input: ProductlaneCreateFeedbackInput,\n output: ProductlaneCreateFeedbackOutput,\n});\n"],"mappings":";;AAqBA,MAAa,4BAA4B,OAAO,+BAA+B;CAC7E,MAAM;CACN,MAAM;CACN,aAAa;CACb,OArB0D,EAAE,OAAO;EACnE,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,mFAAmF,CAAC,CAAC,SAAS;EACxH,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,yEAAyE;EACnG,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,oFAAoF;EAC/G,QAAQ,EAAE,OAAO;GACjB,OAAO,EAAE,QAAQ,CAAC,CAAC,SAAS,wDAAwD,CAAC,CAAC,SAAS;GAC/F,OAAO,EAAE,QAAQ,CAAC,CAAC,SAAS,wDAAwD,CAAC,CAAC,SAAS;EACjG,CAAC,CAAC,CAAC,SAAS,4CAA4C,CAAC,CAAC,SAAS;EACjE,QAAQ,EAAE,KAAK;GAAC;GAAS;GAAU;GAAkB;GAAO;GAAS;GAAiB;GAAY;GAAuB;GAAsB;GAAW;GAAoB;GAAS;GAAU;GAAW;GAAS;GAAY;GAAU;GAAW;EAAQ,CAAC,CAAC,CAAC,SAAS,uDAAuD,CAAC,CAAC,SAAS;EAC5U,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,wGAAwG,CAAC,CAAC,SAAS;EAChJ,WAAW,EAAE,KAAK;GAAC;GAAW;GAAO;GAAU;EAAM,CAAC,CAAC,CAAC,SAAS,gGAAgG;EACjK,WAAW,EAAE,OAAO,CAAC,CAAC,SAAS,6FAA6F,CAAC,CAAC,SAAS;CACzI,CASS;CACP,QAT2D,EAAE,OAAO,EACpE,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,kDAAkD,EAC5E,CAAC,CAAC,CAAC,SAAS,kCAOF;AACV,CAAC"}
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
const require_action = require("../action.cjs");
|
|
2
|
+
let zod = require("zod");
|
|
3
|
+
//#region src/actions/create-insight.ts
|
|
4
|
+
const ProductlaneCreateInsightInput = zod.z.object({
|
|
5
|
+
text: zod.z.string().describe("Thread content. Can be HTML formatted. This is the main content of the insight."),
|
|
6
|
+
title: zod.z.string().describe("Title of the insight. Optional, but recommended for better organization.").optional(),
|
|
7
|
+
notify: zod.z.object({
|
|
8
|
+
email: zod.z.boolean().describe("Send email notification when insight is created.").optional(),
|
|
9
|
+
slack: zod.z.boolean().describe("Send Slack notification when insight is created.").optional()
|
|
10
|
+
}).describe("Notification settings for the insight.").optional(),
|
|
11
|
+
origin: zod.z.enum([
|
|
12
|
+
"INAPP",
|
|
13
|
+
"PORTAL",
|
|
14
|
+
"SUPPORT_PORTAL",
|
|
15
|
+
"API",
|
|
16
|
+
"SLACK",
|
|
17
|
+
"SLACK_CONNECT",
|
|
18
|
+
"INTERCOM",
|
|
19
|
+
"INTERCOM_ATTACHMENT",
|
|
20
|
+
"ZENDESK_ATTACHMENT",
|
|
21
|
+
"ZENDESK",
|
|
22
|
+
"FRONT_ATTACHMENT",
|
|
23
|
+
"EMAIL",
|
|
24
|
+
"ZAPIER",
|
|
25
|
+
"HUBSPOT",
|
|
26
|
+
"PLAIN",
|
|
27
|
+
"CALENDAR",
|
|
28
|
+
"WIDGET",
|
|
29
|
+
"AI_CHAT",
|
|
30
|
+
"UPVOTE"
|
|
31
|
+
]).describe("Origin source of the insight.").optional(),
|
|
32
|
+
issueId: zod.z.string().describe("ID of an issue to link with this insight.").optional(),
|
|
33
|
+
companyId: zod.z.string().describe("ID of the company to associate with this insight.").optional(),
|
|
34
|
+
contactId: zod.z.string().describe("ID of an existing contact to associate with this insight.").optional(),
|
|
35
|
+
painLevel: zod.z.enum([
|
|
36
|
+
"UNKNOWN",
|
|
37
|
+
"LOW",
|
|
38
|
+
"MEDIUM",
|
|
39
|
+
"HIGH"
|
|
40
|
+
]).describe("Pain level indicating priority or severity of the insight. Required field."),
|
|
41
|
+
projectId: zod.z.string().describe("ID of the project to associate with this insight.").optional(),
|
|
42
|
+
contactName: zod.z.string().describe("Name of the contact associated with this insight.").optional(),
|
|
43
|
+
contactEmail: zod.z.string().describe("Email address of the contact associated with this insight. Required field.")
|
|
44
|
+
}).describe("Request model for creating a new insight/thread in Productlane.");
|
|
45
|
+
const ProductlaneCreateInsight_InsightStateSchema = zod.z.enum([
|
|
46
|
+
"NEW",
|
|
47
|
+
"PROCESSED",
|
|
48
|
+
"COMPLETED",
|
|
49
|
+
"SNOOZED",
|
|
50
|
+
"UNSNOOZED"
|
|
51
|
+
]).describe("State of the insight.");
|
|
52
|
+
const ProductlaneCreateInsight_OriginSchema = zod.z.enum([
|
|
53
|
+
"INAPP",
|
|
54
|
+
"PORTAL",
|
|
55
|
+
"SUPPORT_PORTAL",
|
|
56
|
+
"API",
|
|
57
|
+
"SLACK",
|
|
58
|
+
"SLACK_CONNECT",
|
|
59
|
+
"INTERCOM",
|
|
60
|
+
"INTERCOM_ATTACHMENT",
|
|
61
|
+
"ZENDESK_ATTACHMENT",
|
|
62
|
+
"ZENDESK",
|
|
63
|
+
"FRONT_ATTACHMENT",
|
|
64
|
+
"EMAIL",
|
|
65
|
+
"ZAPIER",
|
|
66
|
+
"HUBSPOT",
|
|
67
|
+
"PLAIN",
|
|
68
|
+
"CALENDAR",
|
|
69
|
+
"WIDGET",
|
|
70
|
+
"AI_CHAT",
|
|
71
|
+
"UPVOTE"
|
|
72
|
+
]).describe("Origin source of the insight.");
|
|
73
|
+
const ProductlaneCreateInsight_CompanySchema = zod.z.object({
|
|
74
|
+
id: zod.z.string().describe("Unique identifier of the company."),
|
|
75
|
+
name: zod.z.string().describe("Name of the company."),
|
|
76
|
+
size: zod.z.number().int().describe("Company size (number of employees).").nullable().optional(),
|
|
77
|
+
slugId: zod.z.string().describe("URL-friendly slug identifier.").nullable().optional(),
|
|
78
|
+
tierId: zod.z.string().describe("Tier ID.").nullable().optional(),
|
|
79
|
+
autoAdd: zod.z.boolean().describe("Auto-add contacts from company domains.").nullable().optional(),
|
|
80
|
+
domains: zod.z.array(zod.z.string()).describe("Company domains.").nullable().optional(),
|
|
81
|
+
logoUrl: zod.z.string().describe("Company logo URL.").nullable().optional(),
|
|
82
|
+
revenue: zod.z.number().describe("Company revenue.").nullable().optional(),
|
|
83
|
+
version: zod.z.number().int().describe("Version number for optimistic locking."),
|
|
84
|
+
statusId: zod.z.string().describe("Status ID.").nullable().optional(),
|
|
85
|
+
tierName: zod.z.string().describe("Tier name.").nullable().optional(),
|
|
86
|
+
createdAt: zod.z.string().describe("Timestamp when company was created."),
|
|
87
|
+
hubspotId: zod.z.string().describe("HubSpot ID if integrated.").nullable().optional(),
|
|
88
|
+
isDeleted: zod.z.boolean().describe("Whether the company is deleted."),
|
|
89
|
+
updatedAt: zod.z.string().describe("Timestamp when company was last updated."),
|
|
90
|
+
intercomId: zod.z.string().describe("Intercom ID if integrated.").nullable().optional(),
|
|
91
|
+
statusName: zod.z.string().describe("Status name.").nullable().optional(),
|
|
92
|
+
externalIds: zod.z.array(zod.z.string()).describe("External IDs from other systems.").nullable().optional(),
|
|
93
|
+
statusColor: zod.z.string().describe("Status color.").nullable().optional(),
|
|
94
|
+
workspaceId: zod.z.string().describe("Workspace ID the company belongs to."),
|
|
95
|
+
productboardId: zod.z.string().describe("Productboard ID if integrated.").nullable().optional(),
|
|
96
|
+
linearCustomerId: zod.z.string().describe("Linear customer ID if integrated.").nullable().optional()
|
|
97
|
+
}).describe("Company information associated with the insight.");
|
|
98
|
+
const ProductlaneCreateInsight_ContactSchema = zod.z.object({
|
|
99
|
+
id: zod.z.string().describe("Unique identifier of the contact."),
|
|
100
|
+
name: zod.z.string().describe("Name of the contact.").nullable().optional(),
|
|
101
|
+
email: zod.z.string().describe("Email address of the contact."),
|
|
102
|
+
version: zod.z.number().int().describe("Version number for optimistic locking."),
|
|
103
|
+
imageUrl: zod.z.string().describe("Profile image URL.").nullable().optional(),
|
|
104
|
+
companyId: zod.z.string().describe("Associated company ID.").nullable().optional(),
|
|
105
|
+
createdAt: zod.z.string().describe("Timestamp when contact was created."),
|
|
106
|
+
hubspotId: zod.z.string().describe("HubSpot ID if integrated.").nullable().optional(),
|
|
107
|
+
isDeleted: zod.z.boolean().describe("Whether the contact is deleted."),
|
|
108
|
+
updatedAt: zod.z.string().describe("Timestamp when contact was last updated."),
|
|
109
|
+
zendeskId: zod.z.string().describe("Zendesk ID if integrated.").nullable().optional(),
|
|
110
|
+
intercomId: zod.z.string().describe("Intercom ID if integrated.").nullable().optional(),
|
|
111
|
+
workspaceId: zod.z.string().describe("Workspace ID the contact belongs to."),
|
|
112
|
+
productboardId: zod.z.string().describe("Productboard ID if integrated.").nullable().optional()
|
|
113
|
+
}).describe("Contact information associated with the insight.");
|
|
114
|
+
const ProductlaneCreateInsight_ReporterSchema = zod.z.object({
|
|
115
|
+
id: zod.z.string().describe("Unique identifier of the reporter."),
|
|
116
|
+
name: zod.z.string().describe("Name of the reporter.").nullable().optional(),
|
|
117
|
+
role: zod.z.string().describe("Role of the reporter.").nullable().optional(),
|
|
118
|
+
email: zod.z.string().describe("Email of the reporter.").nullable().optional(),
|
|
119
|
+
imageUrl: zod.z.string().describe("Profile image URL.").nullable().optional(),
|
|
120
|
+
createdAt: zod.z.string().describe("Timestamp when reporter was created."),
|
|
121
|
+
updatedAt: zod.z.string().describe("Timestamp when reporter was updated."),
|
|
122
|
+
selectedTeamIds: zod.z.array(zod.z.string()).describe("Team IDs the reporter belongs to.").nullable().optional()
|
|
123
|
+
}).describe("User who reported/created the insight.");
|
|
124
|
+
const ProductlaneCreateInsight_PainLevelSchema = zod.z.enum([
|
|
125
|
+
"UNKNOWN",
|
|
126
|
+
"LOW",
|
|
127
|
+
"MEDIUM",
|
|
128
|
+
"HIGH"
|
|
129
|
+
]).describe("Pain level indicating priority or severity of the insight.");
|
|
130
|
+
const ProductlaneCreateInsight_SlackSettingsSchema = zod.z.object({ notificationChannelId: zod.z.string().describe("Slack channel ID for notifications.") }).describe("Slack integration settings for the workspace.");
|
|
131
|
+
const ProductlaneCreateInsight_WorkspaceSchema = zod.z.object({
|
|
132
|
+
id: zod.z.string().describe("Unique identifier of the workspace."),
|
|
133
|
+
name: zod.z.string().describe("Name of the workspace."),
|
|
134
|
+
domain: zod.z.string().describe("Domain of the workspace.").nullable().optional(),
|
|
135
|
+
slackSettings: ProductlaneCreateInsight_SlackSettingsSchema.nullable().optional(),
|
|
136
|
+
remainingGeneratedThreadTitles: zod.z.number().int().describe("Number of remaining AI-generated thread titles available.").nullable().optional()
|
|
137
|
+
}).describe("Workspace information.");
|
|
138
|
+
const ProductlaneCreateInsightOutput = zod.z.object({
|
|
139
|
+
id: zod.z.string().describe("Unique identifier of the created insight."),
|
|
140
|
+
text: zod.z.string().describe("Content text of the insight."),
|
|
141
|
+
state: ProductlaneCreateInsight_InsightStateSchema.nullable(),
|
|
142
|
+
title: zod.z.string().describe("Title of the insight.").nullable().optional(),
|
|
143
|
+
origin: ProductlaneCreateInsight_OriginSchema.nullable(),
|
|
144
|
+
company: ProductlaneCreateInsight_CompanySchema.nullable().optional(),
|
|
145
|
+
contact: ProductlaneCreateInsight_ContactSchema.nullable().optional(),
|
|
146
|
+
frontId: zod.z.string().describe("Front ID if integrated.").nullable().optional(),
|
|
147
|
+
plainId: zod.z.string().describe("Plain ID if integrated.").nullable().optional(),
|
|
148
|
+
videoId: zod.z.string().describe("Video ID if available.").nullable().optional(),
|
|
149
|
+
reporter: ProductlaneCreateInsight_ReporterSchema.nullable().optional(),
|
|
150
|
+
uniqueId: zod.z.string().describe("Unique identifier.").nullable().optional(),
|
|
151
|
+
companyId: zod.z.string().describe("Associated company ID.").nullable().optional(),
|
|
152
|
+
contactId: zod.z.string().describe("Associated contact ID.").nullable().optional(),
|
|
153
|
+
createdAt: zod.z.string().describe("Timestamp when the insight was created."),
|
|
154
|
+
hubspotId: zod.z.string().describe("HubSpot ID if integrated.").nullable().optional(),
|
|
155
|
+
isDeleted: zod.z.boolean().describe("Whether the insight is deleted."),
|
|
156
|
+
painLevel: ProductlaneCreateInsight_PainLevelSchema.nullable(),
|
|
157
|
+
updatedAt: zod.z.string().describe("Timestamp when the insight was last updated."),
|
|
158
|
+
workspace: ProductlaneCreateInsight_WorkspaceSchema.nullable(),
|
|
159
|
+
zendeskId: zod.z.string().describe("Zendesk ID if integrated.").nullable().optional(),
|
|
160
|
+
assigneeId: zod.z.string().describe("Assigned user ID.").nullable().optional(),
|
|
161
|
+
intercomId: zod.z.string().describe("Intercom ID if integrated.").nullable().optional(),
|
|
162
|
+
reporterId: zod.z.string().describe("Reporter user ID.").nullable().optional(),
|
|
163
|
+
attachments: zod.z.array(zod.z.unknown()).describe("List of attachments.").nullable().optional(),
|
|
164
|
+
recordingId: zod.z.string().describe("Recording ID if available.").nullable().optional(),
|
|
165
|
+
workspaceId: zod.z.string().describe("Workspace ID the insight belongs to."),
|
|
166
|
+
linkedIssues: zod.z.array(zod.z.unknown()).describe("List of linked issues.").nullable().optional(),
|
|
167
|
+
slackReplyId: zod.z.string().describe("Slack reply ID.").nullable().optional(),
|
|
168
|
+
snoozedUntil: zod.z.string().describe("Timestamp until which insight is snoozed.").nullable().optional(),
|
|
169
|
+
linkedProjects: zod.z.array(zod.z.unknown()).describe("List of linked projects.").nullable().optional(),
|
|
170
|
+
productboardId: zod.z.string().describe("Productboard ID if integrated.").nullable().optional(),
|
|
171
|
+
showRecordCall: zod.z.boolean().describe("Whether to show the record call option."),
|
|
172
|
+
slackChannelId: zod.z.string().describe("Slack channel ID.").nullable().optional(),
|
|
173
|
+
lastStateChangeAt: zod.z.string().describe("Timestamp of last state change.").nullable().optional(),
|
|
174
|
+
linearAttachmentId: zod.z.string().describe("Linear attachment ID.").nullable().optional(),
|
|
175
|
+
lastInboundMessageAt: zod.z.string().describe("Timestamp of last inbound message.").nullable().optional(),
|
|
176
|
+
lastOutboundMessageAt: zod.z.string().describe("Timestamp of last outbound message.").nullable().optional()
|
|
177
|
+
}).describe("Response model for the created insight.");
|
|
178
|
+
const productlaneCreateInsight = require_action.action("PRODUCTLANE_CREATE_INSIGHT", {
|
|
179
|
+
slug: "productlane-create-insight",
|
|
180
|
+
name: "Create Insight",
|
|
181
|
+
description: "Tool to create a new insight/thread in Productlane workspace. Use when you need to capture customer feedback, feature requests, or bug reports.",
|
|
182
|
+
input: ProductlaneCreateInsightInput,
|
|
183
|
+
output: ProductlaneCreateInsightOutput
|
|
184
|
+
});
|
|
185
|
+
//#endregion
|
|
186
|
+
exports.productlaneCreateInsight = productlaneCreateInsight;
|
|
187
|
+
|
|
188
|
+
//# sourceMappingURL=create-insight.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-insight.cjs","names":["z","action"],"sources":["../../src/actions/create-insight.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ProductlaneCreateInsightInput: z.ZodTypeAny = z.object({\n text: z.string().describe(\"Thread content. Can be HTML formatted. This is the main content of the insight.\"),\n title: z.string().describe(\"Title of the insight. Optional, but recommended for better organization.\").optional(),\n notify: z.object({\n email: z.boolean().describe(\"Send email notification when insight is created.\").optional(),\n slack: z.boolean().describe(\"Send Slack notification when insight is created.\").optional(),\n}).describe(\"Notification settings for the insight.\").optional(),\n origin: z.enum([\"INAPP\", \"PORTAL\", \"SUPPORT_PORTAL\", \"API\", \"SLACK\", \"SLACK_CONNECT\", \"INTERCOM\", \"INTERCOM_ATTACHMENT\", \"ZENDESK_ATTACHMENT\", \"ZENDESK\", \"FRONT_ATTACHMENT\", \"EMAIL\", \"ZAPIER\", \"HUBSPOT\", \"PLAIN\", \"CALENDAR\", \"WIDGET\", \"AI_CHAT\", \"UPVOTE\"]).describe(\"Origin source of the insight.\").optional(),\n issueId: z.string().describe(\"ID of an issue to link with this insight.\").optional(),\n companyId: z.string().describe(\"ID of the company to associate with this insight.\").optional(),\n contactId: z.string().describe(\"ID of an existing contact to associate with this insight.\").optional(),\n painLevel: z.enum([\"UNKNOWN\", \"LOW\", \"MEDIUM\", \"HIGH\"]).describe(\"Pain level indicating priority or severity of the insight. Required field.\"),\n projectId: z.string().describe(\"ID of the project to associate with this insight.\").optional(),\n contactName: z.string().describe(\"Name of the contact associated with this insight.\").optional(),\n contactEmail: z.string().describe(\"Email address of the contact associated with this insight. Required field.\"),\n}).describe(\"Request model for creating a new insight/thread in Productlane.\");\nconst ProductlaneCreateInsight_InsightStateSchema: z.ZodTypeAny = z.enum([\"NEW\", \"PROCESSED\", \"COMPLETED\", \"SNOOZED\", \"UNSNOOZED\"]).describe(\"State of the insight.\");\nconst ProductlaneCreateInsight_OriginSchema: z.ZodTypeAny = z.enum([\"INAPP\", \"PORTAL\", \"SUPPORT_PORTAL\", \"API\", \"SLACK\", \"SLACK_CONNECT\", \"INTERCOM\", \"INTERCOM_ATTACHMENT\", \"ZENDESK_ATTACHMENT\", \"ZENDESK\", \"FRONT_ATTACHMENT\", \"EMAIL\", \"ZAPIER\", \"HUBSPOT\", \"PLAIN\", \"CALENDAR\", \"WIDGET\", \"AI_CHAT\", \"UPVOTE\"]).describe(\"Origin source of the insight.\");\nconst ProductlaneCreateInsight_CompanySchema: z.ZodTypeAny = z.object({\n id: z.string().describe(\"Unique identifier of the company.\"),\n name: z.string().describe(\"Name of the company.\"),\n size: z.number().int().describe(\"Company size (number of employees).\").nullable().optional(),\n slugId: z.string().describe(\"URL-friendly slug identifier.\").nullable().optional(),\n tierId: z.string().describe(\"Tier ID.\").nullable().optional(),\n autoAdd: z.boolean().describe(\"Auto-add contacts from company domains.\").nullable().optional(),\n domains: z.array(z.string()).describe(\"Company domains.\").nullable().optional(),\n logoUrl: z.string().describe(\"Company logo URL.\").nullable().optional(),\n revenue: z.number().describe(\"Company revenue.\").nullable().optional(),\n version: z.number().int().describe(\"Version number for optimistic locking.\"),\n statusId: z.string().describe(\"Status ID.\").nullable().optional(),\n tierName: z.string().describe(\"Tier name.\").nullable().optional(),\n createdAt: z.string().describe(\"Timestamp when company was created.\"),\n hubspotId: z.string().describe(\"HubSpot ID if integrated.\").nullable().optional(),\n isDeleted: z.boolean().describe(\"Whether the company is deleted.\"),\n updatedAt: z.string().describe(\"Timestamp when company was last updated.\"),\n intercomId: z.string().describe(\"Intercom ID if integrated.\").nullable().optional(),\n statusName: z.string().describe(\"Status name.\").nullable().optional(),\n externalIds: z.array(z.string()).describe(\"External IDs from other systems.\").nullable().optional(),\n statusColor: z.string().describe(\"Status color.\").nullable().optional(),\n workspaceId: z.string().describe(\"Workspace ID the company belongs to.\"),\n productboardId: z.string().describe(\"Productboard ID if integrated.\").nullable().optional(),\n linearCustomerId: z.string().describe(\"Linear customer ID if integrated.\").nullable().optional(),\n}).describe(\"Company information associated with the insight.\");\nconst ProductlaneCreateInsight_ContactSchema: z.ZodTypeAny = z.object({\n id: z.string().describe(\"Unique identifier of the contact.\"),\n name: z.string().describe(\"Name of the contact.\").nullable().optional(),\n email: z.string().describe(\"Email address of the contact.\"),\n version: z.number().int().describe(\"Version number for optimistic locking.\"),\n imageUrl: z.string().describe(\"Profile image URL.\").nullable().optional(),\n companyId: z.string().describe(\"Associated company ID.\").nullable().optional(),\n createdAt: z.string().describe(\"Timestamp when contact was created.\"),\n hubspotId: z.string().describe(\"HubSpot ID if integrated.\").nullable().optional(),\n isDeleted: z.boolean().describe(\"Whether the contact is deleted.\"),\n updatedAt: z.string().describe(\"Timestamp when contact was last updated.\"),\n zendeskId: z.string().describe(\"Zendesk ID if integrated.\").nullable().optional(),\n intercomId: z.string().describe(\"Intercom ID if integrated.\").nullable().optional(),\n workspaceId: z.string().describe(\"Workspace ID the contact belongs to.\"),\n productboardId: z.string().describe(\"Productboard ID if integrated.\").nullable().optional(),\n}).describe(\"Contact information associated with the insight.\");\nconst ProductlaneCreateInsight_ReporterSchema: z.ZodTypeAny = z.object({\n id: z.string().describe(\"Unique identifier of the reporter.\"),\n name: z.string().describe(\"Name of the reporter.\").nullable().optional(),\n role: z.string().describe(\"Role of the reporter.\").nullable().optional(),\n email: z.string().describe(\"Email of the reporter.\").nullable().optional(),\n imageUrl: z.string().describe(\"Profile image URL.\").nullable().optional(),\n createdAt: z.string().describe(\"Timestamp when reporter was created.\"),\n updatedAt: z.string().describe(\"Timestamp when reporter was updated.\"),\n selectedTeamIds: z.array(z.string()).describe(\"Team IDs the reporter belongs to.\").nullable().optional(),\n}).describe(\"User who reported/created the insight.\");\nconst ProductlaneCreateInsight_PainLevelSchema: z.ZodTypeAny = z.enum([\"UNKNOWN\", \"LOW\", \"MEDIUM\", \"HIGH\"]).describe(\"Pain level indicating priority or severity of the insight.\");\nconst ProductlaneCreateInsight_SlackSettingsSchema: z.ZodTypeAny = z.object({\n notificationChannelId: z.string().describe(\"Slack channel ID for notifications.\"),\n}).describe(\"Slack integration settings for the workspace.\");\nconst ProductlaneCreateInsight_WorkspaceSchema: z.ZodTypeAny = z.object({\n id: z.string().describe(\"Unique identifier of the workspace.\"),\n name: z.string().describe(\"Name of the workspace.\"),\n domain: z.string().describe(\"Domain of the workspace.\").nullable().optional(),\n slackSettings: ProductlaneCreateInsight_SlackSettingsSchema.nullable().optional(),\n remainingGeneratedThreadTitles: z.number().int().describe(\"Number of remaining AI-generated thread titles available.\").nullable().optional(),\n}).describe(\"Workspace information.\");\nexport const ProductlaneCreateInsightOutput: z.ZodTypeAny = z.object({\n id: z.string().describe(\"Unique identifier of the created insight.\"),\n text: z.string().describe(\"Content text of the insight.\"),\n state: ProductlaneCreateInsight_InsightStateSchema.nullable(),\n title: z.string().describe(\"Title of the insight.\").nullable().optional(),\n origin: ProductlaneCreateInsight_OriginSchema.nullable(),\n company: ProductlaneCreateInsight_CompanySchema.nullable().optional(),\n contact: ProductlaneCreateInsight_ContactSchema.nullable().optional(),\n frontId: z.string().describe(\"Front ID if integrated.\").nullable().optional(),\n plainId: z.string().describe(\"Plain ID if integrated.\").nullable().optional(),\n videoId: z.string().describe(\"Video ID if available.\").nullable().optional(),\n reporter: ProductlaneCreateInsight_ReporterSchema.nullable().optional(),\n uniqueId: z.string().describe(\"Unique identifier.\").nullable().optional(),\n companyId: z.string().describe(\"Associated company ID.\").nullable().optional(),\n contactId: z.string().describe(\"Associated contact ID.\").nullable().optional(),\n createdAt: z.string().describe(\"Timestamp when the insight was created.\"),\n hubspotId: z.string().describe(\"HubSpot ID if integrated.\").nullable().optional(),\n isDeleted: z.boolean().describe(\"Whether the insight is deleted.\"),\n painLevel: ProductlaneCreateInsight_PainLevelSchema.nullable(),\n updatedAt: z.string().describe(\"Timestamp when the insight was last updated.\"),\n workspace: ProductlaneCreateInsight_WorkspaceSchema.nullable(),\n zendeskId: z.string().describe(\"Zendesk ID if integrated.\").nullable().optional(),\n assigneeId: z.string().describe(\"Assigned user ID.\").nullable().optional(),\n intercomId: z.string().describe(\"Intercom ID if integrated.\").nullable().optional(),\n reporterId: z.string().describe(\"Reporter user ID.\").nullable().optional(),\n attachments: z.array(z.unknown()).describe(\"List of attachments.\").nullable().optional(),\n recordingId: z.string().describe(\"Recording ID if available.\").nullable().optional(),\n workspaceId: z.string().describe(\"Workspace ID the insight belongs to.\"),\n linkedIssues: z.array(z.unknown()).describe(\"List of linked issues.\").nullable().optional(),\n slackReplyId: z.string().describe(\"Slack reply ID.\").nullable().optional(),\n snoozedUntil: z.string().describe(\"Timestamp until which insight is snoozed.\").nullable().optional(),\n linkedProjects: z.array(z.unknown()).describe(\"List of linked projects.\").nullable().optional(),\n productboardId: z.string().describe(\"Productboard ID if integrated.\").nullable().optional(),\n showRecordCall: z.boolean().describe(\"Whether to show the record call option.\"),\n slackChannelId: z.string().describe(\"Slack channel ID.\").nullable().optional(),\n lastStateChangeAt: z.string().describe(\"Timestamp of last state change.\").nullable().optional(),\n linearAttachmentId: z.string().describe(\"Linear attachment ID.\").nullable().optional(),\n lastInboundMessageAt: z.string().describe(\"Timestamp of last inbound message.\").nullable().optional(),\n lastOutboundMessageAt: z.string().describe(\"Timestamp of last outbound message.\").nullable().optional(),\n}).describe(\"Response model for the created insight.\");\n\nexport const productlaneCreateInsight = action(\"PRODUCTLANE_CREATE_INSIGHT\", {\n slug: \"productlane-create-insight\",\n name: \"Create Insight\",\n description: \"Tool to create a new insight/thread in Productlane workspace. Use when you need to capture customer feedback, feature requests, or bug reports.\",\n input: ProductlaneCreateInsightInput,\n output: ProductlaneCreateInsightOutput,\n});\n"],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
|
|
3
|
+
//#region src/actions/create-insight.d.ts
|
|
4
|
+
declare const ProductlaneCreateInsightInput: z.ZodTypeAny;
|
|
5
|
+
declare const ProductlaneCreateInsightOutput: z.ZodTypeAny;
|
|
6
|
+
declare const productlaneCreateInsight: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
7
|
+
//#endregion
|
|
8
|
+
export { productlaneCreateInsight };
|
|
9
|
+
//# sourceMappingURL=create-insight.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-insight.d.cts","names":[],"sources":["../../src/actions/create-insight.ts"],"mappings":";;;cAIa,6BAAA,EAA+B,CAAA,CAAE,UAegC;AAAA,cAiEjE,8BAAA,EAAgC,CAAA,CAAE,UAuCO;AAAA,cAEzC,wBAAA,gCAAwB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
|
|
3
|
+
//#region src/actions/create-insight.d.ts
|
|
4
|
+
declare const ProductlaneCreateInsightInput: z.ZodTypeAny;
|
|
5
|
+
declare const ProductlaneCreateInsightOutput: z.ZodTypeAny;
|
|
6
|
+
declare const productlaneCreateInsight: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
7
|
+
//#endregion
|
|
8
|
+
export { productlaneCreateInsight };
|
|
9
|
+
//# sourceMappingURL=create-insight.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-insight.d.mts","names":[],"sources":["../../src/actions/create-insight.ts"],"mappings":";;;cAIa,6BAAA,EAA+B,CAAA,CAAE,UAegC;AAAA,cAiEjE,8BAAA,EAAgC,CAAA,CAAE,UAuCO;AAAA,cAEzC,wBAAA,gCAAwB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
import { action } from "../action.mjs";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
//#region src/actions/create-insight.ts
|
|
4
|
+
const ProductlaneCreateInsightInput = z.object({
|
|
5
|
+
text: z.string().describe("Thread content. Can be HTML formatted. This is the main content of the insight."),
|
|
6
|
+
title: z.string().describe("Title of the insight. Optional, but recommended for better organization.").optional(),
|
|
7
|
+
notify: z.object({
|
|
8
|
+
email: z.boolean().describe("Send email notification when insight is created.").optional(),
|
|
9
|
+
slack: z.boolean().describe("Send Slack notification when insight is created.").optional()
|
|
10
|
+
}).describe("Notification settings for the insight.").optional(),
|
|
11
|
+
origin: z.enum([
|
|
12
|
+
"INAPP",
|
|
13
|
+
"PORTAL",
|
|
14
|
+
"SUPPORT_PORTAL",
|
|
15
|
+
"API",
|
|
16
|
+
"SLACK",
|
|
17
|
+
"SLACK_CONNECT",
|
|
18
|
+
"INTERCOM",
|
|
19
|
+
"INTERCOM_ATTACHMENT",
|
|
20
|
+
"ZENDESK_ATTACHMENT",
|
|
21
|
+
"ZENDESK",
|
|
22
|
+
"FRONT_ATTACHMENT",
|
|
23
|
+
"EMAIL",
|
|
24
|
+
"ZAPIER",
|
|
25
|
+
"HUBSPOT",
|
|
26
|
+
"PLAIN",
|
|
27
|
+
"CALENDAR",
|
|
28
|
+
"WIDGET",
|
|
29
|
+
"AI_CHAT",
|
|
30
|
+
"UPVOTE"
|
|
31
|
+
]).describe("Origin source of the insight.").optional(),
|
|
32
|
+
issueId: z.string().describe("ID of an issue to link with this insight.").optional(),
|
|
33
|
+
companyId: z.string().describe("ID of the company to associate with this insight.").optional(),
|
|
34
|
+
contactId: z.string().describe("ID of an existing contact to associate with this insight.").optional(),
|
|
35
|
+
painLevel: z.enum([
|
|
36
|
+
"UNKNOWN",
|
|
37
|
+
"LOW",
|
|
38
|
+
"MEDIUM",
|
|
39
|
+
"HIGH"
|
|
40
|
+
]).describe("Pain level indicating priority or severity of the insight. Required field."),
|
|
41
|
+
projectId: z.string().describe("ID of the project to associate with this insight.").optional(),
|
|
42
|
+
contactName: z.string().describe("Name of the contact associated with this insight.").optional(),
|
|
43
|
+
contactEmail: z.string().describe("Email address of the contact associated with this insight. Required field.")
|
|
44
|
+
}).describe("Request model for creating a new insight/thread in Productlane.");
|
|
45
|
+
const ProductlaneCreateInsight_InsightStateSchema = z.enum([
|
|
46
|
+
"NEW",
|
|
47
|
+
"PROCESSED",
|
|
48
|
+
"COMPLETED",
|
|
49
|
+
"SNOOZED",
|
|
50
|
+
"UNSNOOZED"
|
|
51
|
+
]).describe("State of the insight.");
|
|
52
|
+
const ProductlaneCreateInsight_OriginSchema = z.enum([
|
|
53
|
+
"INAPP",
|
|
54
|
+
"PORTAL",
|
|
55
|
+
"SUPPORT_PORTAL",
|
|
56
|
+
"API",
|
|
57
|
+
"SLACK",
|
|
58
|
+
"SLACK_CONNECT",
|
|
59
|
+
"INTERCOM",
|
|
60
|
+
"INTERCOM_ATTACHMENT",
|
|
61
|
+
"ZENDESK_ATTACHMENT",
|
|
62
|
+
"ZENDESK",
|
|
63
|
+
"FRONT_ATTACHMENT",
|
|
64
|
+
"EMAIL",
|
|
65
|
+
"ZAPIER",
|
|
66
|
+
"HUBSPOT",
|
|
67
|
+
"PLAIN",
|
|
68
|
+
"CALENDAR",
|
|
69
|
+
"WIDGET",
|
|
70
|
+
"AI_CHAT",
|
|
71
|
+
"UPVOTE"
|
|
72
|
+
]).describe("Origin source of the insight.");
|
|
73
|
+
const ProductlaneCreateInsight_CompanySchema = z.object({
|
|
74
|
+
id: z.string().describe("Unique identifier of the company."),
|
|
75
|
+
name: z.string().describe("Name of the company."),
|
|
76
|
+
size: z.number().int().describe("Company size (number of employees).").nullable().optional(),
|
|
77
|
+
slugId: z.string().describe("URL-friendly slug identifier.").nullable().optional(),
|
|
78
|
+
tierId: z.string().describe("Tier ID.").nullable().optional(),
|
|
79
|
+
autoAdd: z.boolean().describe("Auto-add contacts from company domains.").nullable().optional(),
|
|
80
|
+
domains: z.array(z.string()).describe("Company domains.").nullable().optional(),
|
|
81
|
+
logoUrl: z.string().describe("Company logo URL.").nullable().optional(),
|
|
82
|
+
revenue: z.number().describe("Company revenue.").nullable().optional(),
|
|
83
|
+
version: z.number().int().describe("Version number for optimistic locking."),
|
|
84
|
+
statusId: z.string().describe("Status ID.").nullable().optional(),
|
|
85
|
+
tierName: z.string().describe("Tier name.").nullable().optional(),
|
|
86
|
+
createdAt: z.string().describe("Timestamp when company was created."),
|
|
87
|
+
hubspotId: z.string().describe("HubSpot ID if integrated.").nullable().optional(),
|
|
88
|
+
isDeleted: z.boolean().describe("Whether the company is deleted."),
|
|
89
|
+
updatedAt: z.string().describe("Timestamp when company was last updated."),
|
|
90
|
+
intercomId: z.string().describe("Intercom ID if integrated.").nullable().optional(),
|
|
91
|
+
statusName: z.string().describe("Status name.").nullable().optional(),
|
|
92
|
+
externalIds: z.array(z.string()).describe("External IDs from other systems.").nullable().optional(),
|
|
93
|
+
statusColor: z.string().describe("Status color.").nullable().optional(),
|
|
94
|
+
workspaceId: z.string().describe("Workspace ID the company belongs to."),
|
|
95
|
+
productboardId: z.string().describe("Productboard ID if integrated.").nullable().optional(),
|
|
96
|
+
linearCustomerId: z.string().describe("Linear customer ID if integrated.").nullable().optional()
|
|
97
|
+
}).describe("Company information associated with the insight.");
|
|
98
|
+
const ProductlaneCreateInsight_ContactSchema = z.object({
|
|
99
|
+
id: z.string().describe("Unique identifier of the contact."),
|
|
100
|
+
name: z.string().describe("Name of the contact.").nullable().optional(),
|
|
101
|
+
email: z.string().describe("Email address of the contact."),
|
|
102
|
+
version: z.number().int().describe("Version number for optimistic locking."),
|
|
103
|
+
imageUrl: z.string().describe("Profile image URL.").nullable().optional(),
|
|
104
|
+
companyId: z.string().describe("Associated company ID.").nullable().optional(),
|
|
105
|
+
createdAt: z.string().describe("Timestamp when contact was created."),
|
|
106
|
+
hubspotId: z.string().describe("HubSpot ID if integrated.").nullable().optional(),
|
|
107
|
+
isDeleted: z.boolean().describe("Whether the contact is deleted."),
|
|
108
|
+
updatedAt: z.string().describe("Timestamp when contact was last updated."),
|
|
109
|
+
zendeskId: z.string().describe("Zendesk ID if integrated.").nullable().optional(),
|
|
110
|
+
intercomId: z.string().describe("Intercom ID if integrated.").nullable().optional(),
|
|
111
|
+
workspaceId: z.string().describe("Workspace ID the contact belongs to."),
|
|
112
|
+
productboardId: z.string().describe("Productboard ID if integrated.").nullable().optional()
|
|
113
|
+
}).describe("Contact information associated with the insight.");
|
|
114
|
+
const ProductlaneCreateInsight_ReporterSchema = z.object({
|
|
115
|
+
id: z.string().describe("Unique identifier of the reporter."),
|
|
116
|
+
name: z.string().describe("Name of the reporter.").nullable().optional(),
|
|
117
|
+
role: z.string().describe("Role of the reporter.").nullable().optional(),
|
|
118
|
+
email: z.string().describe("Email of the reporter.").nullable().optional(),
|
|
119
|
+
imageUrl: z.string().describe("Profile image URL.").nullable().optional(),
|
|
120
|
+
createdAt: z.string().describe("Timestamp when reporter was created."),
|
|
121
|
+
updatedAt: z.string().describe("Timestamp when reporter was updated."),
|
|
122
|
+
selectedTeamIds: z.array(z.string()).describe("Team IDs the reporter belongs to.").nullable().optional()
|
|
123
|
+
}).describe("User who reported/created the insight.");
|
|
124
|
+
const ProductlaneCreateInsight_PainLevelSchema = z.enum([
|
|
125
|
+
"UNKNOWN",
|
|
126
|
+
"LOW",
|
|
127
|
+
"MEDIUM",
|
|
128
|
+
"HIGH"
|
|
129
|
+
]).describe("Pain level indicating priority or severity of the insight.");
|
|
130
|
+
const ProductlaneCreateInsight_SlackSettingsSchema = z.object({ notificationChannelId: z.string().describe("Slack channel ID for notifications.") }).describe("Slack integration settings for the workspace.");
|
|
131
|
+
const ProductlaneCreateInsight_WorkspaceSchema = z.object({
|
|
132
|
+
id: z.string().describe("Unique identifier of the workspace."),
|
|
133
|
+
name: z.string().describe("Name of the workspace."),
|
|
134
|
+
domain: z.string().describe("Domain of the workspace.").nullable().optional(),
|
|
135
|
+
slackSettings: ProductlaneCreateInsight_SlackSettingsSchema.nullable().optional(),
|
|
136
|
+
remainingGeneratedThreadTitles: z.number().int().describe("Number of remaining AI-generated thread titles available.").nullable().optional()
|
|
137
|
+
}).describe("Workspace information.");
|
|
138
|
+
const productlaneCreateInsight = action("PRODUCTLANE_CREATE_INSIGHT", {
|
|
139
|
+
slug: "productlane-create-insight",
|
|
140
|
+
name: "Create Insight",
|
|
141
|
+
description: "Tool to create a new insight/thread in Productlane workspace. Use when you need to capture customer feedback, feature requests, or bug reports.",
|
|
142
|
+
input: ProductlaneCreateInsightInput,
|
|
143
|
+
output: z.object({
|
|
144
|
+
id: z.string().describe("Unique identifier of the created insight."),
|
|
145
|
+
text: z.string().describe("Content text of the insight."),
|
|
146
|
+
state: ProductlaneCreateInsight_InsightStateSchema.nullable(),
|
|
147
|
+
title: z.string().describe("Title of the insight.").nullable().optional(),
|
|
148
|
+
origin: ProductlaneCreateInsight_OriginSchema.nullable(),
|
|
149
|
+
company: ProductlaneCreateInsight_CompanySchema.nullable().optional(),
|
|
150
|
+
contact: ProductlaneCreateInsight_ContactSchema.nullable().optional(),
|
|
151
|
+
frontId: z.string().describe("Front ID if integrated.").nullable().optional(),
|
|
152
|
+
plainId: z.string().describe("Plain ID if integrated.").nullable().optional(),
|
|
153
|
+
videoId: z.string().describe("Video ID if available.").nullable().optional(),
|
|
154
|
+
reporter: ProductlaneCreateInsight_ReporterSchema.nullable().optional(),
|
|
155
|
+
uniqueId: z.string().describe("Unique identifier.").nullable().optional(),
|
|
156
|
+
companyId: z.string().describe("Associated company ID.").nullable().optional(),
|
|
157
|
+
contactId: z.string().describe("Associated contact ID.").nullable().optional(),
|
|
158
|
+
createdAt: z.string().describe("Timestamp when the insight was created."),
|
|
159
|
+
hubspotId: z.string().describe("HubSpot ID if integrated.").nullable().optional(),
|
|
160
|
+
isDeleted: z.boolean().describe("Whether the insight is deleted."),
|
|
161
|
+
painLevel: ProductlaneCreateInsight_PainLevelSchema.nullable(),
|
|
162
|
+
updatedAt: z.string().describe("Timestamp when the insight was last updated."),
|
|
163
|
+
workspace: ProductlaneCreateInsight_WorkspaceSchema.nullable(),
|
|
164
|
+
zendeskId: z.string().describe("Zendesk ID if integrated.").nullable().optional(),
|
|
165
|
+
assigneeId: z.string().describe("Assigned user ID.").nullable().optional(),
|
|
166
|
+
intercomId: z.string().describe("Intercom ID if integrated.").nullable().optional(),
|
|
167
|
+
reporterId: z.string().describe("Reporter user ID.").nullable().optional(),
|
|
168
|
+
attachments: z.array(z.unknown()).describe("List of attachments.").nullable().optional(),
|
|
169
|
+
recordingId: z.string().describe("Recording ID if available.").nullable().optional(),
|
|
170
|
+
workspaceId: z.string().describe("Workspace ID the insight belongs to."),
|
|
171
|
+
linkedIssues: z.array(z.unknown()).describe("List of linked issues.").nullable().optional(),
|
|
172
|
+
slackReplyId: z.string().describe("Slack reply ID.").nullable().optional(),
|
|
173
|
+
snoozedUntil: z.string().describe("Timestamp until which insight is snoozed.").nullable().optional(),
|
|
174
|
+
linkedProjects: z.array(z.unknown()).describe("List of linked projects.").nullable().optional(),
|
|
175
|
+
productboardId: z.string().describe("Productboard ID if integrated.").nullable().optional(),
|
|
176
|
+
showRecordCall: z.boolean().describe("Whether to show the record call option."),
|
|
177
|
+
slackChannelId: z.string().describe("Slack channel ID.").nullable().optional(),
|
|
178
|
+
lastStateChangeAt: z.string().describe("Timestamp of last state change.").nullable().optional(),
|
|
179
|
+
linearAttachmentId: z.string().describe("Linear attachment ID.").nullable().optional(),
|
|
180
|
+
lastInboundMessageAt: z.string().describe("Timestamp of last inbound message.").nullable().optional(),
|
|
181
|
+
lastOutboundMessageAt: z.string().describe("Timestamp of last outbound message.").nullable().optional()
|
|
182
|
+
}).describe("Response model for the created insight.")
|
|
183
|
+
});
|
|
184
|
+
//#endregion
|
|
185
|
+
export { productlaneCreateInsight };
|
|
186
|
+
|
|
187
|
+
//# sourceMappingURL=create-insight.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-insight.mjs","names":[],"sources":["../../src/actions/create-insight.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ProductlaneCreateInsightInput: z.ZodTypeAny = z.object({\n text: z.string().describe(\"Thread content. Can be HTML formatted. This is the main content of the insight.\"),\n title: z.string().describe(\"Title of the insight. Optional, but recommended for better organization.\").optional(),\n notify: z.object({\n email: z.boolean().describe(\"Send email notification when insight is created.\").optional(),\n slack: z.boolean().describe(\"Send Slack notification when insight is created.\").optional(),\n}).describe(\"Notification settings for the insight.\").optional(),\n origin: z.enum([\"INAPP\", \"PORTAL\", \"SUPPORT_PORTAL\", \"API\", \"SLACK\", \"SLACK_CONNECT\", \"INTERCOM\", \"INTERCOM_ATTACHMENT\", \"ZENDESK_ATTACHMENT\", \"ZENDESK\", \"FRONT_ATTACHMENT\", \"EMAIL\", \"ZAPIER\", \"HUBSPOT\", \"PLAIN\", \"CALENDAR\", \"WIDGET\", \"AI_CHAT\", \"UPVOTE\"]).describe(\"Origin source of the insight.\").optional(),\n issueId: z.string().describe(\"ID of an issue to link with this insight.\").optional(),\n companyId: z.string().describe(\"ID of the company to associate with this insight.\").optional(),\n contactId: z.string().describe(\"ID of an existing contact to associate with this insight.\").optional(),\n painLevel: z.enum([\"UNKNOWN\", \"LOW\", \"MEDIUM\", \"HIGH\"]).describe(\"Pain level indicating priority or severity of the insight. Required field.\"),\n projectId: z.string().describe(\"ID of the project to associate with this insight.\").optional(),\n contactName: z.string().describe(\"Name of the contact associated with this insight.\").optional(),\n contactEmail: z.string().describe(\"Email address of the contact associated with this insight. Required field.\"),\n}).describe(\"Request model for creating a new insight/thread in Productlane.\");\nconst ProductlaneCreateInsight_InsightStateSchema: z.ZodTypeAny = z.enum([\"NEW\", \"PROCESSED\", \"COMPLETED\", \"SNOOZED\", \"UNSNOOZED\"]).describe(\"State of the insight.\");\nconst ProductlaneCreateInsight_OriginSchema: z.ZodTypeAny = z.enum([\"INAPP\", \"PORTAL\", \"SUPPORT_PORTAL\", \"API\", \"SLACK\", \"SLACK_CONNECT\", \"INTERCOM\", \"INTERCOM_ATTACHMENT\", \"ZENDESK_ATTACHMENT\", \"ZENDESK\", \"FRONT_ATTACHMENT\", \"EMAIL\", \"ZAPIER\", \"HUBSPOT\", \"PLAIN\", \"CALENDAR\", \"WIDGET\", \"AI_CHAT\", \"UPVOTE\"]).describe(\"Origin source of the insight.\");\nconst ProductlaneCreateInsight_CompanySchema: z.ZodTypeAny = z.object({\n id: z.string().describe(\"Unique identifier of the company.\"),\n name: z.string().describe(\"Name of the company.\"),\n size: z.number().int().describe(\"Company size (number of employees).\").nullable().optional(),\n slugId: z.string().describe(\"URL-friendly slug identifier.\").nullable().optional(),\n tierId: z.string().describe(\"Tier ID.\").nullable().optional(),\n autoAdd: z.boolean().describe(\"Auto-add contacts from company domains.\").nullable().optional(),\n domains: z.array(z.string()).describe(\"Company domains.\").nullable().optional(),\n logoUrl: z.string().describe(\"Company logo URL.\").nullable().optional(),\n revenue: z.number().describe(\"Company revenue.\").nullable().optional(),\n version: z.number().int().describe(\"Version number for optimistic locking.\"),\n statusId: z.string().describe(\"Status ID.\").nullable().optional(),\n tierName: z.string().describe(\"Tier name.\").nullable().optional(),\n createdAt: z.string().describe(\"Timestamp when company was created.\"),\n hubspotId: z.string().describe(\"HubSpot ID if integrated.\").nullable().optional(),\n isDeleted: z.boolean().describe(\"Whether the company is deleted.\"),\n updatedAt: z.string().describe(\"Timestamp when company was last updated.\"),\n intercomId: z.string().describe(\"Intercom ID if integrated.\").nullable().optional(),\n statusName: z.string().describe(\"Status name.\").nullable().optional(),\n externalIds: z.array(z.string()).describe(\"External IDs from other systems.\").nullable().optional(),\n statusColor: z.string().describe(\"Status color.\").nullable().optional(),\n workspaceId: z.string().describe(\"Workspace ID the company belongs to.\"),\n productboardId: z.string().describe(\"Productboard ID if integrated.\").nullable().optional(),\n linearCustomerId: z.string().describe(\"Linear customer ID if integrated.\").nullable().optional(),\n}).describe(\"Company information associated with the insight.\");\nconst ProductlaneCreateInsight_ContactSchema: z.ZodTypeAny = z.object({\n id: z.string().describe(\"Unique identifier of the contact.\"),\n name: z.string().describe(\"Name of the contact.\").nullable().optional(),\n email: z.string().describe(\"Email address of the contact.\"),\n version: z.number().int().describe(\"Version number for optimistic locking.\"),\n imageUrl: z.string().describe(\"Profile image URL.\").nullable().optional(),\n companyId: z.string().describe(\"Associated company ID.\").nullable().optional(),\n createdAt: z.string().describe(\"Timestamp when contact was created.\"),\n hubspotId: z.string().describe(\"HubSpot ID if integrated.\").nullable().optional(),\n isDeleted: z.boolean().describe(\"Whether the contact is deleted.\"),\n updatedAt: z.string().describe(\"Timestamp when contact was last updated.\"),\n zendeskId: z.string().describe(\"Zendesk ID if integrated.\").nullable().optional(),\n intercomId: z.string().describe(\"Intercom ID if integrated.\").nullable().optional(),\n workspaceId: z.string().describe(\"Workspace ID the contact belongs to.\"),\n productboardId: z.string().describe(\"Productboard ID if integrated.\").nullable().optional(),\n}).describe(\"Contact information associated with the insight.\");\nconst ProductlaneCreateInsight_ReporterSchema: z.ZodTypeAny = z.object({\n id: z.string().describe(\"Unique identifier of the reporter.\"),\n name: z.string().describe(\"Name of the reporter.\").nullable().optional(),\n role: z.string().describe(\"Role of the reporter.\").nullable().optional(),\n email: z.string().describe(\"Email of the reporter.\").nullable().optional(),\n imageUrl: z.string().describe(\"Profile image URL.\").nullable().optional(),\n createdAt: z.string().describe(\"Timestamp when reporter was created.\"),\n updatedAt: z.string().describe(\"Timestamp when reporter was updated.\"),\n selectedTeamIds: z.array(z.string()).describe(\"Team IDs the reporter belongs to.\").nullable().optional(),\n}).describe(\"User who reported/created the insight.\");\nconst ProductlaneCreateInsight_PainLevelSchema: z.ZodTypeAny = z.enum([\"UNKNOWN\", \"LOW\", \"MEDIUM\", \"HIGH\"]).describe(\"Pain level indicating priority or severity of the insight.\");\nconst ProductlaneCreateInsight_SlackSettingsSchema: z.ZodTypeAny = z.object({\n notificationChannelId: z.string().describe(\"Slack channel ID for notifications.\"),\n}).describe(\"Slack integration settings for the workspace.\");\nconst ProductlaneCreateInsight_WorkspaceSchema: z.ZodTypeAny = z.object({\n id: z.string().describe(\"Unique identifier of the workspace.\"),\n name: z.string().describe(\"Name of the workspace.\"),\n domain: z.string().describe(\"Domain of the workspace.\").nullable().optional(),\n slackSettings: ProductlaneCreateInsight_SlackSettingsSchema.nullable().optional(),\n remainingGeneratedThreadTitles: z.number().int().describe(\"Number of remaining AI-generated thread titles available.\").nullable().optional(),\n}).describe(\"Workspace information.\");\nexport const ProductlaneCreateInsightOutput: z.ZodTypeAny = z.object({\n id: z.string().describe(\"Unique identifier of the created insight.\"),\n text: z.string().describe(\"Content text of the insight.\"),\n state: ProductlaneCreateInsight_InsightStateSchema.nullable(),\n title: z.string().describe(\"Title of the insight.\").nullable().optional(),\n origin: ProductlaneCreateInsight_OriginSchema.nullable(),\n company: ProductlaneCreateInsight_CompanySchema.nullable().optional(),\n contact: ProductlaneCreateInsight_ContactSchema.nullable().optional(),\n frontId: z.string().describe(\"Front ID if integrated.\").nullable().optional(),\n plainId: z.string().describe(\"Plain ID if integrated.\").nullable().optional(),\n videoId: z.string().describe(\"Video ID if available.\").nullable().optional(),\n reporter: ProductlaneCreateInsight_ReporterSchema.nullable().optional(),\n uniqueId: z.string().describe(\"Unique identifier.\").nullable().optional(),\n companyId: z.string().describe(\"Associated company ID.\").nullable().optional(),\n contactId: z.string().describe(\"Associated contact ID.\").nullable().optional(),\n createdAt: z.string().describe(\"Timestamp when the insight was created.\"),\n hubspotId: z.string().describe(\"HubSpot ID if integrated.\").nullable().optional(),\n isDeleted: z.boolean().describe(\"Whether the insight is deleted.\"),\n painLevel: ProductlaneCreateInsight_PainLevelSchema.nullable(),\n updatedAt: z.string().describe(\"Timestamp when the insight was last updated.\"),\n workspace: ProductlaneCreateInsight_WorkspaceSchema.nullable(),\n zendeskId: z.string().describe(\"Zendesk ID if integrated.\").nullable().optional(),\n assigneeId: z.string().describe(\"Assigned user ID.\").nullable().optional(),\n intercomId: z.string().describe(\"Intercom ID if integrated.\").nullable().optional(),\n reporterId: z.string().describe(\"Reporter user ID.\").nullable().optional(),\n attachments: z.array(z.unknown()).describe(\"List of attachments.\").nullable().optional(),\n recordingId: z.string().describe(\"Recording ID if available.\").nullable().optional(),\n workspaceId: z.string().describe(\"Workspace ID the insight belongs to.\"),\n linkedIssues: z.array(z.unknown()).describe(\"List of linked issues.\").nullable().optional(),\n slackReplyId: z.string().describe(\"Slack reply ID.\").nullable().optional(),\n snoozedUntil: z.string().describe(\"Timestamp until which insight is snoozed.\").nullable().optional(),\n linkedProjects: z.array(z.unknown()).describe(\"List of linked projects.\").nullable().optional(),\n productboardId: z.string().describe(\"Productboard ID if integrated.\").nullable().optional(),\n showRecordCall: z.boolean().describe(\"Whether to show the record call option.\"),\n slackChannelId: z.string().describe(\"Slack channel ID.\").nullable().optional(),\n lastStateChangeAt: z.string().describe(\"Timestamp of last state change.\").nullable().optional(),\n linearAttachmentId: z.string().describe(\"Linear attachment ID.\").nullable().optional(),\n lastInboundMessageAt: z.string().describe(\"Timestamp of last inbound message.\").nullable().optional(),\n lastOutboundMessageAt: z.string().describe(\"Timestamp of last outbound message.\").nullable().optional(),\n}).describe(\"Response model for the created insight.\");\n\nexport const productlaneCreateInsight = action(\"PRODUCTLANE_CREATE_INSIGHT\", {\n slug: \"productlane-create-insight\",\n name: \"Create Insight\",\n description: \"Tool to create a new insight/thread in Productlane workspace. Use when you need to capture customer feedback, feature requests, or bug reports.\",\n input: ProductlaneCreateInsightInput,\n output: ProductlaneCreateInsightOutput,\n});\n"],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
const require_action = require("../action.cjs");
|
|
2
|
+
let zod = require("zod");
|
|
3
|
+
//#region src/actions/create-thread.ts
|
|
4
|
+
const ProductlaneCreateThreadInput = zod.z.object({
|
|
5
|
+
name: zod.z.string().describe("Optional additional name field.").optional(),
|
|
6
|
+
text: zod.z.string().describe("Main content/body text of the thread."),
|
|
7
|
+
email: zod.z.string().describe("Email address of the person creating the thread. Must be a valid email format with max length of 254 characters."),
|
|
8
|
+
title: zod.z.string().describe("Title of the thread. Maximum length is 512 characters."),
|
|
9
|
+
actorName: zod.z.string().describe("Name of the person creating the thread."),
|
|
10
|
+
painLevel: zod.z.enum([
|
|
11
|
+
"UNKNOWN",
|
|
12
|
+
"LOW",
|
|
13
|
+
"MEDIUM",
|
|
14
|
+
"HIGH"
|
|
15
|
+
]).describe("Pain level indicating the severity or impact of the feedback. Valid values: UNKNOWN, LOW, MEDIUM, HIGH."),
|
|
16
|
+
actorImage: zod.z.string().describe("Optional URL to an avatar/profile image for the person creating the thread.").optional()
|
|
17
|
+
}).describe("Request model for creating a thread in Productlane.");
|
|
18
|
+
const ProductlaneCreateThreadOutput = zod.z.object({ id: zod.z.string().describe("Unique identifier of the created thread.") }).describe("Response model returned after creating a thread.");
|
|
19
|
+
const productlaneCreateThread = require_action.action("PRODUCTLANE_CREATE_THREAD", {
|
|
20
|
+
slug: "productlane-create-thread",
|
|
21
|
+
name: "Create Thread",
|
|
22
|
+
description: "Tool to create a new thread in Productlane. Use when you need to create feedback, feature requests, or bug reports from users.",
|
|
23
|
+
input: ProductlaneCreateThreadInput,
|
|
24
|
+
output: ProductlaneCreateThreadOutput
|
|
25
|
+
});
|
|
26
|
+
//#endregion
|
|
27
|
+
exports.productlaneCreateThread = productlaneCreateThread;
|
|
28
|
+
|
|
29
|
+
//# sourceMappingURL=create-thread.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-thread.cjs","names":["z","action"],"sources":["../../src/actions/create-thread.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ProductlaneCreateThreadInput: z.ZodTypeAny = z.object({\n name: z.string().describe(\"Optional additional name field.\").optional(),\n text: z.string().describe(\"Main content/body text of the thread.\"),\n email: z.string().describe(\"Email address of the person creating the thread. Must be a valid email format with max length of 254 characters.\"),\n title: z.string().describe(\"Title of the thread. Maximum length is 512 characters.\"),\n actorName: z.string().describe(\"Name of the person creating the thread.\"),\n painLevel: z.enum([\"UNKNOWN\", \"LOW\", \"MEDIUM\", \"HIGH\"]).describe(\"Pain level indicating the severity or impact of the feedback. Valid values: UNKNOWN, LOW, MEDIUM, HIGH.\"),\n actorImage: z.string().describe(\"Optional URL to an avatar/profile image for the person creating the thread.\").optional(),\n}).describe(\"Request model for creating a thread in Productlane.\");\nexport const ProductlaneCreateThreadOutput: z.ZodTypeAny = z.object({\n id: z.string().describe(\"Unique identifier of the created thread.\"),\n}).describe(\"Response model returned after creating a thread.\");\n\nexport const productlaneCreateThread = action(\"PRODUCTLANE_CREATE_THREAD\", {\n slug: \"productlane-create-thread\",\n name: \"Create Thread\",\n description: \"Tool to create a new thread in Productlane. Use when you need to create feedback, feature requests, or bug reports from users.\",\n input: ProductlaneCreateThreadInput,\n output: ProductlaneCreateThreadOutput,\n});\n"],"mappings":";;;AAIA,MAAa,+BAA6CA,IAAAA,EAAE,OAAO;CACjE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,iCAAiC,CAAC,CAAC,SAAS;CACtE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,uCAAuC;CACjE,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,kHAAkH;CAC7I,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,wDAAwD;CACnF,WAAWA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,yCAAyC;CACxE,WAAWA,IAAAA,EAAE,KAAK;EAAC;EAAW;EAAO;EAAU;CAAM,CAAC,CAAC,CAAC,SAAS,yGAAyG;CAC1K,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,6EAA6E,CAAC,CAAC,SAAS;AAC1H,CAAC,CAAC,CAAC,SAAS,qDAAqD;AACjE,MAAa,gCAA8CA,IAAAA,EAAE,OAAO,EAClE,IAAIA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,0CAA0C,EACpE,CAAC,CAAC,CAAC,SAAS,kDAAkD;AAE9D,MAAa,0BAA0BC,eAAAA,OAAO,6BAA6B;CACzE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
|
|
3
|
+
//#region src/actions/create-thread.d.ts
|
|
4
|
+
declare const ProductlaneCreateThreadInput: z.ZodTypeAny;
|
|
5
|
+
declare const ProductlaneCreateThreadOutput: z.ZodTypeAny;
|
|
6
|
+
declare const productlaneCreateThread: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
7
|
+
//#endregion
|
|
8
|
+
export { productlaneCreateThread };
|
|
9
|
+
//# sourceMappingURL=create-thread.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-thread.d.cts","names":[],"sources":["../../src/actions/create-thread.ts"],"mappings":";;;cAIa,4BAAA,EAA8B,CAAA,CAAE,UAQqB;AAAA,cACrD,6BAAA,EAA+B,CAAA,CAAE,UAEiB;AAAA,cAElD,uBAAA,gCAAuB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
|
|
3
|
+
//#region src/actions/create-thread.d.ts
|
|
4
|
+
declare const ProductlaneCreateThreadInput: z.ZodTypeAny;
|
|
5
|
+
declare const ProductlaneCreateThreadOutput: z.ZodTypeAny;
|
|
6
|
+
declare const productlaneCreateThread: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
7
|
+
//#endregion
|
|
8
|
+
export { productlaneCreateThread };
|
|
9
|
+
//# sourceMappingURL=create-thread.d.mts.map
|