mtmsdk 0.0.51 → 0.0.52
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/dist/gomtmapi/@tanstack/react-query.gen.d.ts +1 -13
- package/dist/gomtmapi/@tanstack/react-query.gen.d.ts.map +1 -1
- package/dist/gomtmapi/@tanstack/react-query.gen.js +1 -37
- package/dist/gomtmapi/@tanstack/react-query.gen.js.map +1 -1
- package/dist/gomtmapi/index.d.ts +2 -2
- package/dist/gomtmapi/index.d.ts.map +1 -1
- package/dist/gomtmapi/index.js +1 -1
- package/dist/gomtmapi/index.js.map +1 -1
- package/dist/gomtmapi/schemas.gen.d.ts +0 -57
- package/dist/gomtmapi/schemas.gen.d.ts.map +1 -1
- package/dist/gomtmapi/schemas.gen.js +0 -60
- package/dist/gomtmapi/schemas.gen.js.map +1 -1
- package/dist/gomtmapi/sdk.gen.d.ts +1 -13
- package/dist/gomtmapi/sdk.gen.d.ts.map +1 -1
- package/dist/gomtmapi/sdk.gen.js +0 -26
- package/dist/gomtmapi/sdk.gen.js.map +1 -1
- package/dist/gomtmapi/types.gen.d.ts +0 -94
- package/dist/gomtmapi/types.gen.d.ts.map +1 -1
- package/dist/gomtmapi/zod.gen.d.ts +0 -62
- package/dist/gomtmapi/zod.gen.d.ts.map +1 -1
- package/dist/gomtmapi/zod.gen.js +0 -51
- package/dist/gomtmapi/zod.gen.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -4
- package/dist/index.js.map +1 -1
- package/dist/lib/schema.d.ts +1 -11
- package/dist/lib/schema.d.ts.map +1 -1
- package/dist/lib/schema.js +0 -9
- package/dist/lib/schema.js.map +1 -1
- package/dist/mtgate_api/client.gen.d.ts.map +1 -1
- package/dist/mtgate_api/client.gen.js +1 -1
- package/dist/mtgate_api/client.gen.js.map +1 -1
- package/dist/mtgate_api/index.d.ts +2 -2
- package/dist/mtgate_api/index.d.ts.map +1 -1
- package/dist/mtgate_api/index.js +1 -1
- package/dist/mtgate_api/index.js.map +1 -1
- package/dist/mtgate_api/sdk.gen.d.ts +0 -8
- package/dist/mtgate_api/sdk.gen.d.ts.map +1 -1
- package/dist/mtgate_api/sdk.gen.js +1 -29
- package/dist/mtgate_api/sdk.gen.js.map +1 -1
- package/dist/mtgate_api/types.gen.d.ts +1 -200
- package/dist/mtgate_api/types.gen.d.ts.map +1 -1
- package/dist/openclaw/gateway.d.ts.map +1 -1
- package/dist/openclaw/gateway.js +1 -1
- package/dist/openclaw/gateway.js.map +1 -1
- package/dist/sbmng/@tanstack/react-query.gen.d.ts +39 -65
- package/dist/sbmng/@tanstack/react-query.gen.d.ts.map +1 -1
- package/dist/sbmng/@tanstack/react-query.gen.js +19 -65
- package/dist/sbmng/@tanstack/react-query.gen.js.map +1 -1
- package/dist/sbmng/index.d.ts +2 -2
- package/dist/sbmng/index.d.ts.map +1 -1
- package/dist/sbmng/index.js +1 -1
- package/dist/sbmng/index.js.map +1 -1
- package/dist/sbmng/schemas.gen.d.ts +6 -95
- package/dist/sbmng/schemas.gen.d.ts.map +1 -1
- package/dist/sbmng/schemas.gen.js +7 -139
- package/dist/sbmng/schemas.gen.js.map +1 -1
- package/dist/sbmng/sdk.gen.d.ts +7 -17
- package/dist/sbmng/sdk.gen.d.ts.map +1 -1
- package/dist/sbmng/sdk.gen.js +10 -32
- package/dist/sbmng/sdk.gen.js.map +1 -1
- package/dist/sbmng/types.gen.d.ts +41 -157
- package/dist/sbmng/types.gen.d.ts.map +1 -1
- package/dist/supabase/supabase-client.d.ts +85 -181
- package/dist/supabase/supabase-client.d.ts.map +1 -1
- package/dist/supabase/supabase.d.ts +170 -362
- package/dist/supabase/supabase.d.ts.map +1 -1
- package/dist/supabase/use-sb-query/build-query-opts.d.ts +6 -2
- package/dist/supabase/use-sb-query/build-query-opts.d.ts.map +1 -1
- package/dist/supabase/use-sb-query/build-query-opts.js +8 -4
- package/dist/supabase/use-sb-query/build-query-opts.js.map +1 -1
- package/dist/supabase/use-sb-query/use-query.d.ts +9 -6
- package/dist/supabase/use-sb-query/use-query.d.ts.map +1 -1
- package/dist/supabase/use-sb-query/use-query.js.map +1 -1
- package/dist/supabase/use-sb-query/use-rpc-query.d.ts +25 -17
- package/dist/supabase/use-sb-query/use-rpc-query.d.ts.map +1 -1
- package/dist/supabase/use-sb-query/use-rpc-query.js +48 -26
- package/dist/supabase/use-sb-query/use-rpc-query.js.map +1 -1
- package/dist/types/database.schemas.d.ts +129 -222
- package/dist/types/database.schemas.d.ts.map +1 -1
- package/dist/types/database.schemas.js +112 -124
- package/dist/types/database.schemas.js.map +1 -1
- package/dist/types/database.types.d.ts +85 -181
- package/dist/types/database.types.d.ts.map +1 -1
- package/dist/types/database.types.js.map +1 -1
- package/dist/types/index.d.ts +30 -59
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +16 -3
- package/dist/types/index.js.map +1 -1
- package/package.json +105 -110
- package/src/cloud-account/platform-configs.ts +73 -73
- package/src/gomtmapi/@tanstack/react-query.gen.ts +537 -575
- package/src/gomtmapi/client/client.gen.ts +311 -311
- package/src/gomtmapi/client/index.ts +25 -25
- package/src/gomtmapi/client/types.gen.ts +241 -241
- package/src/gomtmapi/client/utils.gen.ts +332 -332
- package/src/gomtmapi/client.gen.ts +16 -16
- package/src/gomtmapi/core/auth.gen.ts +42 -42
- package/src/gomtmapi/core/bodySerializer.gen.ts +100 -100
- package/src/gomtmapi/core/params.gen.ts +176 -176
- package/src/gomtmapi/core/pathSerializer.gen.ts +181 -181
- package/src/gomtmapi/core/queryKeySerializer.gen.ts +136 -136
- package/src/gomtmapi/core/serverSentEvents.gen.ts +266 -266
- package/src/gomtmapi/core/types.gen.ts +118 -118
- package/src/gomtmapi/core/utils.gen.ts +143 -143
- package/src/gomtmapi/index.ts +4 -4
- package/src/gomtmapi/schemas.gen.ts +532 -596
- package/src/gomtmapi/sdk.gen.ts +371 -399
- package/src/gomtmapi/types.gen.ts +854 -962
- package/src/gomtmapi/zod.gen.ts +448 -507
- package/src/index.ts +4 -5
- package/src/lib/aisdk/types.ts +7 -7
- package/src/lib/logger/index.ts +8 -8
- package/src/lib/schema.ts +37 -50
- package/src/mtgate_api/client/client.gen.ts +311 -311
- package/src/mtgate_api/client/index.ts +25 -25
- package/src/mtgate_api/client/types.gen.ts +241 -241
- package/src/mtgate_api/client/utils.gen.ts +332 -332
- package/src/mtgate_api/client.gen.ts +16 -16
- package/src/mtgate_api/core/auth.gen.ts +42 -42
- package/src/mtgate_api/core/bodySerializer.gen.ts +100 -100
- package/src/mtgate_api/core/params.gen.ts +176 -176
- package/src/mtgate_api/core/pathSerializer.gen.ts +181 -181
- package/src/mtgate_api/core/queryKeySerializer.gen.ts +136 -136
- package/src/mtgate_api/core/serverSentEvents.gen.ts +266 -266
- package/src/mtgate_api/core/types.gen.ts +118 -118
- package/src/mtgate_api/core/utils.gen.ts +143 -143
- package/src/mtgate_api/index.ts +4 -4
- package/src/mtgate_api/sdk.gen.ts +17 -54
- package/src/mtgate_api/types.gen.ts +5 -239
- package/src/openclaw/client-info.ts +54 -54
- package/src/openclaw/device-auth-utils.ts +26 -26
- package/src/openclaw/device-auth.ts +99 -99
- package/src/openclaw/device-identity.ts +108 -108
- package/src/openclaw/gateway.ts +392 -392
- package/src/openclaw/types.ts +518 -518
- package/src/sbmng/@tanstack/react-query.gen.ts +2967 -3017
- package/src/sbmng/client/client.gen.ts +311 -311
- package/src/sbmng/client/index.ts +25 -25
- package/src/sbmng/client/types.gen.ts +241 -241
- package/src/sbmng/client/utils.gen.ts +332 -332
- package/src/sbmng/client.gen.ts +16 -16
- package/src/sbmng/core/auth.gen.ts +42 -42
- package/src/sbmng/core/bodySerializer.gen.ts +100 -100
- package/src/sbmng/core/params.gen.ts +176 -176
- package/src/sbmng/core/pathSerializer.gen.ts +181 -181
- package/src/sbmng/core/queryKeySerializer.gen.ts +136 -136
- package/src/sbmng/core/serverSentEvents.gen.ts +266 -266
- package/src/sbmng/core/types.gen.ts +118 -118
- package/src/sbmng/core/utils.gen.ts +143 -143
- package/src/sbmng/index.ts +4 -4
- package/src/sbmng/schemas.gen.ts +9671 -9805
- package/src/sbmng/sdk.gen.ts +1755 -1780
- package/src/sbmng/types.gen.ts +7886 -8016
- package/src/supabase/auth-provider.tsx +67 -67
- package/src/supabase/context.tsx +51 -51
- package/src/supabase/cursor-pagination.ts +155 -155
- package/src/supabase/schema/browser.ts +44 -44
- package/src/supabase/schema/index.ts +25 -25
- package/src/supabase/supabase-client.ts +30 -30
- package/src/supabase/supabase.ts +67 -67
- package/src/supabase/use-sb-query/build-query-opts.ts +68 -56
- package/src/supabase/use-sb-query/key.ts +57 -57
- package/src/supabase/use-sb-query/use-query.ts +352 -340
- package/src/supabase/use-sb-query/use-rpc-mutation.ts +83 -83
- package/src/supabase/use-sb-query/use-rpc-query.ts +267 -231
- package/src/supabase/utils.ts +75 -75
- package/src/types/database.schemas.ts +4359 -4378
- package/src/types/database.types.ts +4182 -4288
- package/src/types/index.ts +85 -102
- package/dist/adk/api/client.d.ts +0 -9
- package/dist/adk/api/client.d.ts.map +0 -1
- package/dist/adk/api/client.js +0 -39
- package/dist/adk/api/client.js.map +0 -1
- package/dist/adk/core/constants/tool-icons.d.ts +0 -21
- package/dist/adk/core/constants/tool-icons.d.ts.map +0 -1
- package/dist/adk/core/constants/tool-icons.js +0 -47
- package/dist/adk/core/constants/tool-icons.js.map +0 -1
- package/dist/adk/core/models/AgentBuilder.d.ts +0 -77
- package/dist/adk/core/models/AgentBuilder.d.ts.map +0 -1
- package/dist/adk/core/models/AgentBuilder.js +0 -18
- package/dist/adk/core/models/AgentBuilder.js.map +0 -1
- package/dist/adk/core/models/AgentRunRequest.d.ts +0 -37
- package/dist/adk/core/models/AgentRunRequest.d.ts.map +0 -1
- package/dist/adk/core/models/AgentRunRequest.js +0 -18
- package/dist/adk/core/models/AgentRunRequest.js.map +0 -1
- package/dist/adk/core/models/Eval.d.ts +0 -55
- package/dist/adk/core/models/Eval.d.ts.map +0 -1
- package/dist/adk/core/models/Eval.js +0 -27
- package/dist/adk/core/models/Eval.js.map +0 -1
- package/dist/adk/core/models/LiveRequest.d.ts +0 -23
- package/dist/adk/core/models/LiveRequest.d.ts.map +0 -1
- package/dist/adk/core/models/LiveRequest.js +0 -18
- package/dist/adk/core/models/LiveRequest.js.map +0 -1
- package/dist/adk/core/models/RuntimeConfig.d.ts +0 -32
- package/dist/adk/core/models/RuntimeConfig.d.ts.map +0 -1
- package/dist/adk/core/models/RuntimeConfig.js +0 -18
- package/dist/adk/core/models/RuntimeConfig.js.map +0 -1
- package/dist/adk/core/models/Session.d.ts +0 -117
- package/dist/adk/core/models/Session.d.ts.map +0 -1
- package/dist/adk/core/models/Session.js +0 -31
- package/dist/adk/core/models/Session.js.map +0 -1
- package/dist/adk/core/models/Trace.d.ts +0 -40
- package/dist/adk/core/models/Trace.d.ts.map +0 -1
- package/dist/adk/core/models/Trace.js +0 -2
- package/dist/adk/core/models/Trace.js.map +0 -1
- package/dist/adk/core/models/types.d.ts +0 -338
- package/dist/adk/core/models/types.d.ts.map +0 -1
- package/dist/adk/core/models/types.js +0 -189
- package/dist/adk/core/models/types.js.map +0 -1
- package/dist/lib/utils.d.ts +0 -14
- package/dist/lib/utils.d.ts.map +0 -1
- package/dist/lib/utils.js +0 -45
- package/dist/lib/utils.js.map +0 -1
- package/dist/mtgate_api/@tanstack/react-query.gen.d.ts +0 -166
- package/dist/mtgate_api/@tanstack/react-query.gen.d.ts.map +0 -1
- package/dist/mtgate_api/@tanstack/react-query.gen.js +0 -118
- package/dist/mtgate_api/@tanstack/react-query.gen.js.map +0 -1
- package/dist/mtgate_api/schemas.gen.d.ts +0 -233
- package/dist/mtgate_api/schemas.gen.d.ts.map +0 -1
- package/dist/mtgate_api/schemas.gen.js +0 -277
- package/dist/mtgate_api/schemas.gen.js.map +0 -1
- package/dist/mtgate_api/zod.gen.d.ts +0 -321
- package/dist/mtgate_api/zod.gen.d.ts.map +0 -1
- package/dist/mtgate_api/zod.gen.js +0 -148
- package/dist/mtgate_api/zod.gen.js.map +0 -1
- package/dist/mtmai_api/@tanstack/react-query.gen.d.ts +0 -949
- package/dist/mtmai_api/@tanstack/react-query.gen.d.ts.map +0 -1
- package/dist/mtmai_api/@tanstack/react-query.gen.js +0 -917
- package/dist/mtmai_api/@tanstack/react-query.gen.js.map +0 -1
- package/dist/mtmai_api/client/client.gen.d.ts +0 -3
- package/dist/mtmai_api/client/client.gen.d.ts.map +0 -1
- package/dist/mtmai_api/client/client.gen.js +0 -236
- package/dist/mtmai_api/client/client.gen.js.map +0 -1
- package/dist/mtmai_api/client/index.d.ts +0 -9
- package/dist/mtmai_api/client/index.d.ts.map +0 -1
- package/dist/mtmai_api/client/index.js +0 -7
- package/dist/mtmai_api/client/index.js.map +0 -1
- package/dist/mtmai_api/client/types.gen.d.ts +0 -118
- package/dist/mtmai_api/client/types.gen.d.ts.map +0 -1
- package/dist/mtmai_api/client/types.gen.js +0 -3
- package/dist/mtmai_api/client/types.gen.js.map +0 -1
- package/dist/mtmai_api/client/utils.gen.d.ts +0 -34
- package/dist/mtmai_api/client/utils.gen.d.ts.map +0 -1
- package/dist/mtmai_api/client/utils.gen.js +0 -232
- package/dist/mtmai_api/client/utils.gen.js.map +0 -1
- package/dist/mtmai_api/client.gen.d.ts +0 -13
- package/dist/mtmai_api/client.gen.d.ts.map +0 -1
- package/dist/mtmai_api/client.gen.js +0 -4
- package/dist/mtmai_api/client.gen.js.map +0 -1
- package/dist/mtmai_api/core/auth.gen.d.ts +0 -19
- package/dist/mtmai_api/core/auth.gen.d.ts.map +0 -1
- package/dist/mtmai_api/core/auth.gen.js +0 -15
- package/dist/mtmai_api/core/auth.gen.js.map +0 -1
- package/dist/mtmai_api/core/bodySerializer.gen.d.ts +0 -26
- package/dist/mtmai_api/core/bodySerializer.gen.d.ts.map +0 -1
- package/dist/mtmai_api/core/bodySerializer.gen.js +0 -58
- package/dist/mtmai_api/core/bodySerializer.gen.js.map +0 -1
- package/dist/mtmai_api/core/params.gen.d.ts +0 -44
- package/dist/mtmai_api/core/params.gen.d.ts.map +0 -1
- package/dist/mtmai_api/core/params.gen.js +0 -101
- package/dist/mtmai_api/core/params.gen.js.map +0 -1
- package/dist/mtmai_api/core/pathSerializer.gen.d.ts +0 -34
- package/dist/mtmai_api/core/pathSerializer.gen.d.ts.map +0 -1
- package/dist/mtmai_api/core/pathSerializer.gen.js +0 -115
- package/dist/mtmai_api/core/pathSerializer.gen.js.map +0 -1
- package/dist/mtmai_api/core/queryKeySerializer.gen.d.ts +0 -19
- package/dist/mtmai_api/core/queryKeySerializer.gen.d.ts.map +0 -1
- package/dist/mtmai_api/core/queryKeySerializer.gen.js +0 -100
- package/dist/mtmai_api/core/queryKeySerializer.gen.js.map +0 -1
- package/dist/mtmai_api/core/serverSentEvents.gen.d.ts +0 -72
- package/dist/mtmai_api/core/serverSentEvents.gen.d.ts.map +0 -1
- package/dist/mtmai_api/core/serverSentEvents.gen.js +0 -138
- package/dist/mtmai_api/core/serverSentEvents.gen.js.map +0 -1
- package/dist/mtmai_api/core/types.gen.d.ts +0 -79
- package/dist/mtmai_api/core/types.gen.d.ts.map +0 -1
- package/dist/mtmai_api/core/types.gen.js +0 -3
- package/dist/mtmai_api/core/types.gen.js.map +0 -1
- package/dist/mtmai_api/core/utils.gen.d.ts +0 -20
- package/dist/mtmai_api/core/utils.gen.d.ts.map +0 -1
- package/dist/mtmai_api/core/utils.gen.js +0 -88
- package/dist/mtmai_api/core/utils.gen.js.map +0 -1
- package/dist/mtmai_api/index.d.ts +0 -3
- package/dist/mtmai_api/index.d.ts.map +0 -1
- package/dist/mtmai_api/index.js +0 -4
- package/dist/mtmai_api/index.js.map +0 -1
- package/dist/mtmai_api/schemas.gen.d.ts +0 -7721
- package/dist/mtmai_api/schemas.gen.d.ts.map +0 -1
- package/dist/mtmai_api/schemas.gen.js +0 -9774
- package/dist/mtmai_api/schemas.gen.js.map +0 -1
- package/dist/mtmai_api/sdk.gen.d.ts +0 -282
- package/dist/mtmai_api/sdk.gen.d.ts.map +0 -1
- package/dist/mtmai_api/sdk.gen.js +0 -404
- package/dist/mtmai_api/sdk.gen.js.map +0 -1
- package/dist/mtmai_api/types.gen.d.ts +0 -7152
- package/dist/mtmai_api/types.gen.d.ts.map +0 -1
- package/dist/mtmai_api/types.gen.js +0 -253
- package/dist/mtmai_api/types.gen.js.map +0 -1
- package/dist/mtmai_api/zod.gen.d.ts +0 -55827
- package/dist/mtmai_api/zod.gen.d.ts.map +0 -1
- package/dist/mtmai_api/zod.gen.js +0 -4805
- package/dist/mtmai_api/zod.gen.js.map +0 -1
- package/dist/supabase/use-sb-query/prefetch.d.ts +0 -10
- package/dist/supabase/use-sb-query/prefetch.d.ts.map +0 -1
- package/dist/supabase/use-sb-query/prefetch.js +0 -14
- package/dist/supabase/use-sb-query/prefetch.js.map +0 -1
- package/src/adk/api/client.ts +0 -46
- package/src/adk/core/constants/tool-icons.ts +0 -51
- package/src/adk/core/models/AgentBuilder.ts +0 -80
- package/src/adk/core/models/AgentRunRequest.ts +0 -33
- package/src/adk/core/models/Eval.ts +0 -70
- package/src/adk/core/models/LiveRequest.ts +0 -23
- package/src/adk/core/models/RuntimeConfig.ts +0 -33
- package/src/adk/core/models/Session.ts +0 -52
- package/src/adk/core/models/Trace.ts +0 -42
- package/src/adk/core/models/types.ts +0 -255
- package/src/lib/utils.ts +0 -54
- package/src/mtgate_api/@tanstack/react-query.gen.ts +0 -142
- package/src/mtgate_api/schemas.gen.ts +0 -290
- package/src/mtgate_api/zod.gen.ts +0 -176
- package/src/mtmai_api/@tanstack/react-query.gen.ts +0 -1010
- package/src/mtmai_api/client/client.gen.ts +0 -311
- package/src/mtmai_api/client/index.ts +0 -25
- package/src/mtmai_api/client/types.gen.ts +0 -241
- package/src/mtmai_api/client/utils.gen.ts +0 -332
- package/src/mtmai_api/client.gen.ts +0 -16
- package/src/mtmai_api/core/auth.gen.ts +0 -42
- package/src/mtmai_api/core/bodySerializer.gen.ts +0 -100
- package/src/mtmai_api/core/params.gen.ts +0 -176
- package/src/mtmai_api/core/pathSerializer.gen.ts +0 -181
- package/src/mtmai_api/core/queryKeySerializer.gen.ts +0 -136
- package/src/mtmai_api/core/serverSentEvents.gen.ts +0 -266
- package/src/mtmai_api/core/types.gen.ts +0 -118
- package/src/mtmai_api/core/utils.gen.ts +0 -143
- package/src/mtmai_api/index.ts +0 -4
- package/src/mtmai_api/schemas.gen.ts +0 -9980
- package/src/mtmai_api/sdk.gen.ts +0 -471
- package/src/mtmai_api/types.gen.ts +0 -7609
- package/src/mtmai_api/zod.gen.ts +0 -5101
- package/src/supabase/use-sb-query/prefetch.ts +0 -59
|
@@ -1,239 +1,5 @@
|
|
|
1
|
-
// This file is auto-generated by @hey-api/openapi-ts
|
|
2
|
-
|
|
3
|
-
export type ClientOptions = {
|
|
4
|
-
baseUrl:
|
|
5
|
-
};
|
|
6
|
-
|
|
7
|
-
export type AgentRunResult = {
|
|
8
|
-
[key: string]: unknown;
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
export type AdkBlob = {
|
|
12
|
-
mimeType?: string;
|
|
13
|
-
data: string;
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
export type AdkFunctionCall = {
|
|
17
|
-
id?: string;
|
|
18
|
-
name: string;
|
|
19
|
-
args: {
|
|
20
|
-
[key: string]: unknown;
|
|
21
|
-
};
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
export type AdkFunctionResp = {
|
|
25
|
-
id?: string;
|
|
26
|
-
name: string;
|
|
27
|
-
response: {
|
|
28
|
-
[key: string]: unknown;
|
|
29
|
-
};
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
export type AdkFileData = {
|
|
33
|
-
mimeType: string;
|
|
34
|
-
fileUri: string;
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
export type AdkExecutableCode = {
|
|
38
|
-
language: 'UNKNOWN' | 'PYTHON';
|
|
39
|
-
code: string;
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
export type AdkCodeExecutionResult = {
|
|
43
|
-
outcome: 'UNKNOWN' | 'OK' | 'FAILED' | 'DEADLINE_EXCEEDED';
|
|
44
|
-
output: string;
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
export type AdkPart = {
|
|
48
|
-
text?: string;
|
|
49
|
-
inlineData?: AdkBlob;
|
|
50
|
-
functionCall?: AdkFunctionCall;
|
|
51
|
-
functionResponse?: AdkFunctionResp;
|
|
52
|
-
thought?: boolean;
|
|
53
|
-
fileData?: AdkFileData;
|
|
54
|
-
executableCode?: AdkExecutableCode;
|
|
55
|
-
codeExecutionResult?: AdkCodeExecutionResult;
|
|
56
|
-
};
|
|
57
|
-
|
|
58
|
-
export type GenaiContent = {
|
|
59
|
-
role: string;
|
|
60
|
-
parts: Array<AdkPart>;
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
export type AgentRunReq = {
|
|
64
|
-
agentName: string;
|
|
65
|
-
newMessage: GenaiContent;
|
|
66
|
-
sessionId: string;
|
|
67
|
-
stateDelta?: unknown;
|
|
68
|
-
streaming?: boolean;
|
|
69
|
-
userId?: string;
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
export type AgentChatItem = {
|
|
73
|
-
id: string;
|
|
74
|
-
title: string;
|
|
75
|
-
user_id: string;
|
|
76
|
-
visibility: string;
|
|
77
|
-
lastContext?: unknown;
|
|
78
|
-
created_at: string;
|
|
79
|
-
updated_at: string;
|
|
80
|
-
};
|
|
81
|
-
|
|
82
|
-
export type ZMtAgentRun = {
|
|
83
|
-
[key: string]: unknown;
|
|
84
|
-
};
|
|
85
|
-
|
|
86
|
-
export type MtAgentRunReq = {
|
|
87
|
-
agentName?: string;
|
|
88
|
-
messages: Array<unknown>;
|
|
89
|
-
sessionId?: string;
|
|
90
|
-
stateDelta?: unknown;
|
|
91
|
-
streaming?: boolean;
|
|
92
|
-
userId?: string;
|
|
93
|
-
};
|
|
94
|
-
|
|
95
|
-
export type AgentQuickActionItem = {
|
|
96
|
-
id?: string;
|
|
97
|
-
icon?: string;
|
|
98
|
-
text: string;
|
|
99
|
-
};
|
|
100
|
-
|
|
101
|
-
export type ChatlistParams = string;
|
|
102
|
-
|
|
103
|
-
export type AdkAgentRunData = {
|
|
104
|
-
body?: AgentRunReq;
|
|
105
|
-
path?: never;
|
|
106
|
-
query?: never;
|
|
107
|
-
url: '/api/cf/adk/run/sse';
|
|
108
|
-
};
|
|
109
|
-
|
|
110
|
-
export type AdkAgentRunResponses = {
|
|
111
|
-
200: AgentRunResult;
|
|
112
|
-
};
|
|
113
|
-
|
|
114
|
-
export type AdkAgentRunResponse = AdkAgentRunResponses[keyof AdkAgentRunResponses];
|
|
115
|
-
|
|
116
|
-
export type BrowserOpenData = {
|
|
117
|
-
body?: {
|
|
118
|
-
profileId?: string;
|
|
119
|
-
urls?: Array<string>;
|
|
120
|
-
};
|
|
121
|
-
path?: never;
|
|
122
|
-
query?: never;
|
|
123
|
-
url: '/api/cf/demo/time';
|
|
124
|
-
};
|
|
125
|
-
|
|
126
|
-
export type BrowserOpenResponses = {
|
|
127
|
-
/**
|
|
128
|
-
* browser open
|
|
129
|
-
*/
|
|
130
|
-
200: {
|
|
131
|
-
/**
|
|
132
|
-
* vnc url
|
|
133
|
-
*/
|
|
134
|
-
vncUrl?: string;
|
|
135
|
-
wsCdpEndpoint?: string;
|
|
136
|
-
};
|
|
137
|
-
};
|
|
138
|
-
|
|
139
|
-
export type BrowserOpenResponse = BrowserOpenResponses[keyof BrowserOpenResponses];
|
|
140
|
-
|
|
141
|
-
export type AgentChatListData = {
|
|
142
|
-
body?: never;
|
|
143
|
-
path?: never;
|
|
144
|
-
query?: {
|
|
145
|
-
agentId?: string;
|
|
146
|
-
};
|
|
147
|
-
url: '/api/cf/agent/chat_list';
|
|
148
|
-
};
|
|
149
|
-
|
|
150
|
-
export type AgentChatListResponses = {
|
|
151
|
-
200: {
|
|
152
|
-
paginate: {
|
|
153
|
-
/**
|
|
154
|
-
* Total number of records
|
|
155
|
-
*/
|
|
156
|
-
total: number;
|
|
157
|
-
/**
|
|
158
|
-
* Current page number
|
|
159
|
-
*/
|
|
160
|
-
page: number;
|
|
161
|
-
/**
|
|
162
|
-
* Number of records per page
|
|
163
|
-
*/
|
|
164
|
-
pageSize: number;
|
|
165
|
-
/**
|
|
166
|
-
* Total number of pages
|
|
167
|
-
*/
|
|
168
|
-
totalPages: number;
|
|
169
|
-
/**
|
|
170
|
-
* Whether there is a next page
|
|
171
|
-
*/
|
|
172
|
-
hasNext: boolean;
|
|
173
|
-
};
|
|
174
|
-
data: Array<AgentChatItem>;
|
|
175
|
-
};
|
|
176
|
-
};
|
|
177
|
-
|
|
178
|
-
export type AgentChatListResponse = AgentChatListResponses[keyof AgentChatListResponses];
|
|
179
|
-
|
|
180
|
-
export type AgentRunData = {
|
|
181
|
-
body?: MtAgentRunReq;
|
|
182
|
-
path?: never;
|
|
183
|
-
query?: never;
|
|
184
|
-
url: '/api/cf/agent/run';
|
|
185
|
-
};
|
|
186
|
-
|
|
187
|
-
export type AgentRunResponses = {
|
|
188
|
-
200: ZMtAgentRun;
|
|
189
|
-
};
|
|
190
|
-
|
|
191
|
-
export type AgentRunResponse = AgentRunResponses[keyof AgentRunResponses];
|
|
192
|
-
|
|
193
|
-
export type AgentQuickActionData = {
|
|
194
|
-
body?: never;
|
|
195
|
-
path?: never;
|
|
196
|
-
query?: {
|
|
197
|
-
agentName?: string;
|
|
198
|
-
};
|
|
199
|
-
url: '/api/cf/agent/quick_actions';
|
|
200
|
-
};
|
|
201
|
-
|
|
202
|
-
export type AgentQuickActionResponses = {
|
|
203
|
-
200: {
|
|
204
|
-
items: Array<AgentQuickActionItem>;
|
|
205
|
-
};
|
|
206
|
-
};
|
|
207
|
-
|
|
208
|
-
export type AgentQuickActionResponse = AgentQuickActionResponses[keyof AgentQuickActionResponses];
|
|
209
|
-
|
|
210
|
-
export type HumanTasksListData = {
|
|
211
|
-
body?: never;
|
|
212
|
-
path?: never;
|
|
213
|
-
query?: never;
|
|
214
|
-
url: '/api/cf/human/tasks/list';
|
|
215
|
-
};
|
|
216
|
-
|
|
217
|
-
export type HumanTasksListResponses = {
|
|
218
|
-
200: {
|
|
219
|
-
[key: string]: unknown;
|
|
220
|
-
};
|
|
221
|
-
};
|
|
222
|
-
|
|
223
|
-
export type HumanTasksListResponse = HumanTasksListResponses[keyof HumanTasksListResponses];
|
|
224
|
-
|
|
225
|
-
export type McpApiHelloData = {
|
|
226
|
-
body?: never;
|
|
227
|
-
path?: never;
|
|
228
|
-
query: {
|
|
229
|
-
msg: string;
|
|
230
|
-
};
|
|
231
|
-
url: '/api/cf/mcpapi/hello';
|
|
232
|
-
};
|
|
233
|
-
|
|
234
|
-
export type McpApiHelloResponses = {
|
|
235
|
-
/**
|
|
236
|
-
* 简单问候API
|
|
237
|
-
*/
|
|
238
|
-
200: unknown;
|
|
239
|
-
};
|
|
1
|
+
// This file is auto-generated by @hey-api/openapi-ts
|
|
2
|
+
|
|
3
|
+
export type ClientOptions = {
|
|
4
|
+
baseUrl: `${string}://${string}` | (string & {});
|
|
5
|
+
};
|
|
@@ -1,54 +1,54 @@
|
|
|
1
|
-
export const GATEWAY_CLIENT_IDS = {
|
|
2
|
-
WEBCHAT_UI: "webchat-ui",
|
|
3
|
-
CONTROL_UI: "openclaw-control-ui",
|
|
4
|
-
WEBCHAT: "webchat",
|
|
5
|
-
CLI: "cli",
|
|
6
|
-
GATEWAY_CLIENT: "gateway-client",
|
|
7
|
-
MACOS_APP: "openclaw-macos",
|
|
8
|
-
IOS_APP: "openclaw-ios",
|
|
9
|
-
ANDROID_APP: "openclaw-android",
|
|
10
|
-
NODE_HOST: "node-host",
|
|
11
|
-
TEST: "test",
|
|
12
|
-
FINGERPRINT: "fingerprint",
|
|
13
|
-
PROBE: "openclaw-probe",
|
|
14
|
-
} as const;
|
|
15
|
-
|
|
16
|
-
export type GatewayClientId = (typeof GATEWAY_CLIENT_IDS)[keyof typeof GATEWAY_CLIENT_IDS];
|
|
17
|
-
|
|
18
|
-
export const GATEWAY_CLIENT_MODES = {
|
|
19
|
-
WEBCHAT: "webchat",
|
|
20
|
-
CLI: "cli",
|
|
21
|
-
UI: "ui",
|
|
22
|
-
BACKEND: "backend",
|
|
23
|
-
NODE: "node",
|
|
24
|
-
PROBE: "probe",
|
|
25
|
-
TEST: "test",
|
|
26
|
-
} as const;
|
|
27
|
-
|
|
28
|
-
export type GatewayClientMode = (typeof GATEWAY_CLIENT_MODES)[keyof typeof GATEWAY_CLIENT_MODES];
|
|
29
|
-
|
|
30
|
-
export type GatewayClientInfo = {
|
|
31
|
-
id: GatewayClientId;
|
|
32
|
-
displayName?: string;
|
|
33
|
-
version: string;
|
|
34
|
-
platform: string;
|
|
35
|
-
deviceFamily?: string;
|
|
36
|
-
modelIdentifier?: string;
|
|
37
|
-
mode: GatewayClientMode;
|
|
38
|
-
instanceId?: string;
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
const GATEWAY_CLIENT_ID_SET = new Set<GatewayClientId>(Object.values(GATEWAY_CLIENT_IDS));
|
|
42
|
-
const GATEWAY_CLIENT_MODE_SET = new Set<GatewayClientMode>(Object.values(GATEWAY_CLIENT_MODES));
|
|
43
|
-
|
|
44
|
-
export function normalizeGatewayClientId(raw?: string | null): GatewayClientId | undefined {
|
|
45
|
-
const normalized = raw?.trim().toLowerCase();
|
|
46
|
-
if (!normalized) return undefined;
|
|
47
|
-
return GATEWAY_CLIENT_ID_SET.has(normalized as GatewayClientId) ? (normalized as GatewayClientId) : undefined;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
export function normalizeGatewayClientMode(raw?: string | null): GatewayClientMode | undefined {
|
|
51
|
-
const normalized = raw?.trim().toLowerCase();
|
|
52
|
-
if (!normalized) return undefined;
|
|
53
|
-
return GATEWAY_CLIENT_MODE_SET.has(normalized as GatewayClientMode) ? (normalized as GatewayClientMode) : undefined;
|
|
54
|
-
}
|
|
1
|
+
export const GATEWAY_CLIENT_IDS = {
|
|
2
|
+
WEBCHAT_UI: "webchat-ui",
|
|
3
|
+
CONTROL_UI: "openclaw-control-ui",
|
|
4
|
+
WEBCHAT: "webchat",
|
|
5
|
+
CLI: "cli",
|
|
6
|
+
GATEWAY_CLIENT: "gateway-client",
|
|
7
|
+
MACOS_APP: "openclaw-macos",
|
|
8
|
+
IOS_APP: "openclaw-ios",
|
|
9
|
+
ANDROID_APP: "openclaw-android",
|
|
10
|
+
NODE_HOST: "node-host",
|
|
11
|
+
TEST: "test",
|
|
12
|
+
FINGERPRINT: "fingerprint",
|
|
13
|
+
PROBE: "openclaw-probe",
|
|
14
|
+
} as const;
|
|
15
|
+
|
|
16
|
+
export type GatewayClientId = (typeof GATEWAY_CLIENT_IDS)[keyof typeof GATEWAY_CLIENT_IDS];
|
|
17
|
+
|
|
18
|
+
export const GATEWAY_CLIENT_MODES = {
|
|
19
|
+
WEBCHAT: "webchat",
|
|
20
|
+
CLI: "cli",
|
|
21
|
+
UI: "ui",
|
|
22
|
+
BACKEND: "backend",
|
|
23
|
+
NODE: "node",
|
|
24
|
+
PROBE: "probe",
|
|
25
|
+
TEST: "test",
|
|
26
|
+
} as const;
|
|
27
|
+
|
|
28
|
+
export type GatewayClientMode = (typeof GATEWAY_CLIENT_MODES)[keyof typeof GATEWAY_CLIENT_MODES];
|
|
29
|
+
|
|
30
|
+
export type GatewayClientInfo = {
|
|
31
|
+
id: GatewayClientId;
|
|
32
|
+
displayName?: string;
|
|
33
|
+
version: string;
|
|
34
|
+
platform: string;
|
|
35
|
+
deviceFamily?: string;
|
|
36
|
+
modelIdentifier?: string;
|
|
37
|
+
mode: GatewayClientMode;
|
|
38
|
+
instanceId?: string;
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
const GATEWAY_CLIENT_ID_SET = new Set<GatewayClientId>(Object.values(GATEWAY_CLIENT_IDS));
|
|
42
|
+
const GATEWAY_CLIENT_MODE_SET = new Set<GatewayClientMode>(Object.values(GATEWAY_CLIENT_MODES));
|
|
43
|
+
|
|
44
|
+
export function normalizeGatewayClientId(raw?: string | null): GatewayClientId | undefined {
|
|
45
|
+
const normalized = raw?.trim().toLowerCase();
|
|
46
|
+
if (!normalized) return undefined;
|
|
47
|
+
return GATEWAY_CLIENT_ID_SET.has(normalized as GatewayClientId) ? (normalized as GatewayClientId) : undefined;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export function normalizeGatewayClientMode(raw?: string | null): GatewayClientMode | undefined {
|
|
51
|
+
const normalized = raw?.trim().toLowerCase();
|
|
52
|
+
if (!normalized) return undefined;
|
|
53
|
+
return GATEWAY_CLIENT_MODE_SET.has(normalized as GatewayClientMode) ? (normalized as GatewayClientMode) : undefined;
|
|
54
|
+
}
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
export interface DeviceAuthPayloadParams {
|
|
2
|
-
deviceId: string;
|
|
3
|
-
clientId: string;
|
|
4
|
-
clientMode: string;
|
|
5
|
-
role: string;
|
|
6
|
-
scopes: string[];
|
|
7
|
-
signedAtMs: number;
|
|
8
|
-
token?: string | null;
|
|
9
|
-
nonce: string;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
export function buildDeviceAuthPayload(params: DeviceAuthPayloadParams) {
|
|
13
|
-
const scopes = params.scopes.join(",");
|
|
14
|
-
const token = params.token ?? "";
|
|
15
|
-
return [
|
|
16
|
-
"v2",
|
|
17
|
-
params.deviceId,
|
|
18
|
-
params.clientId,
|
|
19
|
-
params.clientMode,
|
|
20
|
-
params.role,
|
|
21
|
-
scopes,
|
|
22
|
-
String(params.signedAtMs),
|
|
23
|
-
token,
|
|
24
|
-
params.nonce,
|
|
25
|
-
].join("|");
|
|
26
|
-
}
|
|
1
|
+
export interface DeviceAuthPayloadParams {
|
|
2
|
+
deviceId: string;
|
|
3
|
+
clientId: string;
|
|
4
|
+
clientMode: string;
|
|
5
|
+
role: string;
|
|
6
|
+
scopes: string[];
|
|
7
|
+
signedAtMs: number;
|
|
8
|
+
token?: string | null;
|
|
9
|
+
nonce: string;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export function buildDeviceAuthPayload(params: DeviceAuthPayloadParams) {
|
|
13
|
+
const scopes = params.scopes.join(",");
|
|
14
|
+
const token = params.token ?? "";
|
|
15
|
+
return [
|
|
16
|
+
"v2",
|
|
17
|
+
params.deviceId,
|
|
18
|
+
params.clientId,
|
|
19
|
+
params.clientMode,
|
|
20
|
+
params.role,
|
|
21
|
+
scopes,
|
|
22
|
+
String(params.signedAtMs),
|
|
23
|
+
token,
|
|
24
|
+
params.nonce,
|
|
25
|
+
].join("|");
|
|
26
|
+
}
|
|
@@ -1,99 +1,99 @@
|
|
|
1
|
-
export type DeviceAuthEntry = {
|
|
2
|
-
token: string;
|
|
3
|
-
role: string;
|
|
4
|
-
scopes: string[];
|
|
5
|
-
updatedAtMs: number;
|
|
6
|
-
};
|
|
7
|
-
|
|
8
|
-
type DeviceAuthStore = {
|
|
9
|
-
version: 1;
|
|
10
|
-
deviceId: string;
|
|
11
|
-
tokens: Record<string, DeviceAuthEntry>;
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
const STORAGE_KEY = "openclaw.device.auth.v1";
|
|
15
|
-
|
|
16
|
-
function normalizeRole(role: string): string {
|
|
17
|
-
return role.trim();
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
function normalizeScopes(scopes: string[] | undefined): string[] {
|
|
21
|
-
if (!Array.isArray(scopes)) return [];
|
|
22
|
-
const out = new Set<string>();
|
|
23
|
-
for (const scope of scopes) {
|
|
24
|
-
const trimmed = scope.trim();
|
|
25
|
-
if (trimmed) out.add(trimmed);
|
|
26
|
-
}
|
|
27
|
-
return [...out].sort();
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
function readStore(): DeviceAuthStore | null {
|
|
31
|
-
try {
|
|
32
|
-
const raw = window.localStorage.getItem(STORAGE_KEY);
|
|
33
|
-
if (!raw) return null;
|
|
34
|
-
const parsed = JSON.parse(raw) as DeviceAuthStore;
|
|
35
|
-
if (!parsed || parsed.version !== 1) return null;
|
|
36
|
-
if (!parsed.deviceId || typeof parsed.deviceId !== "string") return null;
|
|
37
|
-
if (!parsed.tokens || typeof parsed.tokens !== "object") return null;
|
|
38
|
-
return parsed;
|
|
39
|
-
} catch {
|
|
40
|
-
return null;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
function writeStore(store: DeviceAuthStore) {
|
|
45
|
-
try {
|
|
46
|
-
window.localStorage.setItem(STORAGE_KEY, JSON.stringify(store));
|
|
47
|
-
} catch {
|
|
48
|
-
// best-effort
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
export function loadDeviceAuthToken(params: { deviceId: string; role: string }): DeviceAuthEntry | null {
|
|
53
|
-
const store = readStore();
|
|
54
|
-
if (!store || store.deviceId !== params.deviceId) return null;
|
|
55
|
-
const role = normalizeRole(params.role);
|
|
56
|
-
const entry = store.tokens[role];
|
|
57
|
-
if (!entry || typeof entry.token !== "string") return null;
|
|
58
|
-
return entry;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
export function storeDeviceAuthToken(params: {
|
|
62
|
-
deviceId: string;
|
|
63
|
-
role: string;
|
|
64
|
-
token: string;
|
|
65
|
-
scopes?: string[];
|
|
66
|
-
}): DeviceAuthEntry {
|
|
67
|
-
const role = normalizeRole(params.role);
|
|
68
|
-
const next: DeviceAuthStore = {
|
|
69
|
-
version: 1,
|
|
70
|
-
deviceId: params.deviceId,
|
|
71
|
-
tokens: {},
|
|
72
|
-
};
|
|
73
|
-
const existing = readStore();
|
|
74
|
-
if (existing && existing.deviceId === params.deviceId) {
|
|
75
|
-
next.tokens = { ...existing.tokens };
|
|
76
|
-
}
|
|
77
|
-
const entry: DeviceAuthEntry = {
|
|
78
|
-
token: params.token,
|
|
79
|
-
role,
|
|
80
|
-
scopes: normalizeScopes(params.scopes),
|
|
81
|
-
updatedAtMs: Date.now(),
|
|
82
|
-
};
|
|
83
|
-
next.tokens[role] = entry;
|
|
84
|
-
writeStore(next);
|
|
85
|
-
return entry;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
export function clearDeviceAuthToken(params: { deviceId: string; role: string }) {
|
|
89
|
-
const store = readStore();
|
|
90
|
-
if (!store || store.deviceId !== params.deviceId) return;
|
|
91
|
-
const role = normalizeRole(params.role);
|
|
92
|
-
if (!store.tokens[role]) return;
|
|
93
|
-
const next = {
|
|
94
|
-
...store,
|
|
95
|
-
tokens: { ...store.tokens },
|
|
96
|
-
};
|
|
97
|
-
delete next.tokens[role];
|
|
98
|
-
writeStore(next);
|
|
99
|
-
}
|
|
1
|
+
export type DeviceAuthEntry = {
|
|
2
|
+
token: string;
|
|
3
|
+
role: string;
|
|
4
|
+
scopes: string[];
|
|
5
|
+
updatedAtMs: number;
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
type DeviceAuthStore = {
|
|
9
|
+
version: 1;
|
|
10
|
+
deviceId: string;
|
|
11
|
+
tokens: Record<string, DeviceAuthEntry>;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
const STORAGE_KEY = "openclaw.device.auth.v1";
|
|
15
|
+
|
|
16
|
+
function normalizeRole(role: string): string {
|
|
17
|
+
return role.trim();
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
function normalizeScopes(scopes: string[] | undefined): string[] {
|
|
21
|
+
if (!Array.isArray(scopes)) return [];
|
|
22
|
+
const out = new Set<string>();
|
|
23
|
+
for (const scope of scopes) {
|
|
24
|
+
const trimmed = scope.trim();
|
|
25
|
+
if (trimmed) out.add(trimmed);
|
|
26
|
+
}
|
|
27
|
+
return [...out].sort();
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
function readStore(): DeviceAuthStore | null {
|
|
31
|
+
try {
|
|
32
|
+
const raw = window.localStorage.getItem(STORAGE_KEY);
|
|
33
|
+
if (!raw) return null;
|
|
34
|
+
const parsed = JSON.parse(raw) as DeviceAuthStore;
|
|
35
|
+
if (!parsed || parsed.version !== 1) return null;
|
|
36
|
+
if (!parsed.deviceId || typeof parsed.deviceId !== "string") return null;
|
|
37
|
+
if (!parsed.tokens || typeof parsed.tokens !== "object") return null;
|
|
38
|
+
return parsed;
|
|
39
|
+
} catch {
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
function writeStore(store: DeviceAuthStore) {
|
|
45
|
+
try {
|
|
46
|
+
window.localStorage.setItem(STORAGE_KEY, JSON.stringify(store));
|
|
47
|
+
} catch {
|
|
48
|
+
// best-effort
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export function loadDeviceAuthToken(params: { deviceId: string; role: string }): DeviceAuthEntry | null {
|
|
53
|
+
const store = readStore();
|
|
54
|
+
if (!store || store.deviceId !== params.deviceId) return null;
|
|
55
|
+
const role = normalizeRole(params.role);
|
|
56
|
+
const entry = store.tokens[role];
|
|
57
|
+
if (!entry || typeof entry.token !== "string") return null;
|
|
58
|
+
return entry;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export function storeDeviceAuthToken(params: {
|
|
62
|
+
deviceId: string;
|
|
63
|
+
role: string;
|
|
64
|
+
token: string;
|
|
65
|
+
scopes?: string[];
|
|
66
|
+
}): DeviceAuthEntry {
|
|
67
|
+
const role = normalizeRole(params.role);
|
|
68
|
+
const next: DeviceAuthStore = {
|
|
69
|
+
version: 1,
|
|
70
|
+
deviceId: params.deviceId,
|
|
71
|
+
tokens: {},
|
|
72
|
+
};
|
|
73
|
+
const existing = readStore();
|
|
74
|
+
if (existing && existing.deviceId === params.deviceId) {
|
|
75
|
+
next.tokens = { ...existing.tokens };
|
|
76
|
+
}
|
|
77
|
+
const entry: DeviceAuthEntry = {
|
|
78
|
+
token: params.token,
|
|
79
|
+
role,
|
|
80
|
+
scopes: normalizeScopes(params.scopes),
|
|
81
|
+
updatedAtMs: Date.now(),
|
|
82
|
+
};
|
|
83
|
+
next.tokens[role] = entry;
|
|
84
|
+
writeStore(next);
|
|
85
|
+
return entry;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
export function clearDeviceAuthToken(params: { deviceId: string; role: string }) {
|
|
89
|
+
const store = readStore();
|
|
90
|
+
if (!store || store.deviceId !== params.deviceId) return;
|
|
91
|
+
const role = normalizeRole(params.role);
|
|
92
|
+
if (!store.tokens[role]) return;
|
|
93
|
+
const next = {
|
|
94
|
+
...store,
|
|
95
|
+
tokens: { ...store.tokens },
|
|
96
|
+
};
|
|
97
|
+
delete next.tokens[role];
|
|
98
|
+
writeStore(next);
|
|
99
|
+
}
|