qca-sdk 0.4.0 → 0.6.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 +239 -0
- package/dist/core/client.d.ts +12 -0
- package/dist/core/client.d.ts.map +1 -1
- package/dist/core/client.js +24 -7
- package/dist/core/client.js.map +1 -1
- package/dist/esm/core/client.d.ts +12 -0
- package/dist/esm/core/client.d.ts.map +1 -1
- package/dist/esm/core/client.js +24 -7
- package/dist/esm/core/client.js.map +1 -1
- package/dist/esm/forward/drive.d.ts +20 -0
- package/dist/esm/forward/drive.d.ts.map +1 -0
- package/dist/esm/forward/drive.js +45 -0
- package/dist/esm/forward/drive.js.map +1 -0
- package/dist/esm/forward/forwardClient.d.ts +6 -0
- package/dist/esm/forward/forwardClient.d.ts.map +1 -1
- package/dist/esm/forward/forwardClient.js +6 -0
- package/dist/esm/forward/forwardClient.js.map +1 -1
- package/dist/esm/forward/identity-service-account-token.d.ts +11 -0
- package/dist/esm/forward/identity-service-account-token.d.ts.map +1 -0
- package/dist/esm/forward/identity-service-account-token.js +18 -0
- package/dist/esm/forward/identity-service-account-token.js.map +1 -0
- package/dist/esm/forward/identity.d.ts +2 -0
- package/dist/esm/forward/identity.d.ts.map +1 -1
- package/dist/esm/forward/identity.js +2 -0
- package/dist/esm/forward/identity.js.map +1 -1
- package/dist/esm/forward/index.d.ts +8 -0
- package/dist/esm/forward/index.d.ts.map +1 -1
- package/dist/esm/forward/index.js +7 -0
- package/dist/esm/forward/index.js.map +1 -1
- package/dist/esm/forward/realtime/connection.d.ts +106 -0
- package/dist/esm/forward/realtime/connection.d.ts.map +1 -0
- package/dist/esm/forward/realtime/connection.js +465 -0
- package/dist/esm/forward/realtime/connection.js.map +1 -0
- package/dist/esm/forward/realtime/conversation.d.ts +31 -0
- package/dist/esm/forward/realtime/conversation.d.ts.map +1 -0
- package/dist/esm/forward/realtime/conversation.js +92 -0
- package/dist/esm/forward/realtime/conversation.js.map +1 -0
- package/dist/esm/forward/realtime/realtime.d.ts +9 -0
- package/dist/esm/forward/realtime/realtime.d.ts.map +1 -0
- package/dist/esm/forward/realtime/realtime.js +9 -0
- package/dist/esm/forward/realtime/realtime.js.map +1 -0
- package/dist/esm/forward/realtime/types.d.ts +204 -0
- package/dist/esm/forward/realtime/types.d.ts.map +1 -0
- package/dist/esm/forward/realtime/types.js +7 -0
- package/dist/esm/forward/realtime/types.js.map +1 -0
- package/dist/esm/forward/service-account-token.d.ts +15 -0
- package/dist/esm/forward/service-account-token.d.ts.map +1 -0
- package/dist/esm/forward/service-account-token.js +38 -0
- package/dist/esm/forward/service-account-token.js.map +1 -0
- package/dist/esm/forward/types.d.ts +119 -0
- package/dist/esm/forward/types.d.ts.map +1 -1
- package/dist/esm/index.d.ts +5 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +4 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/forward/drive.d.ts +20 -0
- package/dist/forward/drive.d.ts.map +1 -0
- package/dist/forward/drive.js +49 -0
- package/dist/forward/drive.js.map +1 -0
- package/dist/forward/forwardClient.d.ts +6 -0
- package/dist/forward/forwardClient.d.ts.map +1 -1
- package/dist/forward/forwardClient.js +6 -0
- package/dist/forward/forwardClient.js.map +1 -1
- package/dist/forward/identity-service-account-token.d.ts +11 -0
- package/dist/forward/identity-service-account-token.d.ts.map +1 -0
- package/dist/forward/identity-service-account-token.js +22 -0
- package/dist/forward/identity-service-account-token.js.map +1 -0
- package/dist/forward/identity.d.ts +2 -0
- package/dist/forward/identity.d.ts.map +1 -1
- package/dist/forward/identity.js +2 -0
- package/dist/forward/identity.js.map +1 -1
- package/dist/forward/index.d.ts +8 -0
- package/dist/forward/index.d.ts.map +1 -1
- package/dist/forward/index.js +19 -1
- package/dist/forward/index.js.map +1 -1
- package/dist/forward/realtime/connection.d.ts +106 -0
- package/dist/forward/realtime/connection.d.ts.map +1 -0
- package/dist/forward/realtime/connection.js +473 -0
- package/dist/forward/realtime/connection.js.map +1 -0
- package/dist/forward/realtime/conversation.d.ts +31 -0
- package/dist/forward/realtime/conversation.d.ts.map +1 -0
- package/dist/forward/realtime/conversation.js +97 -0
- package/dist/forward/realtime/conversation.js.map +1 -0
- package/dist/forward/realtime/realtime.d.ts +9 -0
- package/dist/forward/realtime/realtime.d.ts.map +1 -0
- package/dist/forward/realtime/realtime.js +13 -0
- package/dist/forward/realtime/realtime.js.map +1 -0
- package/dist/forward/realtime/types.d.ts +204 -0
- package/dist/forward/realtime/types.d.ts.map +1 -0
- package/dist/forward/realtime/types.js +11 -0
- package/dist/forward/realtime/types.js.map +1 -0
- package/dist/forward/service-account-token.d.ts +15 -0
- package/dist/forward/service-account-token.d.ts.map +1 -0
- package/dist/forward/service-account-token.js +43 -0
- package/dist/forward/service-account-token.js.map +1 -0
- package/dist/forward/types.d.ts +119 -0
- package/dist/forward/types.d.ts.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -1
- package/dist/index.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +9 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conversation.js","sourceRoot":"","sources":["../../../../src/forward/realtime/conversation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { APIResource } from '../../core/resource.js';
|
|
2
|
+
import { RealtimeConversations } from './conversation.js';
|
|
3
|
+
import { RealtimeConnection, type RealtimeConnectOptions } from './connection.js';
|
|
4
|
+
/** Forward Realtime Beta. WebSocket transport is supported on Node.js only. */
|
|
5
|
+
export declare class Realtime extends APIResource {
|
|
6
|
+
readonly conversations: RealtimeConversations;
|
|
7
|
+
connect(options: RealtimeConnectOptions): Promise<RealtimeConnection>;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=realtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"realtime.d.ts","sourceRoot":"","sources":["../../../../src/forward/realtime/realtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,KAAK,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAClF,+EAA+E;AAC/E,qBAAa,QAAS,SAAQ,WAAW;IACvC,QAAQ,CAAC,aAAa,wBAA2C;IACjE,OAAO,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,kBAAkB,CAAC;CACtE"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { APIResource } from '../../core/resource.js';
|
|
2
|
+
import { RealtimeConversations } from './conversation.js';
|
|
3
|
+
import { RealtimeConnection } from './connection.js';
|
|
4
|
+
/** Forward Realtime Beta. WebSocket transport is supported on Node.js only. */
|
|
5
|
+
export class Realtime extends APIResource {
|
|
6
|
+
conversations = new RealtimeConversations(this._client);
|
|
7
|
+
connect(options) { return RealtimeConnection.connect(this._client, options); }
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=realtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"realtime.js","sourceRoot":"","sources":["../../../../src/forward/realtime/realtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAA+B,MAAM,iBAAiB,CAAC;AAClF,+EAA+E;AAC/E,MAAM,OAAO,QAAS,SAAQ,WAAW;IAC9B,aAAa,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACjE,OAAO,CAAC,OAA+B,IAAiC,OAAO,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;CACpI"}
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
/** Forward Realtime Beta protocol. Timestamp strings preserve nanosecond precision. */
|
|
2
|
+
export declare const REALTIME_VERSION: "voice.realtime.v1";
|
|
3
|
+
export type RealtimeVoice = 'longanqian' | 'longanlingxin' | 'longanlingxi' | 'longanxiaoxin' | 'longanlufeng';
|
|
4
|
+
export interface RealtimeConfig {
|
|
5
|
+
audio?: {
|
|
6
|
+
output?: {
|
|
7
|
+
voice?: RealtimeVoice;
|
|
8
|
+
[key: string]: unknown;
|
|
9
|
+
};
|
|
10
|
+
[key: string]: unknown;
|
|
11
|
+
};
|
|
12
|
+
[key: string]: unknown;
|
|
13
|
+
}
|
|
14
|
+
export interface RealtimeConversationCreateParams {
|
|
15
|
+
identity_id: string;
|
|
16
|
+
template_id: string;
|
|
17
|
+
/** Required header, omitted from the JSON body. */
|
|
18
|
+
idempotency_key: string;
|
|
19
|
+
title?: string | null;
|
|
20
|
+
metadata?: Record<string, unknown> | null;
|
|
21
|
+
config?: RealtimeConfig;
|
|
22
|
+
}
|
|
23
|
+
export interface RealtimeConversation {
|
|
24
|
+
id: string;
|
|
25
|
+
type: 'voice.conversation';
|
|
26
|
+
status: 'ready';
|
|
27
|
+
title: string | null;
|
|
28
|
+
metadata: Record<string, unknown>;
|
|
29
|
+
config: RealtimeConfig;
|
|
30
|
+
created_at: string;
|
|
31
|
+
updated_at: string;
|
|
32
|
+
[key: string]: unknown;
|
|
33
|
+
}
|
|
34
|
+
export interface RealtimeHistoryParams {
|
|
35
|
+
limit?: number;
|
|
36
|
+
before?: string;
|
|
37
|
+
types?: 'message' | 'work' | 'message,work';
|
|
38
|
+
}
|
|
39
|
+
export type RealtimeHistoryEventType = 'voice.user_message.completed' | 'voice.assistant_message.completed' | 'voice.assistant_message.interrupted' | 'voice.work.accepted' | 'voice.work.running' | 'voice.work.completed' | 'voice.work.failed' | 'voice.work.final_announcement' | (string & {});
|
|
40
|
+
export interface RealtimeHistoryEvent {
|
|
41
|
+
id: string;
|
|
42
|
+
type: RealtimeHistoryEventType;
|
|
43
|
+
status: string;
|
|
44
|
+
occurred_at: string;
|
|
45
|
+
role?: string;
|
|
46
|
+
text?: string;
|
|
47
|
+
work_id?: string;
|
|
48
|
+
objective?: string;
|
|
49
|
+
result?: string;
|
|
50
|
+
error?: {
|
|
51
|
+
code: string;
|
|
52
|
+
[key: string]: unknown;
|
|
53
|
+
};
|
|
54
|
+
turn_id?: string;
|
|
55
|
+
user_message_event_id?: string;
|
|
56
|
+
announcement_id?: string;
|
|
57
|
+
milestone_type?: string;
|
|
58
|
+
[key: string]: unknown;
|
|
59
|
+
}
|
|
60
|
+
export interface RealtimeHistoryResponse {
|
|
61
|
+
conversation: {
|
|
62
|
+
id: string;
|
|
63
|
+
title: string | null;
|
|
64
|
+
initialization_status: string;
|
|
65
|
+
metadata: Record<string, unknown>;
|
|
66
|
+
created_at: string;
|
|
67
|
+
updated_at: string;
|
|
68
|
+
[key: string]: unknown;
|
|
69
|
+
};
|
|
70
|
+
events: RealtimeHistoryEvent[];
|
|
71
|
+
page: {
|
|
72
|
+
next_before: string | null;
|
|
73
|
+
has_more: boolean;
|
|
74
|
+
[key: string]: unknown;
|
|
75
|
+
};
|
|
76
|
+
[key: string]: unknown;
|
|
77
|
+
}
|
|
78
|
+
export interface RealtimeAudioFormat {
|
|
79
|
+
format: 'pcm16';
|
|
80
|
+
sample_rate: number;
|
|
81
|
+
channels: 1;
|
|
82
|
+
[key: string]: unknown;
|
|
83
|
+
}
|
|
84
|
+
export interface RealtimeReady {
|
|
85
|
+
config: RealtimeConfig;
|
|
86
|
+
provider: string;
|
|
87
|
+
input_audio: RealtimeAudioFormat;
|
|
88
|
+
output_audio: RealtimeAudioFormat;
|
|
89
|
+
capabilities: {
|
|
90
|
+
graceful_close: boolean;
|
|
91
|
+
[key: string]: unknown;
|
|
92
|
+
};
|
|
93
|
+
[key: string]: unknown;
|
|
94
|
+
}
|
|
95
|
+
export interface RealtimePlaybackReceipt {
|
|
96
|
+
work_id?: string;
|
|
97
|
+
announcement_id?: string;
|
|
98
|
+
}
|
|
99
|
+
export type RealtimeCloseOutcome = 'no_active_response' | 'no_content' | 'saved' | 'saved_interrupted';
|
|
100
|
+
export interface RealtimeClosed {
|
|
101
|
+
request_id: string;
|
|
102
|
+
outcome: RealtimeCloseOutcome;
|
|
103
|
+
}
|
|
104
|
+
export interface RealtimeErrorPayload {
|
|
105
|
+
code: string;
|
|
106
|
+
message: string;
|
|
107
|
+
retryable?: boolean;
|
|
108
|
+
retry_after_ms?: number;
|
|
109
|
+
[key: string]: unknown;
|
|
110
|
+
}
|
|
111
|
+
export interface RealtimeServerPayloads {
|
|
112
|
+
'voice.state': {
|
|
113
|
+
state: string;
|
|
114
|
+
};
|
|
115
|
+
'voice.ready': RealtimeReady;
|
|
116
|
+
'voice.replaced': {
|
|
117
|
+
reason: string;
|
|
118
|
+
};
|
|
119
|
+
'transcript.delta': {
|
|
120
|
+
role: string;
|
|
121
|
+
text: string;
|
|
122
|
+
item_id?: string;
|
|
123
|
+
response_id?: string;
|
|
124
|
+
};
|
|
125
|
+
'transcript.final': {
|
|
126
|
+
role: string;
|
|
127
|
+
text: string;
|
|
128
|
+
item_id?: string;
|
|
129
|
+
response_id?: string;
|
|
130
|
+
};
|
|
131
|
+
'audio.delta': {
|
|
132
|
+
audio: string;
|
|
133
|
+
};
|
|
134
|
+
'audio.done': Record<string, never>;
|
|
135
|
+
'playback.interrupt': {
|
|
136
|
+
reason: string;
|
|
137
|
+
};
|
|
138
|
+
'work.accepted': {
|
|
139
|
+
status: 'accepted';
|
|
140
|
+
objective: string;
|
|
141
|
+
};
|
|
142
|
+
'work.running': {
|
|
143
|
+
status: 'running';
|
|
144
|
+
};
|
|
145
|
+
'work.progress': {
|
|
146
|
+
kind: string;
|
|
147
|
+
detail: string;
|
|
148
|
+
title?: string;
|
|
149
|
+
is_error?: boolean;
|
|
150
|
+
event_id?: string;
|
|
151
|
+
};
|
|
152
|
+
'work.milestone': {
|
|
153
|
+
announcement_id: string;
|
|
154
|
+
milestone_type: string;
|
|
155
|
+
summary: string;
|
|
156
|
+
};
|
|
157
|
+
'work.completed': {
|
|
158
|
+
status: 'completed';
|
|
159
|
+
result: string;
|
|
160
|
+
event_id?: string;
|
|
161
|
+
};
|
|
162
|
+
'work.failed': {
|
|
163
|
+
status: 'failed';
|
|
164
|
+
error: {
|
|
165
|
+
code: string;
|
|
166
|
+
[key: string]: unknown;
|
|
167
|
+
};
|
|
168
|
+
event_id?: string;
|
|
169
|
+
};
|
|
170
|
+
pong: Record<string, never>;
|
|
171
|
+
'connection.closed': RealtimeClosed;
|
|
172
|
+
error: RealtimeErrorPayload;
|
|
173
|
+
}
|
|
174
|
+
export interface RealtimeEventEnvelope {
|
|
175
|
+
version: typeof REALTIME_VERSION;
|
|
176
|
+
event_id: string;
|
|
177
|
+
sequence: number;
|
|
178
|
+
conversation_id: string;
|
|
179
|
+
timestamp: string;
|
|
180
|
+
work_id?: string;
|
|
181
|
+
announcement_id?: string;
|
|
182
|
+
[key: string]: unknown;
|
|
183
|
+
}
|
|
184
|
+
export type RealtimeKnownEvent = {
|
|
185
|
+
[K in keyof RealtimeServerPayloads]: RealtimeEventEnvelope & {
|
|
186
|
+
type: K;
|
|
187
|
+
payload: RealtimeServerPayloads[K] & Record<string, unknown>;
|
|
188
|
+
};
|
|
189
|
+
}[keyof RealtimeServerPayloads];
|
|
190
|
+
/** Unknown Beta events retain their envelope and complete payload. */
|
|
191
|
+
export type RealtimeServerEvent = RealtimeKnownEvent | (RealtimeEventEnvelope & {
|
|
192
|
+
type: string;
|
|
193
|
+
payload: Record<string, unknown>;
|
|
194
|
+
});
|
|
195
|
+
export interface RealtimeClientEvent {
|
|
196
|
+
version: typeof REALTIME_VERSION;
|
|
197
|
+
type: string;
|
|
198
|
+
payload: Record<string, unknown>;
|
|
199
|
+
}
|
|
200
|
+
/** Narrow a known event payload while continuing to allow future Beta event types. */
|
|
201
|
+
export declare function isRealtimeEvent<K extends keyof RealtimeServerPayloads>(event: RealtimeServerEvent, type: K): event is Extract<RealtimeKnownEvent, {
|
|
202
|
+
type: K;
|
|
203
|
+
}>;
|
|
204
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/forward/realtime/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** Forward Realtime Beta protocol. Timestamp strings preserve nanosecond precision. */
|
|
2
|
+
export const REALTIME_VERSION = 'voice.realtime.v1';
|
|
3
|
+
/** Narrow a known event payload while continuing to allow future Beta event types. */
|
|
4
|
+
export function isRealtimeEvent(event, type) {
|
|
5
|
+
return event.type === type;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/forward/realtime/types.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,MAAM,CAAC,MAAM,gBAAgB,GAAG,mBAA4B,CAAC;AAkH7D,sFAAsF;AACtF,MAAM,UAAU,eAAe,CAAyC,KAA0B,EAAE,IAAO;IACzG,OAAO,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;AAC7B,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { APIResource } from '../core/resource.js';
|
|
2
|
+
import { type RequestOptions } from '../core/client.js';
|
|
3
|
+
import type { APIPromise } from '../core/api-promise.js';
|
|
4
|
+
import type { ServiceAccountToken, ServiceAccountTokenCreateParams, ServiceAccountTokenRevokeParams, ServiceAccountTokenRevokeResponse } from './types.js';
|
|
5
|
+
/** @internal Per-call Key authentication overrides ordinary PAT/SAT authentication. */
|
|
6
|
+
export declare function saKeyRequestOptions(saKey: string, options?: RequestOptions): RequestOptions;
|
|
7
|
+
/** Forward SAT issuance and revocation require an explicit SA Key per call. */
|
|
8
|
+
export declare class ServiceAccountTokens extends APIResource {
|
|
9
|
+
/** Issue an admin SAT. Automatic retries are disabled to avoid duplicate issuance. */
|
|
10
|
+
create(params: ServiceAccountTokenCreateParams, options?: RequestOptions): APIPromise<ServiceAccountToken>;
|
|
11
|
+
/** Revoke a Forward SAT binding from the same SA. Creation metadata disambiguates the target. */
|
|
12
|
+
revoke(authTokenID: string, params: ServiceAccountTokenRevokeParams, options?: RequestOptions): APIPromise<ServiceAccountTokenRevokeResponse>;
|
|
13
|
+
}
|
|
14
|
+
export type { ServiceAccountToken, ServiceAccountTokenCreateParams, ServiceAccountTokenRevokeParams, ServiceAccountTokenRevokeResponse } from './types.js';
|
|
15
|
+
//# sourceMappingURL=service-account-token.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-account-token.d.ts","sourceRoot":"","sources":["../../../src/forward/service-account-token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,+BAA+B,EAAE,+BAA+B,EAAE,iCAAiC,EAAE,MAAM,YAAY,CAAC;AAE3J,uFAAuF;AACvF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,cAAc,CAQ3F;AAED,+EAA+E;AAC/E,qBAAa,oBAAqB,SAAQ,WAAW;IACnD,sFAAsF;IACtF,MAAM,CAAC,MAAM,EAAE,+BAA+B,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,mBAAmB,CAAC;IAU1G,iGAAiG;IACjG,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,+BAA+B,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,iCAAiC,CAAC;CAU9I;AAED,YAAY,EAAE,mBAAmB,EAAE,+BAA+B,EAAE,+BAA+B,EAAE,iCAAiC,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { APIResource } from '../core/resource.js';
|
|
2
|
+
import { mergeHeaders } from '../core/client.js';
|
|
3
|
+
import { pathParam } from './_utils.js';
|
|
4
|
+
/** @internal Per-call Key authentication overrides ordinary PAT/SAT authentication. */
|
|
5
|
+
export function saKeyRequestOptions(saKey, options) {
|
|
6
|
+
if (typeof saKey !== 'string' || saKey.length === 0 || /[\u0000-\u0020\u007f]/.test(saKey)) {
|
|
7
|
+
throw new Error('saKey must be non-empty and contain no whitespace or control characters');
|
|
8
|
+
}
|
|
9
|
+
const headers = mergeHeaders(options?.headers);
|
|
10
|
+
headers.set('Authorization', `Bearer ${saKey}`);
|
|
11
|
+
headers.set('Content-Type', 'application/json');
|
|
12
|
+
return { ...options, headers, maxRetries: 0 };
|
|
13
|
+
}
|
|
14
|
+
/** Forward SAT issuance and revocation require an explicit SA Key per call. */
|
|
15
|
+
export class ServiceAccountTokens extends APIResource {
|
|
16
|
+
/** Issue an admin SAT. Automatic retries are disabled to avoid duplicate issuance. */
|
|
17
|
+
create(params, options) {
|
|
18
|
+
const { saKey, ...payload } = params;
|
|
19
|
+
return this._client.request({
|
|
20
|
+
method: 'POST',
|
|
21
|
+
path: 'service_account_tokens',
|
|
22
|
+
body: payload,
|
|
23
|
+
...saKeyRequestOptions(saKey, options),
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
/** Revoke a Forward SAT binding from the same SA. Creation metadata disambiguates the target. */
|
|
27
|
+
revoke(authTokenID, params, options) {
|
|
28
|
+
const path = `service_account_tokens/${pathParam(authTokenID, 'auth_token_id')}/revoke`;
|
|
29
|
+
const { saKey, ...payload } = params;
|
|
30
|
+
return this._client.request({
|
|
31
|
+
method: 'POST',
|
|
32
|
+
path,
|
|
33
|
+
body: payload,
|
|
34
|
+
...saKeyRequestOptions(saKey, options),
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=service-account-token.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-account-token.js","sourceRoot":"","sources":["../../../src/forward/service-account-token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAuB,MAAM,mBAAmB,CAAC;AAEtE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,uFAAuF;AACvF,MAAM,UAAU,mBAAmB,CAAC,KAAa,EAAE,OAAwB;IACzE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3F,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;IAC7F,CAAC;IACD,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,KAAK,EAAE,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;IAChD,OAAO,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;AAChD,CAAC;AAED,+EAA+E;AAC/E,MAAM,OAAO,oBAAqB,SAAQ,WAAW;IACnD,sFAAsF;IACtF,MAAM,CAAC,MAAuC,EAAE,OAAwB;QACtE,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,GAAG,MAAM,CAAC;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAsB;YAC/C,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,wBAAwB;YAC9B,IAAI,EAAE,OAAO;YACb,GAAG,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC;SACvC,CAAC,CAAC;IACL,CAAC;IAED,iGAAiG;IACjG,MAAM,CAAC,WAAmB,EAAE,MAAuC,EAAE,OAAwB;QAC3F,MAAM,IAAI,GAAG,0BAA0B,SAAS,CAAC,WAAW,EAAE,eAAe,CAAC,SAAS,CAAC;QACxF,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,GAAG,MAAM,CAAC;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAoC;YAC7D,MAAM,EAAE,MAAM;YACd,IAAI;YACJ,IAAI,EAAE,OAAO;YACb,GAAG,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC;SACvC,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -1,4 +1,39 @@
|
|
|
1
1
|
import type { Uploadable } from '../core/uploads.js';
|
|
2
|
+
export interface ServiceAccountTokenCreateParams {
|
|
3
|
+
/** SA Key sent only in this request's Authorization header; not part of the JSON body. */
|
|
4
|
+
saKey: string;
|
|
5
|
+
/** Lifetime in seconds, 1-43200. Omit to use the issuer's default. */
|
|
6
|
+
ttl_seconds?: number;
|
|
7
|
+
/** Business audit metadata; do not include credentials or other secrets. */
|
|
8
|
+
metadata?: Record<string, unknown>;
|
|
9
|
+
}
|
|
10
|
+
export interface ServiceAccountTokenRevokeParams {
|
|
11
|
+
/** SA Key used only for this request. */
|
|
12
|
+
saKey: string;
|
|
13
|
+
target_credential_id?: string;
|
|
14
|
+
/** RFC 3339 expiry from the issuance response. */
|
|
15
|
+
target_expires_at?: string;
|
|
16
|
+
reason?: string;
|
|
17
|
+
}
|
|
18
|
+
/** A newly issued Forward SAT. Treat access_token and serialized responses as secrets. */
|
|
19
|
+
export interface ServiceAccountToken {
|
|
20
|
+
type: 'service_account_token';
|
|
21
|
+
access_token: string;
|
|
22
|
+
token_type: 'Bearer';
|
|
23
|
+
expires_in: number;
|
|
24
|
+
expires_at: string;
|
|
25
|
+
auth_token_id: string;
|
|
26
|
+
service_account_id: string;
|
|
27
|
+
credential_id: string;
|
|
28
|
+
subject_type: 'admin' | 'identity';
|
|
29
|
+
/** Absent for admin tokens. */
|
|
30
|
+
identity_id?: string;
|
|
31
|
+
[key: string]: unknown;
|
|
32
|
+
}
|
|
33
|
+
export interface ServiceAccountTokenRevokeResponse {
|
|
34
|
+
revoked: boolean;
|
|
35
|
+
[key: string]: unknown;
|
|
36
|
+
}
|
|
2
37
|
export interface BatchListParams {
|
|
3
38
|
/**
|
|
4
39
|
* 按状态过滤。
|
|
@@ -2591,6 +2626,8 @@ export interface TemplateListParams {
|
|
|
2591
2626
|
[key: string]: unknown;
|
|
2592
2627
|
}
|
|
2593
2628
|
export interface TemplateNewParams {
|
|
2629
|
+
/** Replaces the complete managed tool list. Null or an empty list disables it. */
|
|
2630
|
+
managed_tool_config?: ManagedToolConfig | null;
|
|
2594
2631
|
/**
|
|
2595
2632
|
* Template 名称,1-256 个字符,租户内唯一。
|
|
2596
2633
|
*/
|
|
@@ -2659,6 +2696,8 @@ export interface TemplateNewParams {
|
|
|
2659
2696
|
[key: string]: unknown;
|
|
2660
2697
|
}
|
|
2661
2698
|
export interface TemplateUpdateParams {
|
|
2699
|
+
/** Replaces the complete managed tool list. Null or an empty list disables it. */
|
|
2700
|
+
managed_tool_config?: ManagedToolConfig | null;
|
|
2662
2701
|
/**
|
|
2663
2702
|
* 新的 Template 名称。
|
|
2664
2703
|
*/
|
|
@@ -2751,6 +2790,8 @@ export interface TemplateCloneParams {
|
|
|
2751
2790
|
[key: string]: unknown;
|
|
2752
2791
|
}
|
|
2753
2792
|
export interface Template {
|
|
2793
|
+
/** Replaces the complete managed tool list. Null or an empty list disables it. */
|
|
2794
|
+
managed_tool_config?: ManagedToolConfig | null;
|
|
2754
2795
|
/**
|
|
2755
2796
|
* 固定为 `template`。
|
|
2756
2797
|
*/
|
|
@@ -3024,4 +3065,82 @@ export interface TemplateUsage {
|
|
|
3024
3065
|
active_seconds: number;
|
|
3025
3066
|
credits: number;
|
|
3026
3067
|
}
|
|
3068
|
+
/** Forward-managed tools. This is distinct from tools[].enabled_tools. */
|
|
3069
|
+
export interface ManagedToolConfig {
|
|
3070
|
+
/** The complete enabled list; [] disables all managed tools. */
|
|
3071
|
+
enabled_tools: Array<string>;
|
|
3072
|
+
[key: string]: unknown;
|
|
3073
|
+
}
|
|
3074
|
+
/** One file or virtual directory in an Identity Drive. */
|
|
3075
|
+
export interface DriveEntry {
|
|
3076
|
+
path: string;
|
|
3077
|
+
name: string;
|
|
3078
|
+
type: 'file' | 'directory';
|
|
3079
|
+
/** Zero for an empty file; omitted for directories. */
|
|
3080
|
+
size?: number;
|
|
3081
|
+
etag?: string;
|
|
3082
|
+
last_modified?: string;
|
|
3083
|
+
[key: string]: unknown;
|
|
3084
|
+
}
|
|
3085
|
+
export interface DriveListEntriesResponse {
|
|
3086
|
+
/** Immediate children, in the order returned by the service. */
|
|
3087
|
+
entries: Array<DriveEntry>;
|
|
3088
|
+
/** Omitted on the last page. Do not alter or reuse in another scope/path. */
|
|
3089
|
+
next_page_token?: string;
|
|
3090
|
+
[key: string]: unknown;
|
|
3091
|
+
}
|
|
3092
|
+
export interface DriveListEntriesParams {
|
|
3093
|
+
/** Query parameter; required even with an Identity SAT. */
|
|
3094
|
+
identity_id: string;
|
|
3095
|
+
/** Relative directory; omit or use an empty string for root. */
|
|
3096
|
+
path?: string;
|
|
3097
|
+
/** Page size, 1–100 (default 20). */
|
|
3098
|
+
limit?: number;
|
|
3099
|
+
page_token?: string;
|
|
3100
|
+
}
|
|
3101
|
+
export interface DriveCreateUploadURLParams {
|
|
3102
|
+
/** Query parameter, not part of the JSON body. */
|
|
3103
|
+
identity_id: string;
|
|
3104
|
+
path: string;
|
|
3105
|
+
content_type?: string;
|
|
3106
|
+
}
|
|
3107
|
+
export interface DriveCreateDownloadURLParams {
|
|
3108
|
+
identity_id: string;
|
|
3109
|
+
path: string;
|
|
3110
|
+
}
|
|
3111
|
+
export interface DriveDeleteEntryParams {
|
|
3112
|
+
identity_id: string;
|
|
3113
|
+
path: string;
|
|
3114
|
+
recursive?: boolean;
|
|
3115
|
+
}
|
|
3116
|
+
export interface DriveClearParams {
|
|
3117
|
+
identity_id: string;
|
|
3118
|
+
}
|
|
3119
|
+
/** A signed storage URL, valid for 15 minutes. Treat the URL as a credential. */
|
|
3120
|
+
export interface DriveUploadURL {
|
|
3121
|
+
url: string;
|
|
3122
|
+
method: 'PUT';
|
|
3123
|
+
headers: Record<string, string>;
|
|
3124
|
+
expires_at: string;
|
|
3125
|
+
[key: string]: unknown;
|
|
3126
|
+
}
|
|
3127
|
+
export interface DriveDownloadURL {
|
|
3128
|
+
url: string;
|
|
3129
|
+
method: 'GET';
|
|
3130
|
+
headers: Record<string, string>;
|
|
3131
|
+
expires_at: string;
|
|
3132
|
+
/** May be omitted for a zero-byte file. */
|
|
3133
|
+
size?: number;
|
|
3134
|
+
etag?: string;
|
|
3135
|
+
content_type?: string;
|
|
3136
|
+
[key: string]: unknown;
|
|
3137
|
+
}
|
|
3138
|
+
export interface DriveDeleteEntryResponse {
|
|
3139
|
+
deleted_count: number;
|
|
3140
|
+
[key: string]: unknown;
|
|
3141
|
+
}
|
|
3142
|
+
export interface DriveClearResponse {
|
|
3143
|
+
deleted_count: number;
|
|
3144
|
+
[key: string]: unknown;
|
|
3145
|
+
}
|
|
3027
3146
|
//# sourceMappingURL=types.d.ts.map
|