chatbase 0.1.0 → 0.1.1
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 +127 -0
- package/dist/base/body-input.js +2 -2
- package/dist/client/pairing.js +1 -2
- package/dist/commands/auth/login.js +5 -2
- package/dist/commands/auth/logout.js +4 -2
- package/dist/commands/auth/status.js +4 -2
- package/dist/commands/conversations/tool-result.js +74 -0
- package/dist/commands/whatsapp/send-template.js +94 -0
- package/dist/commands/whatsapp/templates.js +55 -0
- package/oclif.manifest.json +658 -342
- package/package.json +5 -1
- package/spec/openapi.json +37 -0
package/oclif.manifest.json
CHANGED
|
@@ -1652,13 +1652,12 @@
|
|
|
1652
1652
|
"set.js"
|
|
1653
1653
|
]
|
|
1654
1654
|
},
|
|
1655
|
-
"
|
|
1655
|
+
"helpdesk:statuses": {
|
|
1656
1656
|
"aliases": [],
|
|
1657
1657
|
"args": {},
|
|
1658
|
-
"description": "
|
|
1658
|
+
"description": "List ticket statuses for an agent",
|
|
1659
1659
|
"examples": [
|
|
1660
|
-
"<%= config.bin %>
|
|
1661
|
-
"<%= config.bin %> conversations export -a agt_123 --all -o export.json"
|
|
1660
|
+
"<%= config.bin %> helpdesk statuses -a agt_123"
|
|
1662
1661
|
],
|
|
1663
1662
|
"flags": {
|
|
1664
1663
|
"json": {
|
|
@@ -1717,66 +1716,30 @@
|
|
|
1717
1716
|
"hasDynamicHelp": false,
|
|
1718
1717
|
"multiple": false,
|
|
1719
1718
|
"type": "option"
|
|
1720
|
-
},
|
|
1721
|
-
"cursor": {
|
|
1722
|
-
"description": "Opaque cursor from a previous response",
|
|
1723
|
-
"name": "cursor",
|
|
1724
|
-
"hasDynamicHelp": false,
|
|
1725
|
-
"multiple": false,
|
|
1726
|
-
"type": "option"
|
|
1727
|
-
},
|
|
1728
|
-
"limit": {
|
|
1729
|
-
"description": "Items per page (1-20, default 20)",
|
|
1730
|
-
"name": "limit",
|
|
1731
|
-
"hasDynamicHelp": false,
|
|
1732
|
-
"multiple": false,
|
|
1733
|
-
"type": "option"
|
|
1734
|
-
},
|
|
1735
|
-
"all": {
|
|
1736
|
-
"description": "Fetch every page",
|
|
1737
|
-
"name": "all",
|
|
1738
|
-
"allowNo": false,
|
|
1739
|
-
"type": "boolean"
|
|
1740
|
-
},
|
|
1741
|
-
"output": {
|
|
1742
|
-
"char": "o",
|
|
1743
|
-
"description": "Write export JSON to a file instead of stdout",
|
|
1744
|
-
"name": "output",
|
|
1745
|
-
"hasDynamicHelp": false,
|
|
1746
|
-
"multiple": false,
|
|
1747
|
-
"type": "option"
|
|
1748
1719
|
}
|
|
1749
1720
|
},
|
|
1750
1721
|
"hasDynamicHelp": false,
|
|
1751
1722
|
"hiddenAliases": [],
|
|
1752
|
-
"id": "
|
|
1723
|
+
"id": "helpdesk:statuses",
|
|
1753
1724
|
"pluginAlias": "chatbase",
|
|
1754
1725
|
"pluginName": "chatbase",
|
|
1755
1726
|
"pluginType": "core",
|
|
1756
1727
|
"strict": true,
|
|
1757
|
-
"summary": "Export conversations from every source, with full message history",
|
|
1758
1728
|
"enableJsonFlag": false,
|
|
1759
1729
|
"isESM": true,
|
|
1760
1730
|
"relativePath": [
|
|
1761
1731
|
"dist",
|
|
1762
1732
|
"commands",
|
|
1763
|
-
"
|
|
1764
|
-
"
|
|
1733
|
+
"helpdesk",
|
|
1734
|
+
"statuses.js"
|
|
1765
1735
|
]
|
|
1766
1736
|
},
|
|
1767
|
-
"
|
|
1737
|
+
"helpdesk:teams": {
|
|
1768
1738
|
"aliases": [],
|
|
1769
|
-
"args": {
|
|
1770
|
-
|
|
1771
|
-
"description": "Conversation ID (alternative to --conversation)",
|
|
1772
|
-
"name": "conversationId",
|
|
1773
|
-
"required": false
|
|
1774
|
-
}
|
|
1775
|
-
},
|
|
1776
|
-
"description": "Show one conversation",
|
|
1739
|
+
"args": {},
|
|
1740
|
+
"description": "List helpdesk teams for an agent",
|
|
1777
1741
|
"examples": [
|
|
1778
|
-
"<%= config.bin %>
|
|
1779
|
-
"<%= config.bin %> conversations get --conversation conv_123 -a agt_123"
|
|
1742
|
+
"<%= config.bin %> helpdesk teams -a agt_123"
|
|
1780
1743
|
],
|
|
1781
1744
|
"flags": {
|
|
1782
1745
|
"json": {
|
|
@@ -1835,18 +1798,11 @@
|
|
|
1835
1798
|
"hasDynamicHelp": false,
|
|
1836
1799
|
"multiple": false,
|
|
1837
1800
|
"type": "option"
|
|
1838
|
-
},
|
|
1839
|
-
"conversation": {
|
|
1840
|
-
"description": "Conversation ID",
|
|
1841
|
-
"name": "conversation",
|
|
1842
|
-
"hasDynamicHelp": false,
|
|
1843
|
-
"multiple": false,
|
|
1844
|
-
"type": "option"
|
|
1845
1801
|
}
|
|
1846
1802
|
},
|
|
1847
1803
|
"hasDynamicHelp": false,
|
|
1848
1804
|
"hiddenAliases": [],
|
|
1849
|
-
"id": "
|
|
1805
|
+
"id": "helpdesk:teams",
|
|
1850
1806
|
"pluginAlias": "chatbase",
|
|
1851
1807
|
"pluginName": "chatbase",
|
|
1852
1808
|
"pluginType": "core",
|
|
@@ -1856,18 +1812,17 @@
|
|
|
1856
1812
|
"relativePath": [
|
|
1857
1813
|
"dist",
|
|
1858
1814
|
"commands",
|
|
1859
|
-
"
|
|
1860
|
-
"
|
|
1815
|
+
"helpdesk",
|
|
1816
|
+
"teams.js"
|
|
1861
1817
|
]
|
|
1862
1818
|
},
|
|
1863
|
-
"
|
|
1819
|
+
"tickets:create": {
|
|
1864
1820
|
"aliases": [],
|
|
1865
1821
|
"args": {},
|
|
1866
|
-
"description": "
|
|
1822
|
+
"description": "Create a helpdesk ticket",
|
|
1867
1823
|
"examples": [
|
|
1868
|
-
"<%= config.bin %>
|
|
1869
|
-
"<%= config.bin %>
|
|
1870
|
-
"<%= config.bin %> conversations list -a agt_123 --all --json"
|
|
1824
|
+
"<%= config.bin %> tickets create --subject \"Export failing\" -f description=\"Customer cannot export.\" --customer-email jane@example.com -a agt_123",
|
|
1825
|
+
"<%= config.bin %> tickets create --subject \"Export failing\" --data '{\"description\":\"Customer cannot export.\",\"customer\":{\"email\":\"jane@example.com\"}}' -a agt_123"
|
|
1871
1826
|
],
|
|
1872
1827
|
"flags": {
|
|
1873
1828
|
"json": {
|
|
@@ -1927,29 +1882,41 @@
|
|
|
1927
1882
|
"multiple": false,
|
|
1928
1883
|
"type": "option"
|
|
1929
1884
|
},
|
|
1930
|
-
"
|
|
1931
|
-
"
|
|
1932
|
-
"
|
|
1885
|
+
"field": {
|
|
1886
|
+
"char": "f",
|
|
1887
|
+
"description": "Set a body field: -f key=value (repeatable)",
|
|
1888
|
+
"name": "field",
|
|
1889
|
+
"hasDynamicHelp": false,
|
|
1890
|
+
"multiple": true,
|
|
1891
|
+
"type": "option"
|
|
1892
|
+
},
|
|
1893
|
+
"subject": {
|
|
1894
|
+
"description": "Ticket subject",
|
|
1895
|
+
"name": "subject",
|
|
1933
1896
|
"hasDynamicHelp": false,
|
|
1934
1897
|
"multiple": false,
|
|
1935
1898
|
"type": "option"
|
|
1936
1899
|
},
|
|
1937
|
-
"
|
|
1938
|
-
"description": "
|
|
1939
|
-
"name": "
|
|
1900
|
+
"customer-email": {
|
|
1901
|
+
"description": "Customer email — builds the required customer object (alternative to customer in --data)",
|
|
1902
|
+
"name": "customer-email",
|
|
1940
1903
|
"hasDynamicHelp": false,
|
|
1941
1904
|
"multiple": false,
|
|
1942
1905
|
"type": "option"
|
|
1943
1906
|
},
|
|
1944
|
-
"
|
|
1945
|
-
"
|
|
1946
|
-
|
|
1947
|
-
|
|
1948
|
-
"
|
|
1907
|
+
"customer-name": {
|
|
1908
|
+
"dependsOn": [
|
|
1909
|
+
"customer-email"
|
|
1910
|
+
],
|
|
1911
|
+
"description": "Customer display name, used only when the email creates a new customer record",
|
|
1912
|
+
"name": "customer-name",
|
|
1913
|
+
"hasDynamicHelp": false,
|
|
1914
|
+
"multiple": false,
|
|
1915
|
+
"type": "option"
|
|
1949
1916
|
},
|
|
1950
|
-
"
|
|
1951
|
-
"description": "
|
|
1952
|
-
"name": "
|
|
1917
|
+
"data": {
|
|
1918
|
+
"description": "JSON body (@file, @-, or inline). Fields: subject, description, customer, statusId, statusCategory, assigneeId, assigneeEmail, teamId",
|
|
1919
|
+
"name": "data",
|
|
1953
1920
|
"hasDynamicHelp": false,
|
|
1954
1921
|
"multiple": false,
|
|
1955
1922
|
"type": "option"
|
|
@@ -1957,27 +1924,32 @@
|
|
|
1957
1924
|
},
|
|
1958
1925
|
"hasDynamicHelp": false,
|
|
1959
1926
|
"hiddenAliases": [],
|
|
1960
|
-
"id": "
|
|
1927
|
+
"id": "tickets:create",
|
|
1961
1928
|
"pluginAlias": "chatbase",
|
|
1962
1929
|
"pluginName": "chatbase",
|
|
1963
1930
|
"pluginType": "core",
|
|
1964
1931
|
"strict": true,
|
|
1965
|
-
"summary": "List an agent’s API-created conversations",
|
|
1966
1932
|
"enableJsonFlag": false,
|
|
1967
1933
|
"isESM": true,
|
|
1968
1934
|
"relativePath": [
|
|
1969
1935
|
"dist",
|
|
1970
1936
|
"commands",
|
|
1971
|
-
"
|
|
1972
|
-
"
|
|
1937
|
+
"tickets",
|
|
1938
|
+
"create.js"
|
|
1973
1939
|
]
|
|
1974
1940
|
},
|
|
1975
|
-
"
|
|
1941
|
+
"tickets:get": {
|
|
1976
1942
|
"aliases": [],
|
|
1977
|
-
"args": {
|
|
1978
|
-
|
|
1943
|
+
"args": {
|
|
1944
|
+
"ticketNumber": {
|
|
1945
|
+
"description": "Ticket number",
|
|
1946
|
+
"name": "ticketNumber",
|
|
1947
|
+
"required": true
|
|
1948
|
+
}
|
|
1949
|
+
},
|
|
1950
|
+
"description": "Show one helpdesk ticket",
|
|
1979
1951
|
"examples": [
|
|
1980
|
-
"<%= config.bin %>
|
|
1952
|
+
"<%= config.bin %> tickets get 42 -a agt_123"
|
|
1981
1953
|
],
|
|
1982
1954
|
"flags": {
|
|
1983
1955
|
"json": {
|
|
@@ -2040,7 +2012,7 @@
|
|
|
2040
2012
|
},
|
|
2041
2013
|
"hasDynamicHelp": false,
|
|
2042
2014
|
"hiddenAliases": [],
|
|
2043
|
-
"id": "
|
|
2015
|
+
"id": "tickets:get",
|
|
2044
2016
|
"pluginAlias": "chatbase",
|
|
2045
2017
|
"pluginName": "chatbase",
|
|
2046
2018
|
"pluginType": "core",
|
|
@@ -2050,16 +2022,18 @@
|
|
|
2050
2022
|
"relativePath": [
|
|
2051
2023
|
"dist",
|
|
2052
2024
|
"commands",
|
|
2053
|
-
"
|
|
2054
|
-
"
|
|
2025
|
+
"tickets",
|
|
2026
|
+
"get.js"
|
|
2055
2027
|
]
|
|
2056
2028
|
},
|
|
2057
|
-
"
|
|
2029
|
+
"tickets:list": {
|
|
2058
2030
|
"aliases": [],
|
|
2059
2031
|
"args": {},
|
|
2060
|
-
"description": "List helpdesk
|
|
2032
|
+
"description": "List helpdesk tickets for an agent",
|
|
2061
2033
|
"examples": [
|
|
2062
|
-
"<%= config.bin %>
|
|
2034
|
+
"<%= config.bin %> tickets list -a agt_123",
|
|
2035
|
+
"<%= config.bin %> tickets list -a agt_123 --status new,on_you",
|
|
2036
|
+
"<%= config.bin %> tickets list -a agt_123 --all --json"
|
|
2063
2037
|
],
|
|
2064
2038
|
"flags": {
|
|
2065
2039
|
"json": {
|
|
@@ -2118,11 +2092,102 @@
|
|
|
2118
2092
|
"hasDynamicHelp": false,
|
|
2119
2093
|
"multiple": false,
|
|
2120
2094
|
"type": "option"
|
|
2095
|
+
},
|
|
2096
|
+
"limit": {
|
|
2097
|
+
"description": "Maximum items per page",
|
|
2098
|
+
"name": "limit",
|
|
2099
|
+
"hasDynamicHelp": false,
|
|
2100
|
+
"multiple": false,
|
|
2101
|
+
"type": "option"
|
|
2102
|
+
},
|
|
2103
|
+
"cursor": {
|
|
2104
|
+
"description": "Pagination cursor from a previous page",
|
|
2105
|
+
"name": "cursor",
|
|
2106
|
+
"hasDynamicHelp": false,
|
|
2107
|
+
"multiple": false,
|
|
2108
|
+
"type": "option"
|
|
2109
|
+
},
|
|
2110
|
+
"all": {
|
|
2111
|
+
"description": "Fetch every page",
|
|
2112
|
+
"name": "all",
|
|
2113
|
+
"allowNo": false,
|
|
2114
|
+
"type": "boolean"
|
|
2115
|
+
},
|
|
2116
|
+
"status": {
|
|
2117
|
+
"description": "Filter by status (comma-separated): new, on_you, on_customer, on_hold, closed, cancelled",
|
|
2118
|
+
"name": "status",
|
|
2119
|
+
"hasDynamicHelp": false,
|
|
2120
|
+
"multiple": false,
|
|
2121
|
+
"type": "option"
|
|
2122
|
+
},
|
|
2123
|
+
"channel": {
|
|
2124
|
+
"description": "Filter by channel (comma-separated, e.g. email,api)",
|
|
2125
|
+
"name": "channel",
|
|
2126
|
+
"hasDynamicHelp": false,
|
|
2127
|
+
"multiple": false,
|
|
2128
|
+
"type": "option"
|
|
2129
|
+
},
|
|
2130
|
+
"assignee-id": {
|
|
2131
|
+
"description": "Filter by assignee UUID, or \"none\" for unassigned",
|
|
2132
|
+
"name": "assignee-id",
|
|
2133
|
+
"hasDynamicHelp": false,
|
|
2134
|
+
"multiple": false,
|
|
2135
|
+
"type": "option"
|
|
2136
|
+
},
|
|
2137
|
+
"team-id": {
|
|
2138
|
+
"description": "Filter by team UUID, or \"none\" for no team",
|
|
2139
|
+
"name": "team-id",
|
|
2140
|
+
"hasDynamicHelp": false,
|
|
2141
|
+
"multiple": false,
|
|
2142
|
+
"type": "option"
|
|
2143
|
+
},
|
|
2144
|
+
"created-after": {
|
|
2145
|
+
"description": "Only tickets created after this ISO 8601 date",
|
|
2146
|
+
"name": "created-after",
|
|
2147
|
+
"hasDynamicHelp": false,
|
|
2148
|
+
"multiple": false,
|
|
2149
|
+
"type": "option"
|
|
2150
|
+
},
|
|
2151
|
+
"created-before": {
|
|
2152
|
+
"description": "Only tickets created before this ISO 8601 date",
|
|
2153
|
+
"name": "created-before",
|
|
2154
|
+
"hasDynamicHelp": false,
|
|
2155
|
+
"multiple": false,
|
|
2156
|
+
"type": "option"
|
|
2157
|
+
},
|
|
2158
|
+
"sort-by": {
|
|
2159
|
+
"description": "Sort field",
|
|
2160
|
+
"name": "sort-by",
|
|
2161
|
+
"hasDynamicHelp": false,
|
|
2162
|
+
"multiple": false,
|
|
2163
|
+
"options": [
|
|
2164
|
+
"createdAt",
|
|
2165
|
+
"updatedAt",
|
|
2166
|
+
"lastMessageAt"
|
|
2167
|
+
],
|
|
2168
|
+
"type": "option"
|
|
2169
|
+
},
|
|
2170
|
+
"order": {
|
|
2171
|
+
"description": "Sort direction",
|
|
2172
|
+
"name": "order",
|
|
2173
|
+
"hasDynamicHelp": false,
|
|
2174
|
+
"multiple": false,
|
|
2175
|
+
"options": [
|
|
2176
|
+
"asc",
|
|
2177
|
+
"desc"
|
|
2178
|
+
],
|
|
2179
|
+
"type": "option"
|
|
2180
|
+
},
|
|
2181
|
+
"include-total": {
|
|
2182
|
+
"description": "Include pagination.total in the response",
|
|
2183
|
+
"name": "include-total",
|
|
2184
|
+
"allowNo": false,
|
|
2185
|
+
"type": "boolean"
|
|
2121
2186
|
}
|
|
2122
2187
|
},
|
|
2123
2188
|
"hasDynamicHelp": false,
|
|
2124
2189
|
"hiddenAliases": [],
|
|
2125
|
-
"id": "
|
|
2190
|
+
"id": "tickets:list",
|
|
2126
2191
|
"pluginAlias": "chatbase",
|
|
2127
2192
|
"pluginName": "chatbase",
|
|
2128
2193
|
"pluginType": "core",
|
|
@@ -2132,23 +2197,23 @@
|
|
|
2132
2197
|
"relativePath": [
|
|
2133
2198
|
"dist",
|
|
2134
2199
|
"commands",
|
|
2135
|
-
"
|
|
2136
|
-
"
|
|
2200
|
+
"tickets",
|
|
2201
|
+
"list.js"
|
|
2137
2202
|
]
|
|
2138
2203
|
},
|
|
2139
|
-
"messages
|
|
2204
|
+
"tickets:messages": {
|
|
2140
2205
|
"aliases": [],
|
|
2141
2206
|
"args": {
|
|
2142
|
-
"
|
|
2143
|
-
"description": "
|
|
2144
|
-
"name": "
|
|
2207
|
+
"ticketNumber": {
|
|
2208
|
+
"description": "Ticket number (alternative to --ticket)",
|
|
2209
|
+
"name": "ticketNumber",
|
|
2145
2210
|
"required": false
|
|
2146
2211
|
}
|
|
2147
2212
|
},
|
|
2148
|
-
"description": "
|
|
2213
|
+
"description": "List a ticket's message thread",
|
|
2149
2214
|
"examples": [
|
|
2150
|
-
"<%= config.bin %> messages
|
|
2151
|
-
"<%= config.bin %> messages
|
|
2215
|
+
"<%= config.bin %> tickets messages 42 -a agt_123",
|
|
2216
|
+
"<%= config.bin %> tickets messages 42 -a agt_123 --all --json"
|
|
2152
2217
|
],
|
|
2153
2218
|
"flags": {
|
|
2154
2219
|
"json": {
|
|
@@ -2208,38 +2273,55 @@
|
|
|
2208
2273
|
"multiple": false,
|
|
2209
2274
|
"type": "option"
|
|
2210
2275
|
},
|
|
2211
|
-
"
|
|
2212
|
-
"description": "
|
|
2213
|
-
"name": "
|
|
2214
|
-
"required": true,
|
|
2276
|
+
"limit": {
|
|
2277
|
+
"description": "Maximum items per page",
|
|
2278
|
+
"name": "limit",
|
|
2215
2279
|
"hasDynamicHelp": false,
|
|
2216
2280
|
"multiple": false,
|
|
2217
2281
|
"type": "option"
|
|
2218
2282
|
},
|
|
2219
|
-
"
|
|
2220
|
-
"description": "
|
|
2221
|
-
"name": "
|
|
2283
|
+
"cursor": {
|
|
2284
|
+
"description": "Pagination cursor from a previous page",
|
|
2285
|
+
"name": "cursor",
|
|
2222
2286
|
"hasDynamicHelp": false,
|
|
2223
2287
|
"multiple": false,
|
|
2224
2288
|
"type": "option"
|
|
2225
2289
|
},
|
|
2226
|
-
"
|
|
2227
|
-
"description": "
|
|
2228
|
-
"name": "
|
|
2229
|
-
"
|
|
2290
|
+
"all": {
|
|
2291
|
+
"description": "Fetch every page",
|
|
2292
|
+
"name": "all",
|
|
2293
|
+
"allowNo": false,
|
|
2294
|
+
"type": "boolean"
|
|
2295
|
+
},
|
|
2296
|
+
"ticket": {
|
|
2297
|
+
"description": "Ticket number",
|
|
2298
|
+
"name": "ticket",
|
|
2299
|
+
"hasDynamicHelp": false,
|
|
2300
|
+
"multiple": false,
|
|
2301
|
+
"type": "option"
|
|
2302
|
+
},
|
|
2303
|
+
"types": {
|
|
2304
|
+
"description": "Message types to include (comma-separated): reply, note, event (default: reply,note)",
|
|
2305
|
+
"name": "types",
|
|
2306
|
+
"hasDynamicHelp": false,
|
|
2307
|
+
"multiple": false,
|
|
2308
|
+
"type": "option"
|
|
2309
|
+
},
|
|
2310
|
+
"order": {
|
|
2311
|
+
"description": "Sort direction",
|
|
2312
|
+
"name": "order",
|
|
2230
2313
|
"hasDynamicHelp": false,
|
|
2231
2314
|
"multiple": false,
|
|
2232
2315
|
"options": [
|
|
2233
|
-
"
|
|
2234
|
-
"
|
|
2235
|
-
"clear"
|
|
2316
|
+
"asc",
|
|
2317
|
+
"desc"
|
|
2236
2318
|
],
|
|
2237
2319
|
"type": "option"
|
|
2238
2320
|
}
|
|
2239
2321
|
},
|
|
2240
2322
|
"hasDynamicHelp": false,
|
|
2241
2323
|
"hiddenAliases": [],
|
|
2242
|
-
"id": "messages
|
|
2324
|
+
"id": "tickets:messages",
|
|
2243
2325
|
"pluginAlias": "chatbase",
|
|
2244
2326
|
"pluginName": "chatbase",
|
|
2245
2327
|
"pluginType": "core",
|
|
@@ -2249,17 +2331,22 @@
|
|
|
2249
2331
|
"relativePath": [
|
|
2250
2332
|
"dist",
|
|
2251
2333
|
"commands",
|
|
2252
|
-
"
|
|
2253
|
-
"
|
|
2334
|
+
"tickets",
|
|
2335
|
+
"messages.js"
|
|
2254
2336
|
]
|
|
2255
2337
|
},
|
|
2256
|
-
"
|
|
2338
|
+
"tickets:reply": {
|
|
2257
2339
|
"aliases": [],
|
|
2258
|
-
"args": {
|
|
2259
|
-
|
|
2340
|
+
"args": {
|
|
2341
|
+
"ticketNumber": {
|
|
2342
|
+
"description": "Ticket number (alternative to --ticket)",
|
|
2343
|
+
"name": "ticketNumber",
|
|
2344
|
+
"required": false
|
|
2345
|
+
}
|
|
2346
|
+
},
|
|
2347
|
+
"description": "Post an agent reply to a ticket's message thread",
|
|
2260
2348
|
"examples": [
|
|
2261
|
-
"<%= config.bin %>
|
|
2262
|
-
"<%= config.bin %> messages list --conversation conv_123 -a agt_123 --all --json"
|
|
2349
|
+
"<%= config.bin %> tickets reply 42 -m \"On it\" --author-email sam@example.com -a agt_123"
|
|
2263
2350
|
],
|
|
2264
2351
|
"flags": {
|
|
2265
2352
|
"json": {
|
|
@@ -2319,30 +2406,32 @@
|
|
|
2319
2406
|
"multiple": false,
|
|
2320
2407
|
"type": "option"
|
|
2321
2408
|
},
|
|
2322
|
-
"
|
|
2323
|
-
"description": "
|
|
2324
|
-
"name": "
|
|
2409
|
+
"ticket": {
|
|
2410
|
+
"description": "Ticket number",
|
|
2411
|
+
"name": "ticket",
|
|
2325
2412
|
"hasDynamicHelp": false,
|
|
2326
2413
|
"multiple": false,
|
|
2327
2414
|
"type": "option"
|
|
2328
2415
|
},
|
|
2329
|
-
"
|
|
2330
|
-
"
|
|
2331
|
-
"
|
|
2416
|
+
"message": {
|
|
2417
|
+
"char": "m",
|
|
2418
|
+
"description": "Reply body as GitHub-flavored Markdown",
|
|
2419
|
+
"name": "message",
|
|
2420
|
+
"required": true,
|
|
2332
2421
|
"hasDynamicHelp": false,
|
|
2333
2422
|
"multiple": false,
|
|
2334
2423
|
"type": "option"
|
|
2335
2424
|
},
|
|
2336
|
-
"
|
|
2337
|
-
"description": "
|
|
2338
|
-
"name": "
|
|
2339
|
-
"
|
|
2340
|
-
"
|
|
2425
|
+
"author-id": {
|
|
2426
|
+
"description": "Platform user id of the team member the reply is attributed to (exactly one of --author-id/--author-email)",
|
|
2427
|
+
"name": "author-id",
|
|
2428
|
+
"hasDynamicHelp": false,
|
|
2429
|
+
"multiple": false,
|
|
2430
|
+
"type": "option"
|
|
2341
2431
|
},
|
|
2342
|
-
"
|
|
2343
|
-
"description": "
|
|
2344
|
-
"name": "
|
|
2345
|
-
"required": true,
|
|
2432
|
+
"author-email": {
|
|
2433
|
+
"description": "Email of the team member the reply is attributed to (exactly one of --author-id/--author-email)",
|
|
2434
|
+
"name": "author-email",
|
|
2346
2435
|
"hasDynamicHelp": false,
|
|
2347
2436
|
"multiple": false,
|
|
2348
2437
|
"type": "option"
|
|
@@ -2350,7 +2439,7 @@
|
|
|
2350
2439
|
},
|
|
2351
2440
|
"hasDynamicHelp": false,
|
|
2352
2441
|
"hiddenAliases": [],
|
|
2353
|
-
"id": "
|
|
2442
|
+
"id": "tickets:reply",
|
|
2354
2443
|
"pluginAlias": "chatbase",
|
|
2355
2444
|
"pluginName": "chatbase",
|
|
2356
2445
|
"pluginType": "core",
|
|
@@ -2360,17 +2449,23 @@
|
|
|
2360
2449
|
"relativePath": [
|
|
2361
2450
|
"dist",
|
|
2362
2451
|
"commands",
|
|
2363
|
-
"
|
|
2364
|
-
"
|
|
2452
|
+
"tickets",
|
|
2453
|
+
"reply.js"
|
|
2365
2454
|
]
|
|
2366
2455
|
},
|
|
2367
|
-
"tickets:
|
|
2456
|
+
"tickets:search": {
|
|
2368
2457
|
"aliases": [],
|
|
2369
|
-
"args": {
|
|
2370
|
-
|
|
2458
|
+
"args": {
|
|
2459
|
+
"query": {
|
|
2460
|
+
"description": "Free-text search terms (matched against ticket messages)",
|
|
2461
|
+
"name": "query",
|
|
2462
|
+
"required": true
|
|
2463
|
+
}
|
|
2464
|
+
},
|
|
2465
|
+
"description": "Search tickets by message content",
|
|
2371
2466
|
"examples": [
|
|
2372
|
-
"<%= config.bin %> tickets
|
|
2373
|
-
"<%= config.bin %> tickets
|
|
2467
|
+
"<%= config.bin %> tickets search \"refund not received\" -a agt_123",
|
|
2468
|
+
"<%= config.bin %> tickets search \"refund\" -a agt_123 --limit 10 --json"
|
|
2374
2469
|
],
|
|
2375
2470
|
"flags": {
|
|
2376
2471
|
"json": {
|
|
@@ -2430,41 +2525,9 @@
|
|
|
2430
2525
|
"multiple": false,
|
|
2431
2526
|
"type": "option"
|
|
2432
2527
|
},
|
|
2433
|
-
"
|
|
2434
|
-
"
|
|
2435
|
-
"
|
|
2436
|
-
"name": "field",
|
|
2437
|
-
"hasDynamicHelp": false,
|
|
2438
|
-
"multiple": true,
|
|
2439
|
-
"type": "option"
|
|
2440
|
-
},
|
|
2441
|
-
"subject": {
|
|
2442
|
-
"description": "Ticket subject",
|
|
2443
|
-
"name": "subject",
|
|
2444
|
-
"hasDynamicHelp": false,
|
|
2445
|
-
"multiple": false,
|
|
2446
|
-
"type": "option"
|
|
2447
|
-
},
|
|
2448
|
-
"customer-email": {
|
|
2449
|
-
"description": "Customer email — builds the required customer object (alternative to customer in --data)",
|
|
2450
|
-
"name": "customer-email",
|
|
2451
|
-
"hasDynamicHelp": false,
|
|
2452
|
-
"multiple": false,
|
|
2453
|
-
"type": "option"
|
|
2454
|
-
},
|
|
2455
|
-
"customer-name": {
|
|
2456
|
-
"dependsOn": [
|
|
2457
|
-
"customer-email"
|
|
2458
|
-
],
|
|
2459
|
-
"description": "Customer display name, used only when the email creates a new customer record",
|
|
2460
|
-
"name": "customer-name",
|
|
2461
|
-
"hasDynamicHelp": false,
|
|
2462
|
-
"multiple": false,
|
|
2463
|
-
"type": "option"
|
|
2464
|
-
},
|
|
2465
|
-
"data": {
|
|
2466
|
-
"description": "JSON body (@file, @-, or inline). Fields: subject, description, customer, statusId, statusCategory, assigneeId, assigneeEmail, teamId",
|
|
2467
|
-
"name": "data",
|
|
2528
|
+
"limit": {
|
|
2529
|
+
"description": "Number of results (1–50, default 20)",
|
|
2530
|
+
"name": "limit",
|
|
2468
2531
|
"hasDynamicHelp": false,
|
|
2469
2532
|
"multiple": false,
|
|
2470
2533
|
"type": "option"
|
|
@@ -2472,7 +2535,7 @@
|
|
|
2472
2535
|
},
|
|
2473
2536
|
"hasDynamicHelp": false,
|
|
2474
2537
|
"hiddenAliases": [],
|
|
2475
|
-
"id": "tickets:
|
|
2538
|
+
"id": "tickets:search",
|
|
2476
2539
|
"pluginAlias": "chatbase",
|
|
2477
2540
|
"pluginName": "chatbase",
|
|
2478
2541
|
"pluginType": "core",
|
|
@@ -2483,10 +2546,10 @@
|
|
|
2483
2546
|
"dist",
|
|
2484
2547
|
"commands",
|
|
2485
2548
|
"tickets",
|
|
2486
|
-
"
|
|
2549
|
+
"search.js"
|
|
2487
2550
|
]
|
|
2488
2551
|
},
|
|
2489
|
-
"tickets:
|
|
2552
|
+
"tickets:update": {
|
|
2490
2553
|
"aliases": [],
|
|
2491
2554
|
"args": {
|
|
2492
2555
|
"ticketNumber": {
|
|
@@ -2495,9 +2558,9 @@
|
|
|
2495
2558
|
"required": true
|
|
2496
2559
|
}
|
|
2497
2560
|
},
|
|
2498
|
-
"description": "
|
|
2561
|
+
"description": "Update a ticket's status, assignee, and/or team",
|
|
2499
2562
|
"examples": [
|
|
2500
|
-
"<%= config.bin %> tickets
|
|
2563
|
+
"<%= config.bin %> tickets update 42 --data '{\"statusCategory\":\"closed\"}' -a agt_123"
|
|
2501
2564
|
],
|
|
2502
2565
|
"flags": {
|
|
2503
2566
|
"json": {
|
|
@@ -2556,11 +2619,26 @@
|
|
|
2556
2619
|
"hasDynamicHelp": false,
|
|
2557
2620
|
"multiple": false,
|
|
2558
2621
|
"type": "option"
|
|
2622
|
+
},
|
|
2623
|
+
"field": {
|
|
2624
|
+
"char": "f",
|
|
2625
|
+
"description": "Set a body field: -f key=value (repeatable)",
|
|
2626
|
+
"name": "field",
|
|
2627
|
+
"hasDynamicHelp": false,
|
|
2628
|
+
"multiple": true,
|
|
2629
|
+
"type": "option"
|
|
2630
|
+
},
|
|
2631
|
+
"data": {
|
|
2632
|
+
"description": "JSON body (@file, @-, or inline). Fields: statusId, statusCategory, assigneeId, assigneeEmail, teamId",
|
|
2633
|
+
"name": "data",
|
|
2634
|
+
"hasDynamicHelp": false,
|
|
2635
|
+
"multiple": false,
|
|
2636
|
+
"type": "option"
|
|
2559
2637
|
}
|
|
2560
2638
|
},
|
|
2561
2639
|
"hasDynamicHelp": false,
|
|
2562
2640
|
"hiddenAliases": [],
|
|
2563
|
-
"id": "tickets:
|
|
2641
|
+
"id": "tickets:update",
|
|
2564
2642
|
"pluginAlias": "chatbase",
|
|
2565
2643
|
"pluginName": "chatbase",
|
|
2566
2644
|
"pluginType": "core",
|
|
@@ -2571,17 +2649,16 @@
|
|
|
2571
2649
|
"dist",
|
|
2572
2650
|
"commands",
|
|
2573
2651
|
"tickets",
|
|
2574
|
-
"
|
|
2652
|
+
"update.js"
|
|
2575
2653
|
]
|
|
2576
2654
|
},
|
|
2577
|
-
"
|
|
2655
|
+
"conversations:export": {
|
|
2578
2656
|
"aliases": [],
|
|
2579
2657
|
"args": {},
|
|
2580
|
-
"description": "
|
|
2658
|
+
"description": "Export conversations with full message history, newest first.\n\nThis is the only endpoint that returns conversations from every source — the chat bubble and external integrations (Slack, WhatsApp, Instagram, Messenger, and the like) as well as API-created ones. Prefer it over `conversations list` whenever you need real traffic rather than just programmatically created conversations. Each item embeds its own `messages` array, so no follow-up `conversations get` or `messages list` call is needed (and neither works for bubble/integration conversations).",
|
|
2581
2659
|
"examples": [
|
|
2582
|
-
"<%= config.bin %>
|
|
2583
|
-
"<%= config.bin %>
|
|
2584
|
-
"<%= config.bin %> tickets list -a agt_123 --all --json"
|
|
2660
|
+
"<%= config.bin %> conversations export -a agt_123",
|
|
2661
|
+
"<%= config.bin %> conversations export -a agt_123 --all -o export.json"
|
|
2585
2662
|
],
|
|
2586
2663
|
"flags": {
|
|
2587
2664
|
"json": {
|
|
@@ -2641,16 +2718,16 @@
|
|
|
2641
2718
|
"multiple": false,
|
|
2642
2719
|
"type": "option"
|
|
2643
2720
|
},
|
|
2644
|
-
"
|
|
2645
|
-
"description": "
|
|
2646
|
-
"name": "
|
|
2721
|
+
"cursor": {
|
|
2722
|
+
"description": "Opaque cursor from a previous response",
|
|
2723
|
+
"name": "cursor",
|
|
2647
2724
|
"hasDynamicHelp": false,
|
|
2648
2725
|
"multiple": false,
|
|
2649
2726
|
"type": "option"
|
|
2650
2727
|
},
|
|
2651
|
-
"
|
|
2652
|
-
"description": "
|
|
2653
|
-
"name": "
|
|
2728
|
+
"limit": {
|
|
2729
|
+
"description": "Items per page (1-20, default 20)",
|
|
2730
|
+
"name": "limit",
|
|
2654
2731
|
"hasDynamicHelp": false,
|
|
2655
2732
|
"multiple": false,
|
|
2656
2733
|
"type": "option"
|
|
@@ -2661,81 +2738,115 @@
|
|
|
2661
2738
|
"allowNo": false,
|
|
2662
2739
|
"type": "boolean"
|
|
2663
2740
|
},
|
|
2664
|
-
"
|
|
2665
|
-
"
|
|
2666
|
-
"
|
|
2667
|
-
"
|
|
2668
|
-
"multiple": false,
|
|
2669
|
-
"type": "option"
|
|
2670
|
-
},
|
|
2671
|
-
"channel": {
|
|
2672
|
-
"description": "Filter by channel (comma-separated, e.g. email,api)",
|
|
2673
|
-
"name": "channel",
|
|
2674
|
-
"hasDynamicHelp": false,
|
|
2675
|
-
"multiple": false,
|
|
2676
|
-
"type": "option"
|
|
2677
|
-
},
|
|
2678
|
-
"assignee-id": {
|
|
2679
|
-
"description": "Filter by assignee UUID, or \"none\" for unassigned",
|
|
2680
|
-
"name": "assignee-id",
|
|
2681
|
-
"hasDynamicHelp": false,
|
|
2682
|
-
"multiple": false,
|
|
2683
|
-
"type": "option"
|
|
2684
|
-
},
|
|
2685
|
-
"team-id": {
|
|
2686
|
-
"description": "Filter by team UUID, or \"none\" for no team",
|
|
2687
|
-
"name": "team-id",
|
|
2688
|
-
"hasDynamicHelp": false,
|
|
2689
|
-
"multiple": false,
|
|
2690
|
-
"type": "option"
|
|
2691
|
-
},
|
|
2692
|
-
"created-after": {
|
|
2693
|
-
"description": "Only tickets created after this ISO 8601 date",
|
|
2694
|
-
"name": "created-after",
|
|
2741
|
+
"output": {
|
|
2742
|
+
"char": "o",
|
|
2743
|
+
"description": "Write export JSON to a file instead of stdout",
|
|
2744
|
+
"name": "output",
|
|
2695
2745
|
"hasDynamicHelp": false,
|
|
2696
2746
|
"multiple": false,
|
|
2697
2747
|
"type": "option"
|
|
2698
|
-
}
|
|
2699
|
-
|
|
2700
|
-
|
|
2701
|
-
|
|
2748
|
+
}
|
|
2749
|
+
},
|
|
2750
|
+
"hasDynamicHelp": false,
|
|
2751
|
+
"hiddenAliases": [],
|
|
2752
|
+
"id": "conversations:export",
|
|
2753
|
+
"pluginAlias": "chatbase",
|
|
2754
|
+
"pluginName": "chatbase",
|
|
2755
|
+
"pluginType": "core",
|
|
2756
|
+
"strict": true,
|
|
2757
|
+
"summary": "Export conversations from every source, with full message history",
|
|
2758
|
+
"enableJsonFlag": false,
|
|
2759
|
+
"isESM": true,
|
|
2760
|
+
"relativePath": [
|
|
2761
|
+
"dist",
|
|
2762
|
+
"commands",
|
|
2763
|
+
"conversations",
|
|
2764
|
+
"export.js"
|
|
2765
|
+
]
|
|
2766
|
+
},
|
|
2767
|
+
"conversations:get": {
|
|
2768
|
+
"aliases": [],
|
|
2769
|
+
"args": {
|
|
2770
|
+
"conversationId": {
|
|
2771
|
+
"description": "Conversation ID (alternative to --conversation)",
|
|
2772
|
+
"name": "conversationId",
|
|
2773
|
+
"required": false
|
|
2774
|
+
}
|
|
2775
|
+
},
|
|
2776
|
+
"description": "Show one conversation",
|
|
2777
|
+
"examples": [
|
|
2778
|
+
"<%= config.bin %> conversations get conv_123 -a agt_123",
|
|
2779
|
+
"<%= config.bin %> conversations get --conversation conv_123 -a agt_123"
|
|
2780
|
+
],
|
|
2781
|
+
"flags": {
|
|
2782
|
+
"json": {
|
|
2783
|
+
"description": "Output raw API JSON",
|
|
2784
|
+
"helpGroup": "OUTPUT",
|
|
2785
|
+
"name": "json",
|
|
2786
|
+
"allowNo": false,
|
|
2787
|
+
"type": "boolean"
|
|
2788
|
+
},
|
|
2789
|
+
"plain": {
|
|
2790
|
+
"description": "Tab-separated output for scripts",
|
|
2791
|
+
"helpGroup": "OUTPUT",
|
|
2792
|
+
"name": "plain",
|
|
2793
|
+
"allowNo": false,
|
|
2794
|
+
"type": "boolean"
|
|
2795
|
+
},
|
|
2796
|
+
"quiet": {
|
|
2797
|
+
"char": "q",
|
|
2798
|
+
"description": "Suppress non-essential output",
|
|
2799
|
+
"name": "quiet",
|
|
2800
|
+
"allowNo": false,
|
|
2801
|
+
"type": "boolean"
|
|
2802
|
+
},
|
|
2803
|
+
"verbose": {
|
|
2804
|
+
"description": "Verbose diagnostics",
|
|
2805
|
+
"name": "verbose",
|
|
2806
|
+
"allowNo": false,
|
|
2807
|
+
"type": "boolean"
|
|
2808
|
+
},
|
|
2809
|
+
"no-input": {
|
|
2810
|
+
"description": "Never prompt; fail instead",
|
|
2811
|
+
"name": "no-input",
|
|
2812
|
+
"allowNo": false,
|
|
2813
|
+
"type": "boolean"
|
|
2814
|
+
},
|
|
2815
|
+
"no-color": {
|
|
2816
|
+
"description": "Disable colored output",
|
|
2817
|
+
"name": "no-color",
|
|
2818
|
+
"allowNo": false,
|
|
2819
|
+
"type": "boolean"
|
|
2820
|
+
},
|
|
2821
|
+
"agent": {
|
|
2822
|
+
"char": "a",
|
|
2823
|
+
"description": "Agent ID (or set CHATBASE_AGENT_ID)",
|
|
2824
|
+
"name": "agent",
|
|
2702
2825
|
"hasDynamicHelp": false,
|
|
2703
2826
|
"multiple": false,
|
|
2704
2827
|
"type": "option"
|
|
2705
2828
|
},
|
|
2706
|
-
"
|
|
2707
|
-
"description": "
|
|
2708
|
-
"
|
|
2829
|
+
"agent-name": {
|
|
2830
|
+
"description": "Agent display name (looked up to an ID)",
|
|
2831
|
+
"exclusive": [
|
|
2832
|
+
"agent"
|
|
2833
|
+
],
|
|
2834
|
+
"name": "agent-name",
|
|
2709
2835
|
"hasDynamicHelp": false,
|
|
2710
2836
|
"multiple": false,
|
|
2711
|
-
"options": [
|
|
2712
|
-
"createdAt",
|
|
2713
|
-
"updatedAt",
|
|
2714
|
-
"lastMessageAt"
|
|
2715
|
-
],
|
|
2716
2837
|
"type": "option"
|
|
2717
2838
|
},
|
|
2718
|
-
"
|
|
2719
|
-
"description": "
|
|
2720
|
-
"name": "
|
|
2839
|
+
"conversation": {
|
|
2840
|
+
"description": "Conversation ID",
|
|
2841
|
+
"name": "conversation",
|
|
2721
2842
|
"hasDynamicHelp": false,
|
|
2722
2843
|
"multiple": false,
|
|
2723
|
-
"options": [
|
|
2724
|
-
"asc",
|
|
2725
|
-
"desc"
|
|
2726
|
-
],
|
|
2727
2844
|
"type": "option"
|
|
2728
|
-
},
|
|
2729
|
-
"include-total": {
|
|
2730
|
-
"description": "Include pagination.total in the response",
|
|
2731
|
-
"name": "include-total",
|
|
2732
|
-
"allowNo": false,
|
|
2733
|
-
"type": "boolean"
|
|
2734
2845
|
}
|
|
2735
2846
|
},
|
|
2736
2847
|
"hasDynamicHelp": false,
|
|
2737
2848
|
"hiddenAliases": [],
|
|
2738
|
-
"id": "
|
|
2849
|
+
"id": "conversations:get",
|
|
2739
2850
|
"pluginAlias": "chatbase",
|
|
2740
2851
|
"pluginName": "chatbase",
|
|
2741
2852
|
"pluginType": "core",
|
|
@@ -2745,23 +2856,18 @@
|
|
|
2745
2856
|
"relativePath": [
|
|
2746
2857
|
"dist",
|
|
2747
2858
|
"commands",
|
|
2748
|
-
"
|
|
2749
|
-
"
|
|
2859
|
+
"conversations",
|
|
2860
|
+
"get.js"
|
|
2750
2861
|
]
|
|
2751
2862
|
},
|
|
2752
|
-
"
|
|
2863
|
+
"conversations:list": {
|
|
2753
2864
|
"aliases": [],
|
|
2754
|
-
"args": {
|
|
2755
|
-
|
|
2756
|
-
"description": "Ticket number (alternative to --ticket)",
|
|
2757
|
-
"name": "ticketNumber",
|
|
2758
|
-
"required": false
|
|
2759
|
-
}
|
|
2760
|
-
},
|
|
2761
|
-
"description": "List a ticket's message thread",
|
|
2865
|
+
"args": {},
|
|
2866
|
+
"description": "List conversations for an agent, newest first.\n\nScope: the API v2 list endpoint returns only conversations created programmatically through the API. Conversations from the chat bubble and external integrations (Slack, WhatsApp, Instagram, Messenger, and the like) are not accessible here and are not counted in `total`. Use `chatbase conversations export` to read conversations from every source — it also embeds full message history, which `conversations get` and `messages list` cannot retrieve for those conversations.",
|
|
2762
2867
|
"examples": [
|
|
2763
|
-
"<%= config.bin %>
|
|
2764
|
-
"<%= config.bin %>
|
|
2868
|
+
"<%= config.bin %> conversations list -a agt_123",
|
|
2869
|
+
"<%= config.bin %> conversations list -a agt_123 --user usr_456",
|
|
2870
|
+
"<%= config.bin %> conversations list -a agt_123 --all --json"
|
|
2765
2871
|
],
|
|
2766
2872
|
"flags": {
|
|
2767
2873
|
"json": {
|
|
@@ -2841,60 +2947,157 @@
|
|
|
2841
2947
|
"allowNo": false,
|
|
2842
2948
|
"type": "boolean"
|
|
2843
2949
|
},
|
|
2844
|
-
"
|
|
2845
|
-
"description": "
|
|
2846
|
-
"name": "
|
|
2950
|
+
"user": {
|
|
2951
|
+
"description": "List conversations for a specific user (uses GET /users/{userId}/conversations)",
|
|
2952
|
+
"name": "user",
|
|
2847
2953
|
"hasDynamicHelp": false,
|
|
2848
2954
|
"multiple": false,
|
|
2849
2955
|
"type": "option"
|
|
2956
|
+
}
|
|
2957
|
+
},
|
|
2958
|
+
"hasDynamicHelp": false,
|
|
2959
|
+
"hiddenAliases": [],
|
|
2960
|
+
"id": "conversations:list",
|
|
2961
|
+
"pluginAlias": "chatbase",
|
|
2962
|
+
"pluginName": "chatbase",
|
|
2963
|
+
"pluginType": "core",
|
|
2964
|
+
"strict": true,
|
|
2965
|
+
"summary": "List an agent’s API-created conversations",
|
|
2966
|
+
"enableJsonFlag": false,
|
|
2967
|
+
"isESM": true,
|
|
2968
|
+
"relativePath": [
|
|
2969
|
+
"dist",
|
|
2970
|
+
"commands",
|
|
2971
|
+
"conversations",
|
|
2972
|
+
"list.js"
|
|
2973
|
+
]
|
|
2974
|
+
},
|
|
2975
|
+
"conversations:tool-result": {
|
|
2976
|
+
"aliases": [],
|
|
2977
|
+
"args": {
|
|
2978
|
+
"conversationId": {
|
|
2979
|
+
"description": "Conversation ID (alternative to --conversation)",
|
|
2980
|
+
"name": "conversationId",
|
|
2981
|
+
"required": false
|
|
2982
|
+
}
|
|
2983
|
+
},
|
|
2984
|
+
"description": "Submit the result of a client-side tool call so the paused chat turn can continue. The tool call ID comes from the tool-call part of the chat response that requested the execution.",
|
|
2985
|
+
"examples": [
|
|
2986
|
+
"<%= config.bin %> conversations tool-result conv_123 --tool-call-id tc_1 --output '{\"temperature\": 72}' -a agt_123",
|
|
2987
|
+
"<%= config.bin %> conversations tool-result conv_123 --tool-call-id tc_1 --output @result.json -a agt_123",
|
|
2988
|
+
"<%= config.bin %> conversations tool-result conv_123 --tool-call-id tc_1 -a agt_123"
|
|
2989
|
+
],
|
|
2990
|
+
"flags": {
|
|
2991
|
+
"json": {
|
|
2992
|
+
"description": "Output raw API JSON",
|
|
2993
|
+
"helpGroup": "OUTPUT",
|
|
2994
|
+
"name": "json",
|
|
2995
|
+
"allowNo": false,
|
|
2996
|
+
"type": "boolean"
|
|
2850
2997
|
},
|
|
2851
|
-
"
|
|
2852
|
-
"description": "
|
|
2853
|
-
"
|
|
2998
|
+
"plain": {
|
|
2999
|
+
"description": "Tab-separated output for scripts",
|
|
3000
|
+
"helpGroup": "OUTPUT",
|
|
3001
|
+
"name": "plain",
|
|
3002
|
+
"allowNo": false,
|
|
3003
|
+
"type": "boolean"
|
|
3004
|
+
},
|
|
3005
|
+
"quiet": {
|
|
3006
|
+
"char": "q",
|
|
3007
|
+
"description": "Suppress non-essential output",
|
|
3008
|
+
"name": "quiet",
|
|
3009
|
+
"allowNo": false,
|
|
3010
|
+
"type": "boolean"
|
|
3011
|
+
},
|
|
3012
|
+
"verbose": {
|
|
3013
|
+
"description": "Verbose diagnostics",
|
|
3014
|
+
"name": "verbose",
|
|
3015
|
+
"allowNo": false,
|
|
3016
|
+
"type": "boolean"
|
|
3017
|
+
},
|
|
3018
|
+
"no-input": {
|
|
3019
|
+
"description": "Never prompt; fail instead",
|
|
3020
|
+
"name": "no-input",
|
|
3021
|
+
"allowNo": false,
|
|
3022
|
+
"type": "boolean"
|
|
3023
|
+
},
|
|
3024
|
+
"no-color": {
|
|
3025
|
+
"description": "Disable colored output",
|
|
3026
|
+
"name": "no-color",
|
|
3027
|
+
"allowNo": false,
|
|
3028
|
+
"type": "boolean"
|
|
3029
|
+
},
|
|
3030
|
+
"agent": {
|
|
3031
|
+
"char": "a",
|
|
3032
|
+
"description": "Agent ID (or set CHATBASE_AGENT_ID)",
|
|
3033
|
+
"name": "agent",
|
|
2854
3034
|
"hasDynamicHelp": false,
|
|
2855
3035
|
"multiple": false,
|
|
2856
3036
|
"type": "option"
|
|
2857
3037
|
},
|
|
2858
|
-
"
|
|
2859
|
-
"description": "
|
|
2860
|
-
"
|
|
3038
|
+
"agent-name": {
|
|
3039
|
+
"description": "Agent display name (looked up to an ID)",
|
|
3040
|
+
"exclusive": [
|
|
3041
|
+
"agent"
|
|
3042
|
+
],
|
|
3043
|
+
"name": "agent-name",
|
|
3044
|
+
"hasDynamicHelp": false,
|
|
3045
|
+
"multiple": false,
|
|
3046
|
+
"type": "option"
|
|
3047
|
+
},
|
|
3048
|
+
"conversation": {
|
|
3049
|
+
"description": "Conversation ID",
|
|
3050
|
+
"name": "conversation",
|
|
3051
|
+
"hasDynamicHelp": false,
|
|
3052
|
+
"multiple": false,
|
|
3053
|
+
"type": "option"
|
|
3054
|
+
},
|
|
3055
|
+
"tool-call-id": {
|
|
3056
|
+
"description": "The toolCallId from the tool-call part in the chat response",
|
|
3057
|
+
"name": "tool-call-id",
|
|
3058
|
+
"required": true,
|
|
3059
|
+
"hasDynamicHelp": false,
|
|
3060
|
+
"multiple": false,
|
|
3061
|
+
"type": "option"
|
|
3062
|
+
},
|
|
3063
|
+
"output": {
|
|
3064
|
+
"description": "Result of executing the tool (inline JSON, @file, or @-); a value that is not valid JSON is sent as a plain string",
|
|
3065
|
+
"name": "output",
|
|
2861
3066
|
"hasDynamicHelp": false,
|
|
2862
3067
|
"multiple": false,
|
|
2863
|
-
"options": [
|
|
2864
|
-
"asc",
|
|
2865
|
-
"desc"
|
|
2866
|
-
],
|
|
2867
3068
|
"type": "option"
|
|
2868
3069
|
}
|
|
2869
3070
|
},
|
|
2870
3071
|
"hasDynamicHelp": false,
|
|
2871
3072
|
"hiddenAliases": [],
|
|
2872
|
-
"id": "
|
|
3073
|
+
"id": "conversations:tool-result",
|
|
2873
3074
|
"pluginAlias": "chatbase",
|
|
2874
3075
|
"pluginName": "chatbase",
|
|
2875
3076
|
"pluginType": "core",
|
|
2876
3077
|
"strict": true,
|
|
3078
|
+
"summary": "Submit a client-side tool result to a chat turn",
|
|
2877
3079
|
"enableJsonFlag": false,
|
|
2878
3080
|
"isESM": true,
|
|
2879
3081
|
"relativePath": [
|
|
2880
3082
|
"dist",
|
|
2881
3083
|
"commands",
|
|
2882
|
-
"
|
|
2883
|
-
"
|
|
3084
|
+
"conversations",
|
|
3085
|
+
"tool-result.js"
|
|
2884
3086
|
]
|
|
2885
3087
|
},
|
|
2886
|
-
"
|
|
3088
|
+
"messages:feedback": {
|
|
2887
3089
|
"aliases": [],
|
|
2888
3090
|
"args": {
|
|
2889
|
-
"
|
|
2890
|
-
"description": "
|
|
2891
|
-
"name": "
|
|
3091
|
+
"messageId": {
|
|
3092
|
+
"description": "Message ID (alternative to --message)",
|
|
3093
|
+
"name": "messageId",
|
|
2892
3094
|
"required": false
|
|
2893
3095
|
}
|
|
2894
3096
|
},
|
|
2895
|
-
"description": "
|
|
3097
|
+
"description": "Set or clear user feedback on an assistant message",
|
|
2896
3098
|
"examples": [
|
|
2897
|
-
"<%= config.bin %>
|
|
3099
|
+
"<%= config.bin %> messages feedback msg_1 --conversation conv_123 --rating positive -a agt_123",
|
|
3100
|
+
"<%= config.bin %> messages feedback --conversation conv_123 --message msg_1 --rating clear -a agt_123"
|
|
2898
3101
|
],
|
|
2899
3102
|
"flags": {
|
|
2900
3103
|
"json": {
|
|
@@ -2954,40 +3157,38 @@
|
|
|
2954
3157
|
"multiple": false,
|
|
2955
3158
|
"type": "option"
|
|
2956
3159
|
},
|
|
2957
|
-
"
|
|
2958
|
-
"description": "
|
|
2959
|
-
"name": "
|
|
3160
|
+
"conversation": {
|
|
3161
|
+
"description": "Conversation ID",
|
|
3162
|
+
"name": "conversation",
|
|
3163
|
+
"required": true,
|
|
2960
3164
|
"hasDynamicHelp": false,
|
|
2961
3165
|
"multiple": false,
|
|
2962
3166
|
"type": "option"
|
|
2963
3167
|
},
|
|
2964
3168
|
"message": {
|
|
2965
|
-
"
|
|
2966
|
-
"description": "Reply body as GitHub-flavored Markdown",
|
|
3169
|
+
"description": "Message ID",
|
|
2967
3170
|
"name": "message",
|
|
2968
|
-
"required": true,
|
|
2969
|
-
"hasDynamicHelp": false,
|
|
2970
|
-
"multiple": false,
|
|
2971
|
-
"type": "option"
|
|
2972
|
-
},
|
|
2973
|
-
"author-id": {
|
|
2974
|
-
"description": "Platform user id of the team member the reply is attributed to (exactly one of --author-id/--author-email)",
|
|
2975
|
-
"name": "author-id",
|
|
2976
3171
|
"hasDynamicHelp": false,
|
|
2977
3172
|
"multiple": false,
|
|
2978
3173
|
"type": "option"
|
|
2979
3174
|
},
|
|
2980
|
-
"
|
|
2981
|
-
"description": "
|
|
2982
|
-
"name": "
|
|
3175
|
+
"rating": {
|
|
3176
|
+
"description": "Feedback value (\"clear\" removes existing feedback)",
|
|
3177
|
+
"name": "rating",
|
|
3178
|
+
"required": true,
|
|
2983
3179
|
"hasDynamicHelp": false,
|
|
2984
3180
|
"multiple": false,
|
|
3181
|
+
"options": [
|
|
3182
|
+
"positive",
|
|
3183
|
+
"negative",
|
|
3184
|
+
"clear"
|
|
3185
|
+
],
|
|
2985
3186
|
"type": "option"
|
|
2986
3187
|
}
|
|
2987
3188
|
},
|
|
2988
3189
|
"hasDynamicHelp": false,
|
|
2989
3190
|
"hiddenAliases": [],
|
|
2990
|
-
"id": "
|
|
3191
|
+
"id": "messages:feedback",
|
|
2991
3192
|
"pluginAlias": "chatbase",
|
|
2992
3193
|
"pluginName": "chatbase",
|
|
2993
3194
|
"pluginType": "core",
|
|
@@ -2997,23 +3198,17 @@
|
|
|
2997
3198
|
"relativePath": [
|
|
2998
3199
|
"dist",
|
|
2999
3200
|
"commands",
|
|
3000
|
-
"
|
|
3001
|
-
"
|
|
3201
|
+
"messages",
|
|
3202
|
+
"feedback.js"
|
|
3002
3203
|
]
|
|
3003
3204
|
},
|
|
3004
|
-
"
|
|
3205
|
+
"messages:list": {
|
|
3005
3206
|
"aliases": [],
|
|
3006
|
-
"args": {
|
|
3007
|
-
|
|
3008
|
-
"description": "Free-text search terms (matched against ticket messages)",
|
|
3009
|
-
"name": "query",
|
|
3010
|
-
"required": true
|
|
3011
|
-
}
|
|
3012
|
-
},
|
|
3013
|
-
"description": "Search tickets by message content",
|
|
3207
|
+
"args": {},
|
|
3208
|
+
"description": "List messages in a conversation",
|
|
3014
3209
|
"examples": [
|
|
3015
|
-
"<%= config.bin %>
|
|
3016
|
-
"<%= config.bin %>
|
|
3210
|
+
"<%= config.bin %> messages list --conversation conv_123 -a agt_123",
|
|
3211
|
+
"<%= config.bin %> messages list --conversation conv_123 -a agt_123 --all --json"
|
|
3017
3212
|
],
|
|
3018
3213
|
"flags": {
|
|
3019
3214
|
"json": {
|
|
@@ -3074,16 +3269,37 @@
|
|
|
3074
3269
|
"type": "option"
|
|
3075
3270
|
},
|
|
3076
3271
|
"limit": {
|
|
3077
|
-
"description": "
|
|
3272
|
+
"description": "Maximum items per page",
|
|
3078
3273
|
"name": "limit",
|
|
3079
3274
|
"hasDynamicHelp": false,
|
|
3080
3275
|
"multiple": false,
|
|
3081
3276
|
"type": "option"
|
|
3277
|
+
},
|
|
3278
|
+
"cursor": {
|
|
3279
|
+
"description": "Pagination cursor from a previous page",
|
|
3280
|
+
"name": "cursor",
|
|
3281
|
+
"hasDynamicHelp": false,
|
|
3282
|
+
"multiple": false,
|
|
3283
|
+
"type": "option"
|
|
3284
|
+
},
|
|
3285
|
+
"all": {
|
|
3286
|
+
"description": "Fetch every page",
|
|
3287
|
+
"name": "all",
|
|
3288
|
+
"allowNo": false,
|
|
3289
|
+
"type": "boolean"
|
|
3290
|
+
},
|
|
3291
|
+
"conversation": {
|
|
3292
|
+
"description": "Conversation ID",
|
|
3293
|
+
"name": "conversation",
|
|
3294
|
+
"required": true,
|
|
3295
|
+
"hasDynamicHelp": false,
|
|
3296
|
+
"multiple": false,
|
|
3297
|
+
"type": "option"
|
|
3082
3298
|
}
|
|
3083
3299
|
},
|
|
3084
3300
|
"hasDynamicHelp": false,
|
|
3085
3301
|
"hiddenAliases": [],
|
|
3086
|
-
"id": "
|
|
3302
|
+
"id": "messages:list",
|
|
3087
3303
|
"pluginAlias": "chatbase",
|
|
3088
3304
|
"pluginName": "chatbase",
|
|
3089
3305
|
"pluginType": "core",
|
|
@@ -3093,22 +3309,23 @@
|
|
|
3093
3309
|
"relativePath": [
|
|
3094
3310
|
"dist",
|
|
3095
3311
|
"commands",
|
|
3096
|
-
"
|
|
3097
|
-
"
|
|
3312
|
+
"messages",
|
|
3313
|
+
"list.js"
|
|
3098
3314
|
]
|
|
3099
3315
|
},
|
|
3100
|
-
"
|
|
3316
|
+
"whatsapp:send-template": {
|
|
3101
3317
|
"aliases": [],
|
|
3102
3318
|
"args": {
|
|
3103
|
-
"
|
|
3104
|
-
"description": "
|
|
3105
|
-
"name": "
|
|
3319
|
+
"template": {
|
|
3320
|
+
"description": "Name of the approved template",
|
|
3321
|
+
"name": "template",
|
|
3106
3322
|
"required": true
|
|
3107
3323
|
}
|
|
3108
3324
|
},
|
|
3109
|
-
"description": "
|
|
3325
|
+
"description": "Send an approved WhatsApp template to a phone number from one of the agent’s connected numbers. No user ID is needed — a Chatbase user is resolved or created from the recipient number, and replies flow through the agent’s regular WhatsApp pipeline. Use `whatsapp templates` to see available templates and the variables each expects.",
|
|
3110
3326
|
"examples": [
|
|
3111
|
-
"<%= config.bin %>
|
|
3327
|
+
"<%= config.bin %> whatsapp send-template order_update --to 14155552671 -a agt_123",
|
|
3328
|
+
"<%= config.bin %> whatsapp send-template order_update --to 14155552671 --language en_US --variables '{\"header\":{\"1\":\"#1042\"},\"body\":{\"1\":\"Jane\",\"2\":\"Friday\"}}' -a agt_123"
|
|
3112
3329
|
],
|
|
3113
3330
|
"flags": {
|
|
3114
3331
|
"json": {
|
|
@@ -3168,17 +3385,31 @@
|
|
|
3168
3385
|
"multiple": false,
|
|
3169
3386
|
"type": "option"
|
|
3170
3387
|
},
|
|
3171
|
-
"
|
|
3172
|
-
"
|
|
3173
|
-
"
|
|
3174
|
-
"
|
|
3388
|
+
"to": {
|
|
3389
|
+
"description": "Recipient phone number in international format (digits with country code)",
|
|
3390
|
+
"name": "to",
|
|
3391
|
+
"required": true,
|
|
3175
3392
|
"hasDynamicHelp": false,
|
|
3176
|
-
"multiple":
|
|
3393
|
+
"multiple": false,
|
|
3177
3394
|
"type": "option"
|
|
3178
3395
|
},
|
|
3179
|
-
"
|
|
3180
|
-
"description": "
|
|
3181
|
-
"name": "
|
|
3396
|
+
"from": {
|
|
3397
|
+
"description": "Which connected WhatsApp number to send from — optional when the agent has exactly one",
|
|
3398
|
+
"name": "from",
|
|
3399
|
+
"hasDynamicHelp": false,
|
|
3400
|
+
"multiple": false,
|
|
3401
|
+
"type": "option"
|
|
3402
|
+
},
|
|
3403
|
+
"language": {
|
|
3404
|
+
"description": "Template language code (e.g. en_US) — optional when the template exists in a single language",
|
|
3405
|
+
"name": "language",
|
|
3406
|
+
"hasDynamicHelp": false,
|
|
3407
|
+
"multiple": false,
|
|
3408
|
+
"type": "option"
|
|
3409
|
+
},
|
|
3410
|
+
"variables": {
|
|
3411
|
+
"description": "Template variable values as JSON grouped by component (@file, @-, or inline), e.g. '{\"body\":{\"1\":\"Jane\"}}'",
|
|
3412
|
+
"name": "variables",
|
|
3182
3413
|
"hasDynamicHelp": false,
|
|
3183
3414
|
"multiple": false,
|
|
3184
3415
|
"type": "option"
|
|
@@ -3186,18 +3417,103 @@
|
|
|
3186
3417
|
},
|
|
3187
3418
|
"hasDynamicHelp": false,
|
|
3188
3419
|
"hiddenAliases": [],
|
|
3189
|
-
"id": "
|
|
3420
|
+
"id": "whatsapp:send-template",
|
|
3190
3421
|
"pluginAlias": "chatbase",
|
|
3191
3422
|
"pluginName": "chatbase",
|
|
3192
3423
|
"pluginType": "core",
|
|
3193
3424
|
"strict": true,
|
|
3425
|
+
"summary": "Send an approved WhatsApp template message",
|
|
3194
3426
|
"enableJsonFlag": false,
|
|
3195
3427
|
"isESM": true,
|
|
3196
3428
|
"relativePath": [
|
|
3197
3429
|
"dist",
|
|
3198
3430
|
"commands",
|
|
3199
|
-
"
|
|
3200
|
-
"
|
|
3431
|
+
"whatsapp",
|
|
3432
|
+
"send-template.js"
|
|
3433
|
+
]
|
|
3434
|
+
},
|
|
3435
|
+
"whatsapp:templates": {
|
|
3436
|
+
"aliases": [],
|
|
3437
|
+
"args": {},
|
|
3438
|
+
"description": "List the approved WhatsApp templates available to the agent, across all of its connected WhatsApp Business Accounts. A template can only be sent from a number on its own Business Account — pick a sender whose WABA matches the template’s WABA column.",
|
|
3439
|
+
"examples": [
|
|
3440
|
+
"<%= config.bin %> whatsapp templates -a agt_123",
|
|
3441
|
+
"<%= config.bin %> whatsapp templates -a agt_123 --json"
|
|
3442
|
+
],
|
|
3443
|
+
"flags": {
|
|
3444
|
+
"json": {
|
|
3445
|
+
"description": "Output raw API JSON",
|
|
3446
|
+
"helpGroup": "OUTPUT",
|
|
3447
|
+
"name": "json",
|
|
3448
|
+
"allowNo": false,
|
|
3449
|
+
"type": "boolean"
|
|
3450
|
+
},
|
|
3451
|
+
"plain": {
|
|
3452
|
+
"description": "Tab-separated output for scripts",
|
|
3453
|
+
"helpGroup": "OUTPUT",
|
|
3454
|
+
"name": "plain",
|
|
3455
|
+
"allowNo": false,
|
|
3456
|
+
"type": "boolean"
|
|
3457
|
+
},
|
|
3458
|
+
"quiet": {
|
|
3459
|
+
"char": "q",
|
|
3460
|
+
"description": "Suppress non-essential output",
|
|
3461
|
+
"name": "quiet",
|
|
3462
|
+
"allowNo": false,
|
|
3463
|
+
"type": "boolean"
|
|
3464
|
+
},
|
|
3465
|
+
"verbose": {
|
|
3466
|
+
"description": "Verbose diagnostics",
|
|
3467
|
+
"name": "verbose",
|
|
3468
|
+
"allowNo": false,
|
|
3469
|
+
"type": "boolean"
|
|
3470
|
+
},
|
|
3471
|
+
"no-input": {
|
|
3472
|
+
"description": "Never prompt; fail instead",
|
|
3473
|
+
"name": "no-input",
|
|
3474
|
+
"allowNo": false,
|
|
3475
|
+
"type": "boolean"
|
|
3476
|
+
},
|
|
3477
|
+
"no-color": {
|
|
3478
|
+
"description": "Disable colored output",
|
|
3479
|
+
"name": "no-color",
|
|
3480
|
+
"allowNo": false,
|
|
3481
|
+
"type": "boolean"
|
|
3482
|
+
},
|
|
3483
|
+
"agent": {
|
|
3484
|
+
"char": "a",
|
|
3485
|
+
"description": "Agent ID (or set CHATBASE_AGENT_ID)",
|
|
3486
|
+
"name": "agent",
|
|
3487
|
+
"hasDynamicHelp": false,
|
|
3488
|
+
"multiple": false,
|
|
3489
|
+
"type": "option"
|
|
3490
|
+
},
|
|
3491
|
+
"agent-name": {
|
|
3492
|
+
"description": "Agent display name (looked up to an ID)",
|
|
3493
|
+
"exclusive": [
|
|
3494
|
+
"agent"
|
|
3495
|
+
],
|
|
3496
|
+
"name": "agent-name",
|
|
3497
|
+
"hasDynamicHelp": false,
|
|
3498
|
+
"multiple": false,
|
|
3499
|
+
"type": "option"
|
|
3500
|
+
}
|
|
3501
|
+
},
|
|
3502
|
+
"hasDynamicHelp": false,
|
|
3503
|
+
"hiddenAliases": [],
|
|
3504
|
+
"id": "whatsapp:templates",
|
|
3505
|
+
"pluginAlias": "chatbase",
|
|
3506
|
+
"pluginName": "chatbase",
|
|
3507
|
+
"pluginType": "core",
|
|
3508
|
+
"strict": true,
|
|
3509
|
+
"summary": "List approved WhatsApp templates for an agent",
|
|
3510
|
+
"enableJsonFlag": false,
|
|
3511
|
+
"isESM": true,
|
|
3512
|
+
"relativePath": [
|
|
3513
|
+
"dist",
|
|
3514
|
+
"commands",
|
|
3515
|
+
"whatsapp",
|
|
3516
|
+
"templates.js"
|
|
3201
3517
|
]
|
|
3202
3518
|
},
|
|
3203
3519
|
"sources:create": {
|
|
@@ -3944,5 +4260,5 @@
|
|
|
3944
4260
|
]
|
|
3945
4261
|
}
|
|
3946
4262
|
},
|
|
3947
|
-
"version": "0.1.
|
|
4263
|
+
"version": "0.1.1"
|
|
3948
4264
|
}
|