@casual-simulation/aux-records 3.5.3 → 3.7.0-alpha.16977445547
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/ComIdConfig.d.ts +8 -0
- package/ComIdConfig.js +1 -0
- package/ComIdConfig.js.map +1 -1
- package/DataRecordsController.d.ts +4 -0
- package/DataRecordsController.js +21 -0
- package/DataRecordsController.js.map +1 -1
- package/DataRecordsStore.d.ts +5 -0
- package/DataRecordsStore.js.map +1 -1
- package/PolicyController.js +2 -1
- package/PolicyController.js.map +1 -1
- package/PolicyStore.d.ts +13 -0
- package/PolicyStore.js +16 -0
- package/PolicyStore.js.map +1 -1
- package/RecordsController.d.ts +5 -0
- package/RecordsServer.d.ts +144 -4
- package/RecordsServer.js +214 -1
- package/RecordsServer.js.map +1 -1
- package/ServerConfig.d.ts +447 -0
- package/ServerConfig.js +54 -0
- package/ServerConfig.js.map +1 -1
- package/SubscriptionConfigBuilder.d.ts +3 -1
- package/SubscriptionConfigBuilder.js +10 -0
- package/SubscriptionConfigBuilder.js.map +1 -1
- package/SubscriptionConfiguration.d.ts +229 -0
- package/SubscriptionConfiguration.js +35 -0
- package/SubscriptionConfiguration.js.map +1 -1
- package/crud/CrudRecordsController.d.ts +12 -8
- package/crud/CrudRecordsController.js +29 -12
- package/crud/CrudRecordsController.js.map +1 -1
- package/crud/CrudRecordsControllerTests.d.ts +5 -5
- package/crud/CrudRecordsControllerTests.js +128 -69
- package/crud/CrudRecordsControllerTests.js.map +1 -1
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/index.js.map +1 -1
- package/notifications/NotificationRecordsController.d.ts +1 -1
- package/notifications/NotificationRecordsController.js.map +1 -1
- package/package.json +4 -3
- package/packages/PackageRecordsController.d.ts +1 -1
- package/packages/PackageRecordsController.js.map +1 -1
- package/queue/MemoryQueue.d.ts +24 -0
- package/queue/MemoryQueue.js +45 -0
- package/queue/MemoryQueue.js.map +1 -0
- package/queue/Queue.d.ts +12 -0
- package/queue/Queue.js +19 -0
- package/queue/Queue.js.map +1 -0
- package/queue/index.d.ts +2 -0
- package/queue/index.js +19 -0
- package/queue/index.js.map +1 -0
- package/search/MemorySearchInterface.d.ts +25 -0
- package/search/MemorySearchInterface.js +192 -0
- package/search/MemorySearchInterface.js.map +1 -0
- package/search/MemorySearchRecordsStore.d.ts +21 -0
- package/search/MemorySearchRecordsStore.js +80 -0
- package/search/MemorySearchRecordsStore.js.map +1 -0
- package/search/SearchInterface.d.ts +329 -0
- package/search/SearchInterface.js +19 -0
- package/search/SearchInterface.js.map +1 -0
- package/search/SearchRecordsController.d.ts +491 -0
- package/search/SearchRecordsController.js +521 -0
- package/search/SearchRecordsController.js.map +1 -0
- package/search/SearchRecordsStore.d.ts +176 -0
- package/search/SearchRecordsStore.js +2 -0
- package/search/SearchRecordsStore.js.map +1 -0
- package/search/SearchSyncProcessor.d.ts +162 -0
- package/search/SearchSyncProcessor.js +256 -0
- package/search/SearchSyncProcessor.js.map +1 -0
- package/search/TypesenseSearchInterface.d.ts +18 -0
- package/search/TypesenseSearchInterface.js +171 -0
- package/search/TypesenseSearchInterface.js.map +1 -0
- package/search/index.d.ts +7 -0
- package/search/index.js +24 -0
- package/search/index.js.map +1 -0
- package/webhooks/WebhookRecordsController.d.ts +3 -3
- package/webhooks/WebhookRecordsController.js +3 -3
- package/webhooks/WebhookRecordsController.js.map +1 -1
- package/websockets/WebsocketController.js +30 -25
- package/websockets/WebsocketController.js.map +1 -1
package/PolicyStore.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PolicyStore.js","sourceRoot":"","sources":["PolicyStore.ts"],"names":[],"mappings":"AA6BA,OAAO,EACH,kBAAkB,EAClB,mBAAmB,GACtB,MAAM,+BAA+B,CAAC;AAyiBvC,8CAA8C;AAC9C,UAAU;AACV,0CAA0C;AAC1C,UAAU;AACV,kCAAkC;AAElC,UAAU;AACV,qEAAqE;AACrE,UAAU;AACV,mDAAmD;AAEnD,UAAU;AACV,6DAA6D;AAC7D,UAAU;AACV,4CAA4C;AAC5C,IAAI;AAEJ;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,YAA2B;IACrD,OAAO,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,QAAQ,CAAC;AACpC,CAAC;AAoRD;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CACnC,YAA2B,EAC3B,MAAmB;IAEnB,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;QAC1B,0BAA0B;QAC1B,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACzC,OAAO;gBACH,YAAY;gBACZ,MAAM;aACT,CAAC;QACN,CAAC;IACL,CAAC;SAAM,IAAI,YAAY,KAAK,MAAM,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;QAC5D,uBAAuB;QACvB,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACpB,OAAO;gBACH,YAAY;gBACZ,MAAM;aACT,CAAC;QACN,CAAC;IACL,CAAC;SAAM,IAAI,YAAY,KAAK,OAAO,EAAE,CAAC;QAClC,cAAc;QACd,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YACrB,OAAO;gBACH,YAAY;gBACZ,MAAM;aACT,CAAC;QACN,CAAC;IACL,CAAC;SAAM,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QACpC,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YACnB,OAAO;gBACH,YAAY;gBACZ,MAAM;aACT,CAAC;QACN,CAAC;IACL,CAAC;SAAM,IAAI,YAAY,KAAK,cAAc,EAAE,CAAC;QACzC,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;YACnE,OAAO;gBACH,YAAY;gBACZ,MAAM;aACT,CAAC;QACN,CAAC;IACL,CAAC;SAAM,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QACpC,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACzC,OAAO;gBACH,YAAY;gBACZ,MAAM;aACT,CAAC;QACN,CAAC;IACL,CAAC;SAAM,IAAI,YAAY,KAAK,iBAAiB,EAAE,CAAC;QAC5C,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YAC7D,OAAO;gBACH,YAAY;gBACZ,MAAM;aACT,CAAC;QACN,CAAC;IACL,CAAC;IAED,qCAAqC;IACrC,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CACpC,YAA2B,EAC3B,MAAmB;IAEnB,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;QAC1B,IACI,MAAM,KAAK,MAAM;YACjB,MAAM,KAAK,QAAQ;YACnB,MAAM,KAAK,QAAQ;YACnB,MAAM,KAAK,QAAQ;YACnB,MAAM,KAAK,MAAM,EACnB,CAAC;YACC,OAAO;gBACH,YAAY;gBACZ,MAAM;aACT,CAAC;QACN,CAAC;IACL,CAAC;SAAM,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;QACjC,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YAClE,OAAO;gBACH,YAAY;gBACZ,MAAM;aACT,CAAC;QACN,CAAC;IACL,CAAC;SAAM,IAAI,YAAY,KAAK,OAAO,EAAE,CAAC;QAClC,IACI,MAAM,KAAK,WAAW;YACtB,MAAM,KAAK,OAAO;YAClB,MAAM,KAAK,QAAQ,EACrB,CAAC;YACC,OAAO;gBACH,YAAY;gBACZ,MAAM;aACT,CAAC;QACN,CAAC;IACL,CAAC;SAAM,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;QACjC,IACI,MAAM,KAAK,MAAM;YACjB,MAAM,KAAK,YAAY;YACvB,MAAM,KAAK,YAAY;YACvB,MAAM,KAAK,QAAQ;YACnB,MAAM,KAAK,QAAQ,EACrB,CAAC;YACC,OAAO;gBACH,YAAY;gBACZ,MAAM;aACT,CAAC;QACN,CAAC;IACL,CAAC;SAAM,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QACpC,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YACnB,OAAO;gBACH,YAAY;gBACZ,MAAM;aACT,CAAC;QACN,CAAC;IACL,CAAC;SAAM,IAAI,YAAY,KAAK,cAAc,EAAE,CAAC;QACzC,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;YACnE,OAAO;gBACH,YAAY;gBACZ,MAAM;aACT,CAAC;QACN,CAAC;IACL,CAAC;SAAM,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QACpC,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACzC,OAAO;gBACH,YAAY;gBACZ,MAAM;aACT,CAAC;QACN,CAAC;IACL,CAAC;SAAM,IAAI,YAAY,KAAK,iBAAiB,EAAE,CAAC;QAC5C,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YAC7D,OAAO;gBACH,YAAY;gBACZ,MAAM;aACT,CAAC;QACN,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,yBAAyB,CACrC,MAAc,EACd,YAA2B,EAC3B,MAAmB;IAEnB,IAAI,MAAM,KAAK,kBAAkB,EAAE,CAAC;QAChC,OAAO,uBAAuB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACzD,CAAC;SAAM,IAAI,MAAM,KAAK,mBAAmB,EAAE,CAAC;QACxC,OAAO,wBAAwB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,0BAA0B,CACtC,OAAiB,EACjB,YAA2B,EAC3B,MAAmB;IAEnB,KAAK,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,yBAAyB,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;QACvE,IAAI,MAAM,EAAE,CAAC;YACT,OAAO;gBACH,MAAM;gBACN,GAAG,MAAM;aACZ,CAAC;QACN,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC5B,WAAwB,EACxB,SAAiB;IAEjB,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;QACzB,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC"}
|
|
1
|
+
{"version":3,"file":"PolicyStore.js","sourceRoot":"","sources":["PolicyStore.ts"],"names":[],"mappings":"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"}
|
package/RecordsController.d.ts
CHANGED
|
@@ -607,6 +607,11 @@ export interface GetPlayerConfigSuccess {
|
|
|
607
607
|
* The URL that the comId logo is available at.
|
|
608
608
|
*/
|
|
609
609
|
logoUrl: string;
|
|
610
|
+
/**
|
|
611
|
+
* The background color of the background of the logo.
|
|
612
|
+
* This is used to set the background color of the splash screen.
|
|
613
|
+
*/
|
|
614
|
+
logoBackgroundColor?: string;
|
|
610
615
|
/**
|
|
611
616
|
* The config that should be used for the player.
|
|
612
617
|
*/
|
package/RecordsServer.d.ts
CHANGED
|
@@ -17,6 +17,7 @@ import type { WebhookRecordsController } from './webhooks/WebhookRecordsControll
|
|
|
17
17
|
import type { NotificationRecordsController } from './notifications/NotificationRecordsController';
|
|
18
18
|
import type { PackageRecordsController } from './packages/PackageRecordsController';
|
|
19
19
|
import type { PackageVersionRecordsController } from './packages/version/PackageVersionRecordsController';
|
|
20
|
+
import type { SearchRecordsController } from './search';
|
|
20
21
|
export declare const NOT_LOGGED_IN_RESULT: {
|
|
21
22
|
success: false;
|
|
22
23
|
errorCode: "not_logged_in";
|
|
@@ -213,6 +214,11 @@ export interface RecordsServerOptions {
|
|
|
213
214
|
* If null, then package versions are not supported.
|
|
214
215
|
*/
|
|
215
216
|
packageVersionController?: PackageVersionRecordsController | null;
|
|
217
|
+
/**
|
|
218
|
+
* The controller that should be used for handling search records.
|
|
219
|
+
* If null, then search records are not supported.
|
|
220
|
+
*/
|
|
221
|
+
searchRecordsController?: SearchRecordsController | null;
|
|
216
222
|
}
|
|
217
223
|
/**
|
|
218
224
|
* Defines a class that represents a generic HTTP server suitable for Records HTTP Requests.
|
|
@@ -234,6 +240,7 @@ export declare class RecordsServer {
|
|
|
234
240
|
private _notificationsController;
|
|
235
241
|
private _packagesController;
|
|
236
242
|
private _packageVersionController;
|
|
243
|
+
private _searchRecordsController;
|
|
237
244
|
/**
|
|
238
245
|
* The set of origins that are allowed for API requests.
|
|
239
246
|
*/
|
|
@@ -856,7 +863,7 @@ export declare class RecordsServer {
|
|
|
856
863
|
fileDescription?: string;
|
|
857
864
|
};
|
|
858
865
|
entitlements?: {
|
|
859
|
-
feature?: "inst" | "data" | "event" | "file" | "webhook" | "notification" | "package" | "permissions" | "ai";
|
|
866
|
+
feature?: "search" | "inst" | "data" | "event" | "file" | "webhook" | "notification" | "package" | "permissions" | "ai";
|
|
860
867
|
scope?: "shared" | "personal" | "owned" | "studio" | "designated";
|
|
861
868
|
designatedRecords?: string[];
|
|
862
869
|
}[];
|
|
@@ -925,6 +932,129 @@ export declare class RecordsServer {
|
|
|
925
932
|
errorCode: "not_supported";
|
|
926
933
|
errorMessage: string;
|
|
927
934
|
}, any>;
|
|
935
|
+
recordSearchCollection: Procedure<{
|
|
936
|
+
recordName?: string;
|
|
937
|
+
item?: {
|
|
938
|
+
address?: string;
|
|
939
|
+
markers?: [string, ...string[]];
|
|
940
|
+
schema?: z.objectOutputType<{}, z.ZodObject<{
|
|
941
|
+
type: z.ZodEnum<["string", "string[]", "int32", "int32[]", "int64", "int64[]", "float", "float[]", "bool", "bool[]", "geopoint", "geopoint[]", "geopolygon", "object", "object[]", "string*", "image", "auto"]>;
|
|
942
|
+
optional: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
|
|
943
|
+
index: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
|
|
944
|
+
store: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
|
|
945
|
+
sort: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
|
|
946
|
+
infix: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
|
|
947
|
+
locale: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
948
|
+
stem: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
|
|
949
|
+
drop: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
|
|
950
|
+
}, "strip", z.ZodTypeAny, {
|
|
951
|
+
type?: "string" | "object" | "float" | "auto" | "image" | "string[]" | "int32" | "int32[]" | "int64" | "int64[]" | "float[]" | "bool" | "bool[]" | "geopoint" | "geopoint[]" | "geopolygon" | "object[]" | "string*";
|
|
952
|
+
optional?: boolean;
|
|
953
|
+
index?: boolean;
|
|
954
|
+
store?: boolean;
|
|
955
|
+
sort?: boolean;
|
|
956
|
+
infix?: boolean;
|
|
957
|
+
locale?: string;
|
|
958
|
+
stem?: boolean;
|
|
959
|
+
drop?: boolean;
|
|
960
|
+
}, {
|
|
961
|
+
type?: "string" | "object" | "float" | "auto" | "image" | "string[]" | "int32" | "int32[]" | "int64" | "int64[]" | "float[]" | "bool" | "bool[]" | "geopoint" | "geopoint[]" | "geopolygon" | "object[]" | "string*";
|
|
962
|
+
optional?: boolean;
|
|
963
|
+
index?: boolean;
|
|
964
|
+
store?: boolean;
|
|
965
|
+
sort?: boolean;
|
|
966
|
+
infix?: boolean;
|
|
967
|
+
locale?: string;
|
|
968
|
+
stem?: boolean;
|
|
969
|
+
drop?: boolean;
|
|
970
|
+
}>, "strip">;
|
|
971
|
+
};
|
|
972
|
+
instances?: string[];
|
|
973
|
+
}, import("./crud").CrudRecordItemResult, any>;
|
|
974
|
+
getSearchCollection: Procedure<{
|
|
975
|
+
recordName?: string;
|
|
976
|
+
address?: string;
|
|
977
|
+
instances?: string[];
|
|
978
|
+
}, import("./crud").CrudGetItemResult<any>, any>;
|
|
979
|
+
eraseSearchCollection: Procedure<{
|
|
980
|
+
recordName?: string;
|
|
981
|
+
address?: string;
|
|
982
|
+
instances?: string[];
|
|
983
|
+
}, import("./crud").CrudEraseItemResult, any>;
|
|
984
|
+
listSearchCollections: Procedure<{
|
|
985
|
+
recordName?: string;
|
|
986
|
+
address?: string;
|
|
987
|
+
marker?: string;
|
|
988
|
+
sort?: "ascending" | "descending";
|
|
989
|
+
instances?: string[];
|
|
990
|
+
}, import("./AuthController").ValidateSessionKeyFailure | import("./crud").CrudListItemsFailure | import("./crud").CrudListItemsSuccess<any> | {
|
|
991
|
+
success: false;
|
|
992
|
+
errorCode: "not_supported";
|
|
993
|
+
errorMessage: string;
|
|
994
|
+
}, any>;
|
|
995
|
+
recordSearchDocument: Procedure<{
|
|
996
|
+
recordName?: string;
|
|
997
|
+
address?: string;
|
|
998
|
+
document?: z.objectOutputType<{
|
|
999
|
+
recordName: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
1000
|
+
address: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
1001
|
+
resourceKind: z.ZodNullable<z.ZodOptional<z.ZodEnum<["data", "file", "event", "marker", "role", "inst", "loom", "ai.sloyd", "ai.hume", "ai.openai.realtime", "webhook", "notification", "package", "package.version", "search"]>>>;
|
|
1002
|
+
}, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString, "many">, z.ZodArray<z.ZodNumber, "many">, z.ZodArray<z.ZodBoolean, "many">, z.ZodEffects<z.ZodObject<{}, "strip", z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>, z.objectOutputType<{}, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>, "strip">, z.objectInputType<{}, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>, "strip">>, z.objectOutputType<{}, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>, "strip">, z.objectInputType<{}, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>, "strip">>]>, "strip">;
|
|
1003
|
+
instances?: string[];
|
|
1004
|
+
}, import("./AuthController").ValidateSessionKeyFailure | {
|
|
1005
|
+
success: false;
|
|
1006
|
+
errorCode: "not_logged_in";
|
|
1007
|
+
errorMessage: "The user is not logged in. A session key must be provided for this operation.";
|
|
1008
|
+
} | import("@casual-simulation/aux-common").GenericResult<import("./search").SearchDocumentInfo, import("@casual-simulation/aux-common").SimpleError>, any>;
|
|
1009
|
+
eraseSearchDocument: Procedure<{
|
|
1010
|
+
recordName?: string;
|
|
1011
|
+
address?: string;
|
|
1012
|
+
documentId?: string;
|
|
1013
|
+
instances?: string[];
|
|
1014
|
+
}, import("./AuthController").ValidateSessionKeyFailure | {
|
|
1015
|
+
success: false;
|
|
1016
|
+
errorCode: "not_logged_in";
|
|
1017
|
+
errorMessage: "The user is not logged in. A session key must be provided for this operation.";
|
|
1018
|
+
} | import("@casual-simulation/aux-common").GenericResult<import("./search").SearchDocumentInfo, import("@casual-simulation/aux-common").SimpleError>, any>;
|
|
1019
|
+
syncSearchRecord: Procedure<{
|
|
1020
|
+
recordName?: string;
|
|
1021
|
+
address?: string;
|
|
1022
|
+
targetRecordName?: string;
|
|
1023
|
+
targetResourceKind?: "data";
|
|
1024
|
+
targetMarker?: string;
|
|
1025
|
+
targetMapping?: [string, string, ...unknown[]][];
|
|
1026
|
+
instances?: string[];
|
|
1027
|
+
}, import("./AuthController").ValidateSessionKeyFailure | {
|
|
1028
|
+
success: false;
|
|
1029
|
+
errorCode: "not_logged_in";
|
|
1030
|
+
errorMessage: "The user is not logged in. A session key must be provided for this operation.";
|
|
1031
|
+
} | import("@casual-simulation/aux-common").GenericResult<{
|
|
1032
|
+
syncId: string;
|
|
1033
|
+
}, import("@casual-simulation/aux-common").SimpleError>, any>;
|
|
1034
|
+
unsyncSearchRecord: Procedure<{
|
|
1035
|
+
syncId?: string;
|
|
1036
|
+
instances?: string[];
|
|
1037
|
+
}, import("./AuthController").ValidateSessionKeyFailure | {
|
|
1038
|
+
success: false;
|
|
1039
|
+
errorCode: "not_logged_in";
|
|
1040
|
+
errorMessage: "The user is not logged in. A session key must be provided for this operation.";
|
|
1041
|
+
} | import("@casual-simulation/aux-common").GenericResult<void, import("@casual-simulation/aux-common").SimpleError>, any>;
|
|
1042
|
+
search: Procedure<{
|
|
1043
|
+
recordName?: string;
|
|
1044
|
+
address?: string;
|
|
1045
|
+
query?: z.objectOutputType<{
|
|
1046
|
+
q: z.ZodString;
|
|
1047
|
+
queryBy: z.ZodString;
|
|
1048
|
+
filterBy: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
1049
|
+
}, z.ZodUnion<[z.ZodString, z.ZodBoolean, z.ZodNumber]>, "strip">;
|
|
1050
|
+
instances?: string[];
|
|
1051
|
+
}, import("./AuthController").ValidateSessionKeyFailure | import("@casual-simulation/aux-common").GenericResult<{
|
|
1052
|
+
found: number;
|
|
1053
|
+
outOf: number;
|
|
1054
|
+
page: number;
|
|
1055
|
+
searchTimeMs: number;
|
|
1056
|
+
hits: import("./search").SearchHit[];
|
|
1057
|
+
}, import("@casual-simulation/aux-common").SimpleError>, any>;
|
|
928
1058
|
listRecords: Procedure<{
|
|
929
1059
|
studioId?: string;
|
|
930
1060
|
userId?: string;
|
|
@@ -1062,6 +1192,14 @@ export declare class RecordsServer {
|
|
|
1062
1192
|
expireTimeMs?: number;
|
|
1063
1193
|
resourceKind?: "package.version";
|
|
1064
1194
|
action?: "create" | "read" | "update" | "delete" | "list" | "run";
|
|
1195
|
+
} | {
|
|
1196
|
+
marker?: string;
|
|
1197
|
+
subjectType?: "inst" | "user" | "role";
|
|
1198
|
+
subjectId?: string;
|
|
1199
|
+
resourceId?: string;
|
|
1200
|
+
expireTimeMs?: number;
|
|
1201
|
+
resourceKind?: "search";
|
|
1202
|
+
action?: "create" | "read" | "update" | "delete" | "list";
|
|
1065
1203
|
};
|
|
1066
1204
|
instances?: string[];
|
|
1067
1205
|
}, import("./AuthController").ValidateSessionKeyFailure | import("./PolicyController").GrantMarkerPermissionSuccess | import("./PolicyController").GrantMarkerPermissionFailure | {
|
|
@@ -1076,7 +1214,7 @@ export declare class RecordsServer {
|
|
|
1076
1214
|
listPermissions: Procedure<{
|
|
1077
1215
|
recordName?: string;
|
|
1078
1216
|
marker?: string;
|
|
1079
|
-
resourceKind?: "data" | "role" | "event" | "inst" | "file" | "marker" | "loom" | "ai.sloyd" | "ai.hume" | "ai.openai.realtime" | "webhook" | "notification" | "package" | "package.version";
|
|
1217
|
+
resourceKind?: "search" | "data" | "role" | "event" | "inst" | "file" | "marker" | "loom" | "ai.sloyd" | "ai.hume" | "ai.openai.realtime" | "webhook" | "notification" | "package" | "package.version";
|
|
1080
1218
|
resourceId?: string;
|
|
1081
1219
|
}, import("./AuthController").ValidateSessionKeyFailure | import("./PolicyController").ListPermissionsFailure | import("./PolicyController").ListPermissionsForMarkerSuccess | import("./PolicyController").ListPermissionsForResourceSuccess, any>;
|
|
1082
1220
|
listUserRoles: Procedure<{
|
|
@@ -1114,7 +1252,7 @@ export declare class RecordsServer {
|
|
|
1114
1252
|
packageId?: string;
|
|
1115
1253
|
userId?: string;
|
|
1116
1254
|
recordName?: string;
|
|
1117
|
-
feature?: "data" | "event" | "inst" | "file" | "webhook" | "notification" | "package" | "permissions" | "ai";
|
|
1255
|
+
feature?: "search" | "data" | "event" | "inst" | "file" | "webhook" | "notification" | "package" | "permissions" | "ai";
|
|
1118
1256
|
scope?: "designated";
|
|
1119
1257
|
expireTimeMs?: number;
|
|
1120
1258
|
}, import("./PolicyController").GrantEntitlementResult, any>;
|
|
@@ -1339,6 +1477,7 @@ export declare class RecordsServer {
|
|
|
1339
1477
|
id?: string;
|
|
1340
1478
|
displayName?: string;
|
|
1341
1479
|
logoUrl?: string;
|
|
1480
|
+
logoBackgroundColor?: string;
|
|
1342
1481
|
comIdConfig?: {
|
|
1343
1482
|
allowedStudioCreators?: "anyone" | "only-members";
|
|
1344
1483
|
};
|
|
@@ -1350,6 +1489,7 @@ export declare class RecordsServer {
|
|
|
1350
1489
|
allowedBiosOptions?: ("studio" | "enter join code" | "join inst" | "static inst" | "local inst" | "local" | "public inst" | "private inst" | "free inst" | "free" | "studio inst" | "sign in" | "sign up" | "sign out" | "delete inst")[];
|
|
1351
1490
|
defaultBiosOption?: "studio" | "enter join code" | "join inst" | "static inst" | "local inst" | "local" | "public inst" | "private inst" | "free inst" | "free" | "studio inst" | "sign in" | "sign up" | "sign out" | "delete inst";
|
|
1352
1491
|
automaticBiosOption?: "studio" | "enter join code" | "join inst" | "static inst" | "local inst" | "local" | "public inst" | "private inst" | "free inst" | "free" | "studio inst" | "sign in" | "sign up" | "sign out" | "delete inst";
|
|
1492
|
+
logoBackgroundColor?: string;
|
|
1353
1493
|
};
|
|
1354
1494
|
loomConfig?: {
|
|
1355
1495
|
appId?: string;
|
|
@@ -1520,7 +1660,7 @@ export declare class RecordsServer {
|
|
|
1520
1660
|
success: true;
|
|
1521
1661
|
}, any>;
|
|
1522
1662
|
};
|
|
1523
|
-
constructor({ allowedAccountOrigins, allowedApiOrigins, authController, livekitController, recordsController, eventsController, dataController, manualDataController, filesController, subscriptionController, websocketController, websocketRateLimitController, rateLimitController, policyController, aiController, moderationController, loomController, webhooksController, notificationsController, packagesController, packageVersionController, }: RecordsServerOptions);
|
|
1663
|
+
constructor({ allowedAccountOrigins, allowedApiOrigins, authController, livekitController, recordsController, eventsController, dataController, manualDataController, filesController, subscriptionController, websocketController, websocketRateLimitController, rateLimitController, policyController, aiController, moderationController, loomController, webhooksController, notificationsController, packagesController, packageVersionController, searchRecordsController, }: RecordsServerOptions);
|
|
1524
1664
|
private _createProcedures;
|
|
1525
1665
|
private _setupRoutes;
|
|
1526
1666
|
/**
|
package/RecordsServer.js
CHANGED
|
@@ -41,6 +41,8 @@ import { eraseItemProcedure, getItemProcedure, listItemsProcedure, recordItemPro
|
|
|
41
41
|
import { merge, omit } from 'lodash';
|
|
42
42
|
import { PUSH_NOTIFICATION_PAYLOAD, PUSH_SUBSCRIPTION_SCHEMA, } from './notifications';
|
|
43
43
|
import { getPackageVersionSpecifier } from './packages/version/PackageVersionRecordsStore';
|
|
44
|
+
import { SEARCH_COLLECTION_SCHEMA, SEARCH_DOCUMENT_SCHEMA } from './search';
|
|
45
|
+
import { genericResult } from '@casual-simulation/aux-common';
|
|
44
46
|
export const NOT_LOGGED_IN_RESULT = {
|
|
45
47
|
success: false,
|
|
46
48
|
errorCode: 'not_logged_in',
|
|
@@ -119,7 +121,7 @@ export class RecordsServer {
|
|
|
119
121
|
get procedures() {
|
|
120
122
|
return this._procedures;
|
|
121
123
|
}
|
|
122
|
-
constructor({ allowedAccountOrigins, allowedApiOrigins, authController, livekitController, recordsController, eventsController, dataController, manualDataController, filesController, subscriptionController, websocketController, websocketRateLimitController, rateLimitController, policyController, aiController, moderationController, loomController, webhooksController, notificationsController, packagesController, packageVersionController, }) {
|
|
124
|
+
constructor({ allowedAccountOrigins, allowedApiOrigins, authController, livekitController, recordsController, eventsController, dataController, manualDataController, filesController, subscriptionController, websocketController, websocketRateLimitController, rateLimitController, policyController, aiController, moderationController, loomController, webhooksController, notificationsController, packagesController, packageVersionController, searchRecordsController, }) {
|
|
123
125
|
/**
|
|
124
126
|
* The map of paths to routes that they match.
|
|
125
127
|
*/
|
|
@@ -146,6 +148,7 @@ export class RecordsServer {
|
|
|
146
148
|
this._notificationsController = notificationsController;
|
|
147
149
|
this._packagesController = packagesController;
|
|
148
150
|
this._packageVersionController = packageVersionController;
|
|
151
|
+
this._searchRecordsController = searchRecordsController;
|
|
149
152
|
this._tracer = trace.getTracer('RecordsServer', typeof GIT_TAG === 'undefined' ? undefined : GIT_TAG);
|
|
150
153
|
this._procedures = this._createProcedures();
|
|
151
154
|
this._setupRoutes();
|
|
@@ -1603,6 +1606,207 @@ export class RecordsServer {
|
|
|
1603
1606
|
});
|
|
1604
1607
|
return result;
|
|
1605
1608
|
}),
|
|
1609
|
+
recordSearchCollection: recordItemProcedure(this._auth, this._searchRecordsController, z.object({
|
|
1610
|
+
address: ADDRESS_VALIDATION,
|
|
1611
|
+
markers: MARKERS_VALIDATION,
|
|
1612
|
+
schema: SEARCH_COLLECTION_SCHEMA,
|
|
1613
|
+
}), procedure()
|
|
1614
|
+
.origins('api')
|
|
1615
|
+
.http('POST', '/api/v2/records/search/collection')),
|
|
1616
|
+
getSearchCollection: getItemProcedure(this._auth, this._searchRecordsController, procedure()
|
|
1617
|
+
.origins('api')
|
|
1618
|
+
.http('GET', '/api/v2/records/search/collection')),
|
|
1619
|
+
eraseSearchCollection: eraseItemProcedure(this._auth, this._searchRecordsController, procedure()
|
|
1620
|
+
.origins('api')
|
|
1621
|
+
.http('DELETE', '/api/v2/records/search/collection')),
|
|
1622
|
+
listSearchCollections: listItemsProcedure(this._auth, this._searchRecordsController, procedure()
|
|
1623
|
+
.origins('api')
|
|
1624
|
+
.http('GET', '/api/v2/records/search/collection/list')),
|
|
1625
|
+
recordSearchDocument: procedure()
|
|
1626
|
+
.origins('api')
|
|
1627
|
+
.http('POST', '/api/v2/records/search/document')
|
|
1628
|
+
.inputs(z.object({
|
|
1629
|
+
recordName: RECORD_NAME_VALIDATION,
|
|
1630
|
+
address: ADDRESS_VALIDATION,
|
|
1631
|
+
document: SEARCH_DOCUMENT_SCHEMA,
|
|
1632
|
+
instances: INSTANCES_ARRAY_VALIDATION.optional(),
|
|
1633
|
+
}))
|
|
1634
|
+
.handler(async ({ recordName, address, document, instances }, context) => {
|
|
1635
|
+
if (!this._searchRecordsController) {
|
|
1636
|
+
return {
|
|
1637
|
+
success: false,
|
|
1638
|
+
errorCode: 'not_supported',
|
|
1639
|
+
errorMessage: 'This feature is not supported.',
|
|
1640
|
+
};
|
|
1641
|
+
}
|
|
1642
|
+
const validation = await this._validateSessionKey(context.sessionKey);
|
|
1643
|
+
if (validation.success === false) {
|
|
1644
|
+
if (validation.errorCode === 'no_session_key') {
|
|
1645
|
+
return NOT_LOGGED_IN_RESULT;
|
|
1646
|
+
}
|
|
1647
|
+
return validation;
|
|
1648
|
+
}
|
|
1649
|
+
const result = await this._searchRecordsController.storeDocument({
|
|
1650
|
+
recordName,
|
|
1651
|
+
address,
|
|
1652
|
+
document,
|
|
1653
|
+
userId: validation.userId,
|
|
1654
|
+
instances,
|
|
1655
|
+
});
|
|
1656
|
+
return genericResult(result);
|
|
1657
|
+
}),
|
|
1658
|
+
eraseSearchDocument: procedure()
|
|
1659
|
+
.origins('api')
|
|
1660
|
+
.http('DELETE', '/api/v2/records/search/document')
|
|
1661
|
+
.inputs(z.object({
|
|
1662
|
+
recordName: RECORD_NAME_VALIDATION,
|
|
1663
|
+
address: ADDRESS_VALIDATION,
|
|
1664
|
+
documentId: z.string().min(1).max(256),
|
|
1665
|
+
instances: INSTANCES_ARRAY_VALIDATION.optional(),
|
|
1666
|
+
}))
|
|
1667
|
+
.handler(async ({ recordName, address, documentId, instances }, context) => {
|
|
1668
|
+
if (!this._searchRecordsController) {
|
|
1669
|
+
return {
|
|
1670
|
+
success: false,
|
|
1671
|
+
errorCode: 'not_supported',
|
|
1672
|
+
errorMessage: 'This feature is not supported.',
|
|
1673
|
+
};
|
|
1674
|
+
}
|
|
1675
|
+
const validation = await this._validateSessionKey(context.sessionKey);
|
|
1676
|
+
if (validation.success === false) {
|
|
1677
|
+
if (validation.errorCode === 'no_session_key') {
|
|
1678
|
+
return NOT_LOGGED_IN_RESULT;
|
|
1679
|
+
}
|
|
1680
|
+
return validation;
|
|
1681
|
+
}
|
|
1682
|
+
const result = await this._searchRecordsController.eraseDocument({
|
|
1683
|
+
recordName,
|
|
1684
|
+
address,
|
|
1685
|
+
documentId,
|
|
1686
|
+
userId: validation.userId,
|
|
1687
|
+
instances,
|
|
1688
|
+
});
|
|
1689
|
+
return genericResult(result);
|
|
1690
|
+
}),
|
|
1691
|
+
syncSearchRecord: procedure()
|
|
1692
|
+
.origins('api')
|
|
1693
|
+
.http('POST', '/api/v2/records/search/sync')
|
|
1694
|
+
.inputs(z.object({
|
|
1695
|
+
recordName: RECORD_NAME_VALIDATION,
|
|
1696
|
+
address: ADDRESS_VALIDATION,
|
|
1697
|
+
targetRecordName: RECORD_NAME_VALIDATION,
|
|
1698
|
+
targetResourceKind: z.enum(['data']),
|
|
1699
|
+
targetMarker: MARKER_VALIDATION,
|
|
1700
|
+
targetMapping: z
|
|
1701
|
+
.array(z.tuple([
|
|
1702
|
+
z.string().max(100),
|
|
1703
|
+
z.string().max(100),
|
|
1704
|
+
]))
|
|
1705
|
+
.max(100),
|
|
1706
|
+
instances: INSTANCES_ARRAY_VALIDATION.optional(),
|
|
1707
|
+
}))
|
|
1708
|
+
.handler(async ({ recordName, address, targetRecordName, targetResourceKind, targetMarker, targetMapping, instances, }, context) => {
|
|
1709
|
+
if (!this._searchRecordsController) {
|
|
1710
|
+
return {
|
|
1711
|
+
success: false,
|
|
1712
|
+
errorCode: 'not_supported',
|
|
1713
|
+
errorMessage: 'This feature is not supported.',
|
|
1714
|
+
};
|
|
1715
|
+
}
|
|
1716
|
+
const validation = await this._validateSessionKey(context.sessionKey);
|
|
1717
|
+
if (validation.success === false) {
|
|
1718
|
+
if (validation.errorCode === 'no_session_key') {
|
|
1719
|
+
return NOT_LOGGED_IN_RESULT;
|
|
1720
|
+
}
|
|
1721
|
+
return validation;
|
|
1722
|
+
}
|
|
1723
|
+
const result = await this._searchRecordsController.sync({
|
|
1724
|
+
recordName,
|
|
1725
|
+
address,
|
|
1726
|
+
targetRecordName,
|
|
1727
|
+
targetResourceKind,
|
|
1728
|
+
targetMarker,
|
|
1729
|
+
targetMapping: targetMapping,
|
|
1730
|
+
userId: validation.userId,
|
|
1731
|
+
instances: instances !== null && instances !== void 0 ? instances : [],
|
|
1732
|
+
});
|
|
1733
|
+
return genericResult(result);
|
|
1734
|
+
}),
|
|
1735
|
+
unsyncSearchRecord: procedure()
|
|
1736
|
+
.origins('api')
|
|
1737
|
+
.http('POST', '/api/v2/records/search/unsync')
|
|
1738
|
+
.inputs(z.object({
|
|
1739
|
+
syncId: z.string().min(1),
|
|
1740
|
+
instances: INSTANCES_ARRAY_VALIDATION.optional(),
|
|
1741
|
+
}))
|
|
1742
|
+
.handler(async ({ syncId, instances }, context) => {
|
|
1743
|
+
if (!this._searchRecordsController) {
|
|
1744
|
+
return {
|
|
1745
|
+
success: false,
|
|
1746
|
+
errorCode: 'not_supported',
|
|
1747
|
+
errorMessage: 'This feature is not supported.',
|
|
1748
|
+
};
|
|
1749
|
+
}
|
|
1750
|
+
const validation = await this._validateSessionKey(context.sessionKey);
|
|
1751
|
+
if (validation.success === false) {
|
|
1752
|
+
if (validation.errorCode === 'no_session_key') {
|
|
1753
|
+
return NOT_LOGGED_IN_RESULT;
|
|
1754
|
+
}
|
|
1755
|
+
return validation;
|
|
1756
|
+
}
|
|
1757
|
+
const result = await this._searchRecordsController.unsync({
|
|
1758
|
+
syncId,
|
|
1759
|
+
userId: validation.userId,
|
|
1760
|
+
instances: instances !== null && instances !== void 0 ? instances : [],
|
|
1761
|
+
});
|
|
1762
|
+
return genericResult(result);
|
|
1763
|
+
}),
|
|
1764
|
+
search: procedure()
|
|
1765
|
+
.origins('api')
|
|
1766
|
+
.http('POST', '/api/v2/records/search')
|
|
1767
|
+
.inputs(z.object({
|
|
1768
|
+
recordName: RECORD_NAME_VALIDATION,
|
|
1769
|
+
address: ADDRESS_VALIDATION,
|
|
1770
|
+
query: z
|
|
1771
|
+
.object({
|
|
1772
|
+
q: z.string().min(1).max(1024),
|
|
1773
|
+
queryBy: z.string().min(1).max(1024),
|
|
1774
|
+
filterBy: z
|
|
1775
|
+
.string()
|
|
1776
|
+
.min(1)
|
|
1777
|
+
.max(1024)
|
|
1778
|
+
.optional()
|
|
1779
|
+
.nullable(),
|
|
1780
|
+
})
|
|
1781
|
+
.catchall(z.union([
|
|
1782
|
+
z.string().max(1024),
|
|
1783
|
+
z.boolean(),
|
|
1784
|
+
z.number(),
|
|
1785
|
+
])),
|
|
1786
|
+
instances: INSTANCES_ARRAY_VALIDATION.optional(),
|
|
1787
|
+
}))
|
|
1788
|
+
.handler(async ({ recordName, address, query, instances }, context) => {
|
|
1789
|
+
if (!this._searchRecordsController) {
|
|
1790
|
+
return {
|
|
1791
|
+
success: false,
|
|
1792
|
+
errorCode: 'not_supported',
|
|
1793
|
+
errorMessage: 'This feature is not supported.',
|
|
1794
|
+
};
|
|
1795
|
+
}
|
|
1796
|
+
const validation = await this._validateSessionKey(context.sessionKey);
|
|
1797
|
+
if (validation.success === false &&
|
|
1798
|
+
validation.errorCode !== 'no_session_key') {
|
|
1799
|
+
return validation;
|
|
1800
|
+
}
|
|
1801
|
+
const result = await this._searchRecordsController.search({
|
|
1802
|
+
recordName,
|
|
1803
|
+
address,
|
|
1804
|
+
query: query,
|
|
1805
|
+
userId: validation.userId,
|
|
1806
|
+
instances: instances !== null && instances !== void 0 ? instances : [],
|
|
1807
|
+
});
|
|
1808
|
+
return genericResult(result);
|
|
1809
|
+
}),
|
|
1606
1810
|
listRecords: procedure()
|
|
1607
1811
|
.origins('api')
|
|
1608
1812
|
.http('GET', '/api/v2/records/list')
|
|
@@ -2474,6 +2678,15 @@ export class RecordsServer {
|
|
|
2474
2678
|
.max(512)
|
|
2475
2679
|
.nullable()
|
|
2476
2680
|
.optional(),
|
|
2681
|
+
logoBackgroundColor: z
|
|
2682
|
+
.string({
|
|
2683
|
+
invalid_type_error: 'logoBackgroundColor must be a string.',
|
|
2684
|
+
required_error: 'logoBackgroundColor is required.',
|
|
2685
|
+
})
|
|
2686
|
+
.min(1)
|
|
2687
|
+
.max(32)
|
|
2688
|
+
.nullable()
|
|
2689
|
+
.optional(),
|
|
2477
2690
|
comIdConfig: COM_ID_CONFIG_SCHEMA.optional(),
|
|
2478
2691
|
playerConfig: COM_ID_PLAYER_CONFIG.optional(),
|
|
2479
2692
|
loomConfig: LOOM_CONFIG.optional(),
|