featurebase-node 0.15.2 → 0.15.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/client.d.mts +16 -4
- package/client.d.mts.map +1 -1
- package/client.d.ts +16 -4
- package/client.d.ts.map +1 -1
- package/client.js +12 -0
- package/client.js.map +1 -1
- package/client.mjs +12 -0
- package/client.mjs.map +1 -1
- package/package.json +1 -1
- package/resources/away-reasons.d.mts +37 -0
- package/resources/away-reasons.d.mts.map +1 -0
- package/resources/away-reasons.d.ts +37 -0
- package/resources/away-reasons.d.ts.map +1 -0
- package/resources/away-reasons.js +31 -0
- package/resources/away-reasons.js.map +1 -0
- package/resources/away-reasons.mjs +27 -0
- package/resources/away-reasons.mjs.map +1 -0
- package/resources/feedback/feedback.d.mts +2 -2
- package/resources/feedback/feedback.d.mts.map +1 -1
- package/resources/feedback/feedback.d.ts +2 -2
- package/resources/feedback/feedback.d.ts.map +1 -1
- package/resources/feedback/feedback.js.map +1 -1
- package/resources/feedback/feedback.mjs.map +1 -1
- package/resources/feedback/index.d.mts +1 -1
- package/resources/feedback/index.d.mts.map +1 -1
- package/resources/feedback/index.d.ts +1 -1
- package/resources/feedback/index.d.ts.map +1 -1
- package/resources/feedback/index.js.map +1 -1
- package/resources/feedback/index.mjs.map +1 -1
- package/resources/feedback/posts/index.d.mts +1 -1
- package/resources/feedback/posts/index.d.mts.map +1 -1
- package/resources/feedback/posts/index.d.ts +1 -1
- package/resources/feedback/posts/index.d.ts.map +1 -1
- package/resources/feedback/posts/index.js.map +1 -1
- package/resources/feedback/posts/index.mjs.map +1 -1
- package/resources/feedback/posts/posts.d.mts +123 -161
- package/resources/feedback/posts/posts.d.mts.map +1 -1
- package/resources/feedback/posts/posts.d.ts +123 -161
- package/resources/feedback/posts/posts.d.ts.map +1 -1
- package/resources/feedback/posts/posts.js.map +1 -1
- package/resources/feedback/posts/posts.mjs.map +1 -1
- package/resources/index.d.mts +4 -2
- package/resources/index.d.mts.map +1 -1
- package/resources/index.d.ts +4 -2
- package/resources/index.d.ts.map +1 -1
- package/resources/index.js +5 -1
- package/resources/index.js.map +1 -1
- package/resources/index.mjs +2 -0
- package/resources/index.mjs.map +1 -1
- package/resources/organization/admins.d.mts +151 -4
- package/resources/organization/admins.d.mts.map +1 -1
- package/resources/organization/admins.d.ts +151 -4
- package/resources/organization/admins.d.ts.map +1 -1
- package/resources/organization/admins.js +58 -3
- package/resources/organization/admins.js.map +1 -1
- package/resources/organization/admins.mjs +58 -3
- package/resources/organization/admins.mjs.map +1 -1
- package/resources/organization/index.d.mts +2 -2
- package/resources/organization/index.d.mts.map +1 -1
- package/resources/organization/index.d.ts +2 -2
- package/resources/organization/index.d.ts.map +1 -1
- package/resources/organization/index.js.map +1 -1
- package/resources/organization/index.mjs.map +1 -1
- package/resources/organization/organization.d.mts +4 -4
- package/resources/organization/organization.d.mts.map +1 -1
- package/resources/organization/organization.d.ts +4 -4
- package/resources/organization/organization.d.ts.map +1 -1
- package/resources/organization/organization.js.map +1 -1
- package/resources/organization/organization.mjs +1 -1
- package/resources/organization/organization.mjs.map +1 -1
- package/resources/organization/teams.d.mts +34 -4
- package/resources/organization/teams.d.mts.map +1 -1
- package/resources/organization/teams.d.ts +34 -4
- package/resources/organization/teams.d.ts.map +1 -1
- package/resources/organization/teams.js +18 -3
- package/resources/organization/teams.js.map +1 -1
- package/resources/organization/teams.mjs +18 -3
- package/resources/organization/teams.mjs.map +1 -1
- package/resources/reports.d.mts +45 -1
- package/resources/reports.d.mts.map +1 -1
- package/resources/reports.d.ts +45 -1
- package/resources/reports.d.ts.map +1 -1
- package/resources/reports.js +35 -0
- package/resources/reports.js.map +1 -1
- package/resources/reports.mjs +35 -0
- package/resources/reports.mjs.map +1 -1
- package/resources/training-data/index.d.mts +1 -1
- package/resources/training-data/index.d.mts.map +1 -1
- package/resources/training-data/index.d.ts +1 -1
- package/resources/training-data/index.d.ts.map +1 -1
- package/resources/training-data/index.js.map +1 -1
- package/resources/training-data/index.mjs.map +1 -1
- package/resources/training-data/training-data.d.mts +66 -161
- package/resources/training-data/training-data.d.mts.map +1 -1
- package/resources/training-data/training-data.d.ts +66 -161
- package/resources/training-data/training-data.d.ts.map +1 -1
- package/resources/training-data/training-data.js.map +1 -1
- package/resources/training-data/training-data.mjs.map +1 -1
- package/resources/workload.d.mts +103 -0
- package/resources/workload.d.mts.map +1 -0
- package/resources/workload.d.ts +103 -0
- package/resources/workload.d.ts.map +1 -0
- package/resources/workload.js +32 -0
- package/resources/workload.js.map +1 -0
- package/resources/workload.mjs +28 -0
- package/resources/workload.mjs.map +1 -0
- package/src/client.ts +34 -0
- package/src/resources/away-reasons.ts +68 -0
- package/src/resources/feedback/feedback.ts +4 -0
- package/src/resources/feedback/index.ts +2 -0
- package/src/resources/feedback/posts/index.ts +2 -0
- package/src/resources/feedback/posts/posts.ts +154 -204
- package/src/resources/index.ts +9 -0
- package/src/resources/organization/admins.ts +254 -3
- package/src/resources/organization/index.ts +8 -0
- package/src/resources/organization/organization.ts +23 -1
- package/src/resources/organization/teams.ts +69 -3
- package/src/resources/reports.ts +70 -0
- package/src/resources/training-data/index.ts +1 -0
- package/src/resources/training-data/training-data.ts +77 -193
- package/src/resources/workload.ts +179 -0
- package/src/version.ts +1 -1
- package/version.d.mts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.mjs +1 -1
package/src/client.ts
CHANGED
|
@@ -31,6 +31,11 @@ import {
|
|
|
31
31
|
AuditLogListResponsesCursorPage,
|
|
32
32
|
AuditLogs,
|
|
33
33
|
} from './resources/audit-logs';
|
|
34
|
+
import {
|
|
35
|
+
AwayReasonRetrieveAwayReasonsParams,
|
|
36
|
+
AwayReasonRetrieveAwayReasonsResponse,
|
|
37
|
+
AwayReasons,
|
|
38
|
+
} from './resources/away-reasons';
|
|
34
39
|
import {
|
|
35
40
|
ConversationAttribute,
|
|
36
41
|
ConversationAttributeListParams,
|
|
@@ -45,6 +50,8 @@ import {
|
|
|
45
50
|
ReportDataset,
|
|
46
51
|
ReportDrillInParams,
|
|
47
52
|
ReportDrillInResponse,
|
|
53
|
+
ReportFilterCapabilitiesParams,
|
|
54
|
+
ReportFilterCapabilitiesResponse,
|
|
48
55
|
ReportFilterExpression,
|
|
49
56
|
ReportFilterRule,
|
|
50
57
|
ReportGroupedDatum,
|
|
@@ -83,6 +90,7 @@ import {
|
|
|
83
90
|
Webhooks,
|
|
84
91
|
WebhooksCursorPage,
|
|
85
92
|
} from './resources/webhooks';
|
|
93
|
+
import { Workload, WorkloadListParams, WorkloadListResponse } from './resources/workload';
|
|
86
94
|
import {
|
|
87
95
|
Changelog,
|
|
88
96
|
ChangelogCreateParams,
|
|
@@ -103,6 +111,7 @@ import { HelpCenter } from './resources/help-center/help-center';
|
|
|
103
111
|
import { Organization } from './resources/organization/organization';
|
|
104
112
|
import { Support } from './resources/support/support';
|
|
105
113
|
import {
|
|
114
|
+
KnowledgeMatchCandidate,
|
|
106
115
|
KnowledgeSearch,
|
|
107
116
|
Oracle,
|
|
108
117
|
TrainingData,
|
|
@@ -884,6 +893,14 @@ export class Featurebase {
|
|
|
884
893
|
* Training data teaches the AI agent about your product beyond your public Help Center: training files (documents, policies, internal notes) and Q&A entries (question variants with the exact answer to give). Use these endpoints to keep that knowledge in sync from your own systems — for example, pushing resolved support conversations, internal runbooks, or SOP documents automatically.
|
|
885
894
|
*/
|
|
886
895
|
trainingData: API.TrainingData = new API.TrainingData(this);
|
|
896
|
+
/**
|
|
897
|
+
* Live conversation workload, teammate availability, capacity limits, and managed away reasons for large support teams.
|
|
898
|
+
*/
|
|
899
|
+
workload: API.Workload = new API.Workload(this);
|
|
900
|
+
/**
|
|
901
|
+
* Live conversation workload, teammate availability, capacity limits, and managed away reasons for large support teams.
|
|
902
|
+
*/
|
|
903
|
+
awayReasons: API.AwayReasons = new API.AwayReasons(this);
|
|
887
904
|
}
|
|
888
905
|
|
|
889
906
|
Featurebase.Support = Support;
|
|
@@ -898,6 +915,8 @@ Featurebase.ConversationAttributes = ConversationAttributes;
|
|
|
898
915
|
Featurebase.AuditLogs = AuditLogs;
|
|
899
916
|
Featurebase.Reports = Reports;
|
|
900
917
|
Featurebase.TrainingData = TrainingData;
|
|
918
|
+
Featurebase.Workload = Workload;
|
|
919
|
+
Featurebase.AwayReasons = AwayReasons;
|
|
901
920
|
|
|
902
921
|
export declare namespace Featurebase {
|
|
903
922
|
export type RequestOptions = Opts.RequestOptions;
|
|
@@ -991,10 +1010,12 @@ export declare namespace Featurebase {
|
|
|
991
1010
|
type ReportSegmentDatum as ReportSegmentDatum,
|
|
992
1011
|
type ReportTimeSeriesDatum as ReportTimeSeriesDatum,
|
|
993
1012
|
type ReportDrillInResponse as ReportDrillInResponse,
|
|
1013
|
+
type ReportFilterCapabilitiesResponse as ReportFilterCapabilitiesResponse,
|
|
994
1014
|
type ReportListDatasetsResponse as ReportListDatasetsResponse,
|
|
995
1015
|
type ReportLookupFilterValuesResponse as ReportLookupFilterValuesResponse,
|
|
996
1016
|
type ReportQueryResponse as ReportQueryResponse,
|
|
997
1017
|
type ReportDrillInParams as ReportDrillInParams,
|
|
1018
|
+
type ReportFilterCapabilitiesParams as ReportFilterCapabilitiesParams,
|
|
998
1019
|
type ReportListDatasetsParams as ReportListDatasetsParams,
|
|
999
1020
|
type ReportLookupFilterValuesParams as ReportLookupFilterValuesParams,
|
|
1000
1021
|
type ReportQueryParams as ReportQueryParams,
|
|
@@ -1002,9 +1023,22 @@ export declare namespace Featurebase {
|
|
|
1002
1023
|
|
|
1003
1024
|
export {
|
|
1004
1025
|
TrainingData as TrainingData,
|
|
1026
|
+
type KnowledgeMatchCandidate as KnowledgeMatchCandidate,
|
|
1005
1027
|
type KnowledgeSearch as KnowledgeSearch,
|
|
1006
1028
|
type Oracle as Oracle,
|
|
1007
1029
|
type TrainingDataOracleParams as TrainingDataOracleParams,
|
|
1008
1030
|
type TrainingDataSearchParams as TrainingDataSearchParams,
|
|
1009
1031
|
};
|
|
1032
|
+
|
|
1033
|
+
export {
|
|
1034
|
+
Workload as Workload,
|
|
1035
|
+
type WorkloadListResponse as WorkloadListResponse,
|
|
1036
|
+
type WorkloadListParams as WorkloadListParams,
|
|
1037
|
+
};
|
|
1038
|
+
|
|
1039
|
+
export {
|
|
1040
|
+
AwayReasons as AwayReasons,
|
|
1041
|
+
type AwayReasonRetrieveAwayReasonsResponse as AwayReasonRetrieveAwayReasonsResponse,
|
|
1042
|
+
type AwayReasonRetrieveAwayReasonsParams as AwayReasonRetrieveAwayReasonsParams,
|
|
1043
|
+
};
|
|
1010
1044
|
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
import { APIResource } from '../core/resource';
|
|
4
|
+
import { APIPromise } from '../core/api-promise';
|
|
5
|
+
import { buildHeaders } from '../internal/headers';
|
|
6
|
+
import { RequestOptions } from '../internal/request-options';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Live conversation workload, teammate availability, capacity limits, and managed away reasons for large support teams.
|
|
10
|
+
*/
|
|
11
|
+
export class AwayReasons extends APIResource {
|
|
12
|
+
/**
|
|
13
|
+
* Returns active managed away reasons. Set includeArchived=true to include
|
|
14
|
+
* historical reasons.
|
|
15
|
+
*/
|
|
16
|
+
retrieveAwayReasons(
|
|
17
|
+
params: AwayReasonRetrieveAwayReasonsParams | null | undefined = {},
|
|
18
|
+
options?: RequestOptions,
|
|
19
|
+
): APIPromise<AwayReasonRetrieveAwayReasonsResponse> {
|
|
20
|
+
const { 'Featurebase-Version': featurebaseVersion } = params ?? {};
|
|
21
|
+
return this._client.get('/v2/away-reasons', {
|
|
22
|
+
...options,
|
|
23
|
+
headers: buildHeaders([
|
|
24
|
+
{
|
|
25
|
+
...(featurebaseVersion?.toString() != null ?
|
|
26
|
+
{ 'Featurebase-Version': featurebaseVersion?.toString() }
|
|
27
|
+
: undefined),
|
|
28
|
+
},
|
|
29
|
+
options?.headers,
|
|
30
|
+
]),
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export interface AwayReasonRetrieveAwayReasonsResponse {
|
|
36
|
+
data: Array<AwayReasonRetrieveAwayReasonsResponse.Data>;
|
|
37
|
+
|
|
38
|
+
nextCursor: null;
|
|
39
|
+
|
|
40
|
+
object: 'list';
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export namespace AwayReasonRetrieveAwayReasonsResponse {
|
|
44
|
+
export interface Data {
|
|
45
|
+
id: string;
|
|
46
|
+
|
|
47
|
+
archived: boolean;
|
|
48
|
+
|
|
49
|
+
label: string;
|
|
50
|
+
|
|
51
|
+
object: 'away_reason';
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export interface AwayReasonRetrieveAwayReasonsParams {
|
|
56
|
+
/**
|
|
57
|
+
* API version for this request. Defaults to your organization's configured API
|
|
58
|
+
* version if not specified.
|
|
59
|
+
*/
|
|
60
|
+
'Featurebase-Version'?: '2026-08-19.orbit' | '2026-01-01.nova' | '2025-12-12.clover';
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export declare namespace AwayReasons {
|
|
64
|
+
export {
|
|
65
|
+
type AwayReasonRetrieveAwayReasonsResponse as AwayReasonRetrieveAwayReasonsResponse,
|
|
66
|
+
type AwayReasonRetrieveAwayReasonsParams as AwayReasonRetrieveAwayReasonsParams,
|
|
67
|
+
};
|
|
68
|
+
}
|
|
@@ -45,8 +45,10 @@ import {
|
|
|
45
45
|
PostDeleteParams,
|
|
46
46
|
PostDeleteResponse,
|
|
47
47
|
PostFeatures,
|
|
48
|
+
PostList,
|
|
48
49
|
PostListParams,
|
|
49
50
|
PostMergeParams,
|
|
51
|
+
PostProcessing,
|
|
50
52
|
PostRetrieveParams,
|
|
51
53
|
PostSearchParams,
|
|
52
54
|
PostSearchResponse,
|
|
@@ -88,6 +90,8 @@ export declare namespace Feedback {
|
|
|
88
90
|
type PostAccess as PostAccess,
|
|
89
91
|
type PostAuthor as PostAuthor,
|
|
90
92
|
type PostFeatures as PostFeatures,
|
|
93
|
+
type PostList as PostList,
|
|
94
|
+
type PostProcessing as PostProcessing,
|
|
91
95
|
type PostTag as PostTag,
|
|
92
96
|
type SearchFilter as SearchFilter,
|
|
93
97
|
type SearchFilterGroup as SearchFilterGroup,
|
|
@@ -945,7 +945,7 @@ export interface Post {
|
|
|
945
945
|
* the create returned), with `results` listing what was made of the submission
|
|
946
946
|
* once the run has finished.
|
|
947
947
|
*/
|
|
948
|
-
processing?:
|
|
948
|
+
processing?: PostProcessing;
|
|
949
949
|
}
|
|
950
950
|
|
|
951
951
|
export namespace Post {
|
|
@@ -1157,107 +1157,6 @@ export namespace Post {
|
|
|
1157
1157
|
objectType: 'Opportunity' | 'Case';
|
|
1158
1158
|
}
|
|
1159
1159
|
}
|
|
1160
|
-
|
|
1161
|
-
/**
|
|
1162
|
-
* On POST /v2/posts — `queued`: a processing run (claim extraction or the Organize
|
|
1163
|
-
* rewrite) was enqueued and its result lands asynchronously on the post.
|
|
1164
|
-
* `skipped`: nothing was enqueued; `reason` says which gate decided
|
|
1165
|
-
* ('request_mode' for every intakeMode: 'request' create). `existing`: the create
|
|
1166
|
-
* was an idempotent replay and the post was not processed again. On GET
|
|
1167
|
-
* /v2/posts/{id} this field is present only for posts created with
|
|
1168
|
-
* `intakeMode: 'feedback'` and reports how far that processing has got ('queued',
|
|
1169
|
-
* 'processing', 'complete', 'needs_review', or 'skipped' with the same `reason`
|
|
1170
|
-
* the create returned), with `results` listing what was made of the submission
|
|
1171
|
-
* once the run has finished.
|
|
1172
|
-
*/
|
|
1173
|
-
export interface Processing {
|
|
1174
|
-
/**
|
|
1175
|
-
* 'queued' = an AI run was enqueued and has not landed yet; 'processing' = the run
|
|
1176
|
-
* is working on the submission; 'complete' = it finished and `results` lists what
|
|
1177
|
-
* it produced; 'needs_review' = it finished and a teammate still has to decide
|
|
1178
|
-
* something; 'skipped' = nothing was enqueued (see `reason`); 'existing' =
|
|
1179
|
-
* idempotent replay, not processed again.
|
|
1180
|
-
*/
|
|
1181
|
-
status: 'queued' | 'processing' | 'complete' | 'needs_review' | 'skipped' | 'existing';
|
|
1182
|
-
|
|
1183
|
-
/**
|
|
1184
|
-
* Why processing was skipped. 'request_mode' = intakeMode was 'request' (the
|
|
1185
|
-
* default); 'autopilot_off' = the workspace's Autopilot dial is off or its plan
|
|
1186
|
-
* does not include it; 'pipeline_paused' = the platform paused AI processing (it
|
|
1187
|
-
* resumes automatically); 'support_board' / 'spam_held' / 'staff_authored' /
|
|
1188
|
-
* 'no_content' = the post did not qualify; 'source_too_long' = the text was over
|
|
1189
|
-
* the length limit when the run read it (a create that long is normally refused
|
|
1190
|
-
* with a 400 first); 'extraction_failed' = the AI could not read the text after
|
|
1191
|
-
* repeated attempts; nothing was written, and opening the post in Triage runs the
|
|
1192
|
-
* analysis again.
|
|
1193
|
-
*/
|
|
1194
|
-
reason?:
|
|
1195
|
-
| 'request_mode'
|
|
1196
|
-
| 'autopilot_off'
|
|
1197
|
-
| 'insights_disabled'
|
|
1198
|
-
| 'pipeline_paused'
|
|
1199
|
-
| 'support_board'
|
|
1200
|
-
| 'spam_held'
|
|
1201
|
-
| 'staff_authored'
|
|
1202
|
-
| 'not_a_post'
|
|
1203
|
-
| 'no_board'
|
|
1204
|
-
| 'no_id'
|
|
1205
|
-
| 'no_content'
|
|
1206
|
-
| 'source_too_long'
|
|
1207
|
-
| 'extraction_failed'
|
|
1208
|
-
| 'hook_error';
|
|
1209
|
-
|
|
1210
|
-
/**
|
|
1211
|
-
* What the workspace's "Organize submissions" lane made of this submission, one
|
|
1212
|
-
* entry per ask it found, in the order they appear in the text. Present on GET
|
|
1213
|
-
* /v2/posts/{id} for posts created with `intakeMode: 'feedback'` once the run has
|
|
1214
|
-
* finished. Absent while the run is still working, and absent for workspaces that
|
|
1215
|
-
* do not organize submissions — there the post itself is the request.
|
|
1216
|
-
*/
|
|
1217
|
-
results?: Array<Processing.Result>;
|
|
1218
|
-
}
|
|
1219
|
-
|
|
1220
|
-
export namespace Processing {
|
|
1221
|
-
export interface Result {
|
|
1222
|
-
/**
|
|
1223
|
-
* 'request' = the ask became a request of its own; 'attached' = it was added as
|
|
1224
|
-
* evidence to a request that already existed; 'held' = it became a request that is
|
|
1225
|
-
* waiting for a teammate to publish it; 'question' = it asked something and no
|
|
1226
|
-
* request was created, so a teammate answers it.
|
|
1227
|
-
*/
|
|
1228
|
-
outcome: 'attached' | 'request' | 'question' | 'held';
|
|
1229
|
-
|
|
1230
|
-
/**
|
|
1231
|
-
* The ask, as it was written up.
|
|
1232
|
-
*/
|
|
1233
|
-
title: string;
|
|
1234
|
-
|
|
1235
|
-
/**
|
|
1236
|
-
* The request this ask became, or was attached to. Absent for a question, and
|
|
1237
|
-
* absent when the request is not readable through this API (for example a ticket
|
|
1238
|
-
* board).
|
|
1239
|
-
*/
|
|
1240
|
-
postId?: string;
|
|
1241
|
-
|
|
1242
|
-
/**
|
|
1243
|
-
* Title of `postId`.
|
|
1244
|
-
*/
|
|
1245
|
-
postTitle?: string;
|
|
1246
|
-
|
|
1247
|
-
/**
|
|
1248
|
-
* Why a 'held' result is waiting for a teammate. Only on a 'held' result, and only
|
|
1249
|
-
* one of these codes: 'too_many_topics' = the submission held more separate asks
|
|
1250
|
-
* than one submission can become requests, so this one request lists the asks that
|
|
1251
|
-
* did not fit, one line each in the customer's words; 'uncertain' = the ask was
|
|
1252
|
-
* too vague to file without a person; 'custom_fields' = the board requires custom
|
|
1253
|
-
* fields this submission did not carry; 'processing_failed' = the AI could not
|
|
1254
|
-
* rewrite the text (the request then holds the original words) or could not check
|
|
1255
|
-
* this ask against existing requests, so a teammate confirms it is not a
|
|
1256
|
-
* duplicate.
|
|
1257
|
-
*/
|
|
1258
|
-
reason?: 'too_many_topics' | 'uncertain' | 'custom_fields' | 'processing_failed';
|
|
1259
|
-
}
|
|
1260
|
-
}
|
|
1261
1160
|
}
|
|
1262
1161
|
|
|
1263
1162
|
export interface PostAccess {
|
|
@@ -1310,6 +1209,156 @@ export interface PostFeatures {
|
|
|
1310
1209
|
commentsEnabled: boolean;
|
|
1311
1210
|
}
|
|
1312
1211
|
|
|
1212
|
+
export interface PostList {
|
|
1213
|
+
/**
|
|
1214
|
+
* Array of posts
|
|
1215
|
+
*/
|
|
1216
|
+
data: Array<Post>;
|
|
1217
|
+
|
|
1218
|
+
/**
|
|
1219
|
+
* Cursor for fetching the next page (cursor-based pagination)
|
|
1220
|
+
*/
|
|
1221
|
+
nextCursor: string | null;
|
|
1222
|
+
|
|
1223
|
+
/**
|
|
1224
|
+
* Object type identifier
|
|
1225
|
+
*/
|
|
1226
|
+
object: 'list';
|
|
1227
|
+
|
|
1228
|
+
/**
|
|
1229
|
+
* Pagination metadata for page-based requests
|
|
1230
|
+
*/
|
|
1231
|
+
pagination?: PostList.Pagination;
|
|
1232
|
+
}
|
|
1233
|
+
|
|
1234
|
+
export namespace PostList {
|
|
1235
|
+
/**
|
|
1236
|
+
* Pagination metadata for page-based requests
|
|
1237
|
+
*/
|
|
1238
|
+
export interface Pagination {
|
|
1239
|
+
/**
|
|
1240
|
+
* Items per page
|
|
1241
|
+
*/
|
|
1242
|
+
limit: number;
|
|
1243
|
+
|
|
1244
|
+
/**
|
|
1245
|
+
* Current page number
|
|
1246
|
+
*/
|
|
1247
|
+
page: number;
|
|
1248
|
+
|
|
1249
|
+
/**
|
|
1250
|
+
* Total number of items
|
|
1251
|
+
*/
|
|
1252
|
+
total: number;
|
|
1253
|
+
|
|
1254
|
+
/**
|
|
1255
|
+
* Total number of pages
|
|
1256
|
+
*/
|
|
1257
|
+
totalPages: number;
|
|
1258
|
+
}
|
|
1259
|
+
}
|
|
1260
|
+
|
|
1261
|
+
/**
|
|
1262
|
+
* On POST /v2/posts — `queued`: a processing run (claim extraction or the Organize
|
|
1263
|
+
* rewrite) was enqueued and its result lands asynchronously on the post.
|
|
1264
|
+
* `skipped`: nothing was enqueued; `reason` says which gate decided
|
|
1265
|
+
* ('request_mode' for every intakeMode: 'request' create). `existing`: the create
|
|
1266
|
+
* was an idempotent replay and the post was not processed again. On GET
|
|
1267
|
+
* /v2/posts/{id} this field is present only for posts created with
|
|
1268
|
+
* `intakeMode: 'feedback'` and reports how far that processing has got ('queued',
|
|
1269
|
+
* 'processing', 'complete', 'needs_review', or 'skipped' with the same `reason`
|
|
1270
|
+
* the create returned), with `results` listing what was made of the submission
|
|
1271
|
+
* once the run has finished.
|
|
1272
|
+
*/
|
|
1273
|
+
export interface PostProcessing {
|
|
1274
|
+
/**
|
|
1275
|
+
* 'queued' = an AI run was enqueued and has not landed yet; 'processing' = the run
|
|
1276
|
+
* is working on the submission; 'complete' = it finished and `results` lists what
|
|
1277
|
+
* it produced; 'needs_review' = it finished and a teammate still has to decide
|
|
1278
|
+
* something; 'skipped' = nothing was enqueued (see `reason`); 'existing' =
|
|
1279
|
+
* idempotent replay, not processed again.
|
|
1280
|
+
*/
|
|
1281
|
+
status: 'queued' | 'processing' | 'complete' | 'needs_review' | 'skipped' | 'existing';
|
|
1282
|
+
|
|
1283
|
+
/**
|
|
1284
|
+
* Why processing was skipped. 'request_mode' = intakeMode was 'request' (the
|
|
1285
|
+
* default); 'autopilot_off' = the workspace's Autopilot dial is off or its plan
|
|
1286
|
+
* does not include it; 'pipeline_paused' = the platform paused AI processing (it
|
|
1287
|
+
* resumes automatically); 'support_board' / 'spam_held' / 'staff_authored' /
|
|
1288
|
+
* 'no_content' = the post did not qualify; 'source_too_long' = the text was over
|
|
1289
|
+
* the length limit when the run read it (a create that long is normally refused
|
|
1290
|
+
* with a 400 first); 'extraction_failed' = the AI could not read the text after
|
|
1291
|
+
* repeated attempts; nothing was written, and opening the post in Triage runs the
|
|
1292
|
+
* analysis again.
|
|
1293
|
+
*/
|
|
1294
|
+
reason?:
|
|
1295
|
+
| 'request_mode'
|
|
1296
|
+
| 'autopilot_off'
|
|
1297
|
+
| 'insights_disabled'
|
|
1298
|
+
| 'pipeline_paused'
|
|
1299
|
+
| 'support_board'
|
|
1300
|
+
| 'spam_held'
|
|
1301
|
+
| 'staff_authored'
|
|
1302
|
+
| 'not_a_post'
|
|
1303
|
+
| 'no_board'
|
|
1304
|
+
| 'no_id'
|
|
1305
|
+
| 'no_content'
|
|
1306
|
+
| 'source_too_long'
|
|
1307
|
+
| 'extraction_failed'
|
|
1308
|
+
| 'hook_error';
|
|
1309
|
+
|
|
1310
|
+
/**
|
|
1311
|
+
* What the workspace's "Organize submissions" lane made of this submission, one
|
|
1312
|
+
* entry per ask it found, in the order they appear in the text. Present on GET
|
|
1313
|
+
* /v2/posts/{id} for posts created with `intakeMode: 'feedback'` once the run has
|
|
1314
|
+
* finished. Absent while the run is still working, and absent for workspaces that
|
|
1315
|
+
* do not organize submissions — there the post itself is the request.
|
|
1316
|
+
*/
|
|
1317
|
+
results?: Array<PostProcessing.Result>;
|
|
1318
|
+
}
|
|
1319
|
+
|
|
1320
|
+
export namespace PostProcessing {
|
|
1321
|
+
export interface Result {
|
|
1322
|
+
/**
|
|
1323
|
+
* 'request' = the ask became a request of its own; 'attached' = it was added as
|
|
1324
|
+
* evidence to a request that already existed; 'held' = it became a request that is
|
|
1325
|
+
* waiting for a teammate to publish it; 'question' = it asked something and no
|
|
1326
|
+
* request was created, so a teammate answers it.
|
|
1327
|
+
*/
|
|
1328
|
+
outcome: 'attached' | 'request' | 'question' | 'held';
|
|
1329
|
+
|
|
1330
|
+
/**
|
|
1331
|
+
* The ask, as it was written up.
|
|
1332
|
+
*/
|
|
1333
|
+
title: string;
|
|
1334
|
+
|
|
1335
|
+
/**
|
|
1336
|
+
* The request this ask became, or was attached to. Absent for a question, and
|
|
1337
|
+
* absent when the request is not readable through this API (for example a ticket
|
|
1338
|
+
* board).
|
|
1339
|
+
*/
|
|
1340
|
+
postId?: string;
|
|
1341
|
+
|
|
1342
|
+
/**
|
|
1343
|
+
* Title of `postId`.
|
|
1344
|
+
*/
|
|
1345
|
+
postTitle?: string;
|
|
1346
|
+
|
|
1347
|
+
/**
|
|
1348
|
+
* Why a 'held' result is waiting for a teammate. Only on a 'held' result, and only
|
|
1349
|
+
* one of these codes: 'too_many_topics' = the submission held more separate asks
|
|
1350
|
+
* than one submission can become requests, so this one request lists the asks that
|
|
1351
|
+
* did not fit, one line each in the customer's words; 'uncertain' = the ask was
|
|
1352
|
+
* too vague to file without a person; 'custom_fields' = the board requires custom
|
|
1353
|
+
* fields this submission did not carry; 'processing_failed' = the AI could not
|
|
1354
|
+
* rewrite the text (the request then holds the original words) or could not check
|
|
1355
|
+
* this ask against existing requests, so a teammate confirms it is not a
|
|
1356
|
+
* duplicate.
|
|
1357
|
+
*/
|
|
1358
|
+
reason?: 'too_many_topics' | 'uncertain' | 'custom_fields' | 'processing_failed';
|
|
1359
|
+
}
|
|
1360
|
+
}
|
|
1361
|
+
|
|
1313
1362
|
export interface PostTag {
|
|
1314
1363
|
/**
|
|
1315
1364
|
* Tag unique identifier
|
|
@@ -1581,7 +1630,7 @@ export namespace PostSearchResponse {
|
|
|
1581
1630
|
* the create returned), with `results` listing what was made of the submission
|
|
1582
1631
|
* once the run has finished.
|
|
1583
1632
|
*/
|
|
1584
|
-
processing?:
|
|
1633
|
+
processing?: PostsAPI.PostProcessing;
|
|
1585
1634
|
}
|
|
1586
1635
|
|
|
1587
1636
|
export namespace Data {
|
|
@@ -1793,107 +1842,6 @@ export namespace PostSearchResponse {
|
|
|
1793
1842
|
objectType: 'Opportunity' | 'Case';
|
|
1794
1843
|
}
|
|
1795
1844
|
}
|
|
1796
|
-
|
|
1797
|
-
/**
|
|
1798
|
-
* On POST /v2/posts — `queued`: a processing run (claim extraction or the Organize
|
|
1799
|
-
* rewrite) was enqueued and its result lands asynchronously on the post.
|
|
1800
|
-
* `skipped`: nothing was enqueued; `reason` says which gate decided
|
|
1801
|
-
* ('request_mode' for every intakeMode: 'request' create). `existing`: the create
|
|
1802
|
-
* was an idempotent replay and the post was not processed again. On GET
|
|
1803
|
-
* /v2/posts/{id} this field is present only for posts created with
|
|
1804
|
-
* `intakeMode: 'feedback'` and reports how far that processing has got ('queued',
|
|
1805
|
-
* 'processing', 'complete', 'needs_review', or 'skipped' with the same `reason`
|
|
1806
|
-
* the create returned), with `results` listing what was made of the submission
|
|
1807
|
-
* once the run has finished.
|
|
1808
|
-
*/
|
|
1809
|
-
export interface Processing {
|
|
1810
|
-
/**
|
|
1811
|
-
* 'queued' = an AI run was enqueued and has not landed yet; 'processing' = the run
|
|
1812
|
-
* is working on the submission; 'complete' = it finished and `results` lists what
|
|
1813
|
-
* it produced; 'needs_review' = it finished and a teammate still has to decide
|
|
1814
|
-
* something; 'skipped' = nothing was enqueued (see `reason`); 'existing' =
|
|
1815
|
-
* idempotent replay, not processed again.
|
|
1816
|
-
*/
|
|
1817
|
-
status: 'queued' | 'processing' | 'complete' | 'needs_review' | 'skipped' | 'existing';
|
|
1818
|
-
|
|
1819
|
-
/**
|
|
1820
|
-
* Why processing was skipped. 'request_mode' = intakeMode was 'request' (the
|
|
1821
|
-
* default); 'autopilot_off' = the workspace's Autopilot dial is off or its plan
|
|
1822
|
-
* does not include it; 'pipeline_paused' = the platform paused AI processing (it
|
|
1823
|
-
* resumes automatically); 'support_board' / 'spam_held' / 'staff_authored' /
|
|
1824
|
-
* 'no_content' = the post did not qualify; 'source_too_long' = the text was over
|
|
1825
|
-
* the length limit when the run read it (a create that long is normally refused
|
|
1826
|
-
* with a 400 first); 'extraction_failed' = the AI could not read the text after
|
|
1827
|
-
* repeated attempts; nothing was written, and opening the post in Triage runs the
|
|
1828
|
-
* analysis again.
|
|
1829
|
-
*/
|
|
1830
|
-
reason?:
|
|
1831
|
-
| 'request_mode'
|
|
1832
|
-
| 'autopilot_off'
|
|
1833
|
-
| 'insights_disabled'
|
|
1834
|
-
| 'pipeline_paused'
|
|
1835
|
-
| 'support_board'
|
|
1836
|
-
| 'spam_held'
|
|
1837
|
-
| 'staff_authored'
|
|
1838
|
-
| 'not_a_post'
|
|
1839
|
-
| 'no_board'
|
|
1840
|
-
| 'no_id'
|
|
1841
|
-
| 'no_content'
|
|
1842
|
-
| 'source_too_long'
|
|
1843
|
-
| 'extraction_failed'
|
|
1844
|
-
| 'hook_error';
|
|
1845
|
-
|
|
1846
|
-
/**
|
|
1847
|
-
* What the workspace's "Organize submissions" lane made of this submission, one
|
|
1848
|
-
* entry per ask it found, in the order they appear in the text. Present on GET
|
|
1849
|
-
* /v2/posts/{id} for posts created with `intakeMode: 'feedback'` once the run has
|
|
1850
|
-
* finished. Absent while the run is still working, and absent for workspaces that
|
|
1851
|
-
* do not organize submissions — there the post itself is the request.
|
|
1852
|
-
*/
|
|
1853
|
-
results?: Array<Processing.Result>;
|
|
1854
|
-
}
|
|
1855
|
-
|
|
1856
|
-
export namespace Processing {
|
|
1857
|
-
export interface Result {
|
|
1858
|
-
/**
|
|
1859
|
-
* 'request' = the ask became a request of its own; 'attached' = it was added as
|
|
1860
|
-
* evidence to a request that already existed; 'held' = it became a request that is
|
|
1861
|
-
* waiting for a teammate to publish it; 'question' = it asked something and no
|
|
1862
|
-
* request was created, so a teammate answers it.
|
|
1863
|
-
*/
|
|
1864
|
-
outcome: 'attached' | 'request' | 'question' | 'held';
|
|
1865
|
-
|
|
1866
|
-
/**
|
|
1867
|
-
* The ask, as it was written up.
|
|
1868
|
-
*/
|
|
1869
|
-
title: string;
|
|
1870
|
-
|
|
1871
|
-
/**
|
|
1872
|
-
* The request this ask became, or was attached to. Absent for a question, and
|
|
1873
|
-
* absent when the request is not readable through this API (for example a ticket
|
|
1874
|
-
* board).
|
|
1875
|
-
*/
|
|
1876
|
-
postId?: string;
|
|
1877
|
-
|
|
1878
|
-
/**
|
|
1879
|
-
* Title of `postId`.
|
|
1880
|
-
*/
|
|
1881
|
-
postTitle?: string;
|
|
1882
|
-
|
|
1883
|
-
/**
|
|
1884
|
-
* Why a 'held' result is waiting for a teammate. Only on a 'held' result, and only
|
|
1885
|
-
* one of these codes: 'too_many_topics' = the submission held more separate asks
|
|
1886
|
-
* than one submission can become requests, so this one request lists the asks that
|
|
1887
|
-
* did not fit, one line each in the customer's words; 'uncertain' = the ask was
|
|
1888
|
-
* too vague to file without a person; 'custom_fields' = the board requires custom
|
|
1889
|
-
* fields this submission did not carry; 'processing_failed' = the AI could not
|
|
1890
|
-
* rewrite the text (the request then holds the original words) or could not check
|
|
1891
|
-
* this ask against existing requests, so a teammate confirms it is not a
|
|
1892
|
-
* duplicate.
|
|
1893
|
-
*/
|
|
1894
|
-
reason?: 'too_many_topics' | 'uncertain' | 'custom_fields' | 'processing_failed';
|
|
1895
|
-
}
|
|
1896
|
-
}
|
|
1897
1845
|
}
|
|
1898
1846
|
}
|
|
1899
1847
|
|
|
@@ -2388,6 +2336,8 @@ export declare namespace Posts {
|
|
|
2388
2336
|
type PostAccess as PostAccess,
|
|
2389
2337
|
type PostAuthor as PostAuthor,
|
|
2390
2338
|
type PostFeatures as PostFeatures,
|
|
2339
|
+
type PostList as PostList,
|
|
2340
|
+
type PostProcessing as PostProcessing,
|
|
2391
2341
|
type PostTag as PostTag,
|
|
2392
2342
|
type SearchFilter as SearchFilter,
|
|
2393
2343
|
type SearchFilterGroup as SearchFilterGroup,
|
package/src/resources/index.ts
CHANGED
|
@@ -6,6 +6,11 @@ export {
|
|
|
6
6
|
type AuditLogListParams,
|
|
7
7
|
type AuditLogListResponsesCursorPage,
|
|
8
8
|
} from './audit-logs';
|
|
9
|
+
export {
|
|
10
|
+
AwayReasons,
|
|
11
|
+
type AwayReasonRetrieveAwayReasonsResponse,
|
|
12
|
+
type AwayReasonRetrieveAwayReasonsParams,
|
|
13
|
+
} from './away-reasons';
|
|
9
14
|
export {
|
|
10
15
|
Changelogs,
|
|
11
16
|
type Changelog,
|
|
@@ -44,10 +49,12 @@ export {
|
|
|
44
49
|
type ReportSegmentDatum,
|
|
45
50
|
type ReportTimeSeriesDatum,
|
|
46
51
|
type ReportDrillInResponse,
|
|
52
|
+
type ReportFilterCapabilitiesResponse,
|
|
47
53
|
type ReportListDatasetsResponse,
|
|
48
54
|
type ReportLookupFilterValuesResponse,
|
|
49
55
|
type ReportQueryResponse,
|
|
50
56
|
type ReportDrillInParams,
|
|
57
|
+
type ReportFilterCapabilitiesParams,
|
|
51
58
|
type ReportListDatasetsParams,
|
|
52
59
|
type ReportLookupFilterValuesParams,
|
|
53
60
|
type ReportQueryParams,
|
|
@@ -66,6 +73,7 @@ export {
|
|
|
66
73
|
} from './surveys';
|
|
67
74
|
export {
|
|
68
75
|
TrainingData,
|
|
76
|
+
type KnowledgeMatchCandidate,
|
|
69
77
|
type KnowledgeSearch,
|
|
70
78
|
type Oracle,
|
|
71
79
|
type TrainingDataOracleParams,
|
|
@@ -85,3 +93,4 @@ export {
|
|
|
85
93
|
type WebhookRefreshSecretParams,
|
|
86
94
|
type WebhooksCursorPage,
|
|
87
95
|
} from './webhooks';
|
|
96
|
+
export { Workload, type WorkloadListResponse, type WorkloadListParams } from './workload';
|