velocious 1.0.241 → 1.0.243

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.
Files changed (35) hide show
  1. package/README.md +25 -13
  2. package/build/src/configuration-types.d.ts +16 -13
  3. package/build/src/configuration-types.d.ts.map +1 -1
  4. package/build/src/configuration-types.js +11 -6
  5. package/build/src/controller.d.ts.map +1 -1
  6. package/build/src/controller.js +21 -5
  7. package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.d.ts +8 -6
  8. package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.d.ts.map +1 -1
  9. package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.js +16 -7
  10. package/build/src/frontend-model-controller.d.ts +9 -6
  11. package/build/src/frontend-model-controller.d.ts.map +1 -1
  12. package/build/src/frontend-model-controller.js +69 -180
  13. package/build/src/frontend-model-resource/base-resource.d.ts +120 -0
  14. package/build/src/frontend-model-resource/base-resource.d.ts.map +1 -0
  15. package/build/src/frontend-model-resource/base-resource.js +160 -0
  16. package/build/src/frontend-models/base.d.ts +2 -14
  17. package/build/src/frontend-models/base.d.ts.map +1 -1
  18. package/build/src/frontend-models/base.js +17 -48
  19. package/build/src/frontend-models/resource-definition.d.ts +35 -0
  20. package/build/src/frontend-models/resource-definition.d.ts.map +1 -0
  21. package/build/src/frontend-models/resource-definition.js +118 -0
  22. package/build/src/http-server/client/index.d.ts.map +1 -1
  23. package/build/src/http-server/client/index.js +13 -2
  24. package/build/src/http-server/client/params-to-object.d.ts +2 -1
  25. package/build/src/http-server/client/params-to-object.d.ts.map +1 -1
  26. package/build/src/http-server/client/params-to-object.js +26 -5
  27. package/build/src/http-server/client/request-buffer/index.d.ts.map +1 -1
  28. package/build/src/http-server/client/request-buffer/index.js +35 -6
  29. package/build/src/http-server/client/request-parser.d.ts.map +1 -1
  30. package/build/src/http-server/client/request-parser.js +19 -4
  31. package/build/src/http-server/worker-handler/index.js +2 -2
  32. package/build/src/routes/hooks/frontend-model-command-route-hook.d.ts.map +1 -1
  33. package/build/src/routes/hooks/frontend-model-command-route-hook.js +11 -90
  34. package/build/tsconfig.tsbuildinfo +1 -1
  35. package/package.json +3 -3
@@ -0,0 +1,120 @@
1
+ /**
2
+ * Base class for backend frontend-model resources.
3
+ */
4
+ export default class FrontendModelBaseResource {
5
+ /** @type {Record<string, any> | string[] | undefined} */
6
+ static attributes: Record<string, any> | string[] | undefined;
7
+ /** @type {Record<string, string> | undefined} */
8
+ static abilities: Record<string, string> | undefined;
9
+ /** @type {Record<string, any> | undefined} */
10
+ static attachments: Record<string, any> | undefined;
11
+ /** @type {Record<string, string> | undefined} */
12
+ static commands: Record<string, string> | undefined;
13
+ /** @type {string | undefined} */
14
+ static path: string | undefined;
15
+ /** @type {Record<string, any> | undefined} */
16
+ static relationships: Record<string, any> | undefined;
17
+ /**
18
+ * @returns {import("../configuration-types.js").FrontendModelResourceConfiguration} - Static resource config.
19
+ */
20
+ static resourceConfig(): import("../configuration-types.js").FrontendModelResourceConfiguration;
21
+ /**
22
+ * @param {object} args - Resource args.
23
+ * @param {import("../controller.js").default} args.controller - Frontend-model controller.
24
+ * @param {typeof import("../database/record/index.js").default} args.modelClass - Model class.
25
+ * @param {string} args.modelName - Model class name.
26
+ * @param {Record<string, any>} args.params - Request params.
27
+ * @param {import("../configuration-types.js").FrontendModelResourceConfiguration} args.resourceConfiguration - Normalized resource config.
28
+ */
29
+ constructor({ controller, modelClass, modelName, params, resourceConfiguration }: {
30
+ controller: import("../controller.js").default;
31
+ modelClass: typeof import("../database/record/index.js").default;
32
+ modelName: string;
33
+ params: Record<string, any>;
34
+ resourceConfiguration: import("../configuration-types.js").FrontendModelResourceConfiguration;
35
+ });
36
+ controller: import("../controller.js").default;
37
+ modelClassValue: typeof import("../database/record/index.js").default;
38
+ modelNameValue: string;
39
+ paramsValue: Record<string, any>;
40
+ resourceConfigurationValue: import("../configuration-types.js").FrontendModelResourceConfiguration;
41
+ /**
42
+ * @returns {import("../controller.js").default & {
43
+ * frontendModelAuthorizedQuery: (action: "index" | "find" | "create" | "update" | "destroy" | "attach" | "download" | "url") => import("../database/query/model-class-query.js").default<any>,
44
+ * frontendModelIndexQuery: () => import("../database/query/model-class-query.js").default<any>,
45
+ * frontendModelPreload: () => import("../database/query/index.js").NestedPreloadRecord | null,
46
+ * serializeFrontendModel: (model: import("../database/record/index.js").default) => Promise<Record<string, any>>
47
+ * }} - Controller instance with frontend-model helpers.
48
+ */
49
+ typedControllerInstance(): import("../controller.js").default & {
50
+ frontendModelAuthorizedQuery: (action: "index" | "find" | "create" | "update" | "destroy" | "attach" | "download" | "url") => import("../database/query/model-class-query.js").default<any>;
51
+ frontendModelIndexQuery: () => import("../database/query/model-class-query.js").default<any>;
52
+ frontendModelPreload: () => import("../database/query/index.js").NestedPreloadRecord | null;
53
+ serializeFrontendModel: (model: import("../database/record/index.js").default) => Promise<Record<string, any>>;
54
+ };
55
+ /** @returns {import("../controller.js").default} - Controller instance. */
56
+ controllerInstance(): import("../controller.js").default;
57
+ /** @returns {typeof import("../database/record/index.js").default} - Model class. */
58
+ modelClass(): typeof import("../database/record/index.js").default;
59
+ /** @returns {string} - Model name. */
60
+ modelName(): string;
61
+ /** @returns {Record<string, any>} - Params. */
62
+ params(): Record<string, any>;
63
+ /** @returns {import("../configuration-types.js").FrontendModelResourceConfiguration} - Normalized resource config. */
64
+ resourceConfiguration(): import("../configuration-types.js").FrontendModelResourceConfiguration;
65
+ /** @returns {string} - Primary key. */
66
+ primaryKey(): string;
67
+ /**
68
+ * @param {"index" | "find" | "create" | "update" | "destroy" | "attach" | "download" | "url"} action - Ability action.
69
+ * @returns {import("../database/query/model-class-query.js").default<any>} - Authorized query.
70
+ */
71
+ authorizedQuery(action: "index" | "find" | "create" | "update" | "destroy" | "attach" | "download" | "url"): import("../database/query/model-class-query.js").default<any>;
72
+ /**
73
+ * @param {"index" | "find" | "create" | "update" | "destroy" | "attach" | "download" | "url"} action - Action.
74
+ * @returns {boolean | Promise<boolean>} - Whether pluck is supported.
75
+ */
76
+ supportsPluck(action: "index" | "find" | "create" | "update" | "destroy" | "attach" | "download" | "url"): boolean | Promise<boolean>;
77
+ /**
78
+ * @param {"index" | "find" | "create" | "update" | "destroy" | "attach" | "download" | "url"} action - Action.
79
+ * @returns {boolean | void | Promise<boolean | void>} - Continue processing unless false.
80
+ */
81
+ beforeAction(action: "index" | "find" | "create" | "update" | "destroy" | "attach" | "download" | "url"): boolean | void | Promise<boolean | void>;
82
+ /**
83
+ * @returns {Promise<import("../database/record/index.js").default[]>} - Records for index action.
84
+ */
85
+ records(): Promise<import("../database/record/index.js").default[]>;
86
+ /**
87
+ * @param {"find" | "update" | "destroy" | "attach" | "download" | "url"} action - Action.
88
+ * @param {string | number} id - Record id.
89
+ * @returns {Promise<import("../database/record/index.js").default | null>} - Located model.
90
+ */
91
+ find(action: "find" | "update" | "destroy" | "attach" | "download" | "url", id: string | number): Promise<import("../database/record/index.js").default | null>;
92
+ /**
93
+ * @param {Record<string, any>} attributes - Create attributes.
94
+ * @returns {Promise<import("../database/record/index.js").default>} - Created model.
95
+ */
96
+ create(attributes: Record<string, any>): Promise<import("../database/record/index.js").default>;
97
+ /**
98
+ * @param {import("../database/record/index.js").default} model - Created model.
99
+ * @returns {Promise<void>} - Cleanup after failed authorization.
100
+ */
101
+ handleUnauthorizedCreatedModel(model: import("../database/record/index.js").default): Promise<void>;
102
+ /**
103
+ * @param {import("../database/record/index.js").default} model - Existing model.
104
+ * @param {Record<string, any>} attributes - Update attributes.
105
+ * @returns {Promise<import("../database/record/index.js").default>} - Updated model.
106
+ */
107
+ update(model: import("../database/record/index.js").default, attributes: Record<string, any>): Promise<import("../database/record/index.js").default>;
108
+ /**
109
+ * @param {import("../database/record/index.js").default} model - Existing model.
110
+ * @returns {Promise<void>} - No return value.
111
+ */
112
+ destroy(model: import("../database/record/index.js").default): Promise<void>;
113
+ /**
114
+ * @param {import("../database/record/index.js").default} model - Model to serialize.
115
+ * @param {"index" | "find" | "create" | "update"} [action] - Action.
116
+ * @returns {Promise<Record<string, any>>} - Serialized model payload.
117
+ */
118
+ serialize(model: import("../database/record/index.js").default, action?: "index" | "find" | "create" | "update"): Promise<Record<string, any>>;
119
+ }
120
+ //# sourceMappingURL=base-resource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-resource.d.ts","sourceRoot":"","sources":["../../../src/frontend-model-resource/base-resource.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,160 @@
1
+ // @ts-check
2
+ /**
3
+ * Base class for backend frontend-model resources.
4
+ */
5
+ export default class FrontendModelBaseResource {
6
+ /** @type {Record<string, any> | string[] | undefined} */
7
+ static attributes = undefined;
8
+ /** @type {Record<string, string> | undefined} */
9
+ static abilities = undefined;
10
+ /** @type {Record<string, any> | undefined} */
11
+ static attachments = undefined;
12
+ /** @type {Record<string, string> | undefined} */
13
+ static commands = undefined;
14
+ /** @type {string | undefined} */
15
+ static path = undefined;
16
+ /** @type {Record<string, any> | undefined} */
17
+ static relationships = undefined;
18
+ /**
19
+ * @param {object} args - Resource args.
20
+ * @param {import("../controller.js").default} args.controller - Frontend-model controller.
21
+ * @param {typeof import("../database/record/index.js").default} args.modelClass - Model class.
22
+ * @param {string} args.modelName - Model class name.
23
+ * @param {Record<string, any>} args.params - Request params.
24
+ * @param {import("../configuration-types.js").FrontendModelResourceConfiguration} args.resourceConfiguration - Normalized resource config.
25
+ */
26
+ constructor({ controller, modelClass, modelName, params, resourceConfiguration }) {
27
+ this.controller = controller;
28
+ this.modelClassValue = modelClass;
29
+ this.modelNameValue = modelName;
30
+ this.paramsValue = params;
31
+ this.resourceConfigurationValue = resourceConfiguration;
32
+ }
33
+ /**
34
+ * @returns {import("../controller.js").default & {
35
+ * frontendModelAuthorizedQuery: (action: "index" | "find" | "create" | "update" | "destroy" | "attach" | "download" | "url") => import("../database/query/model-class-query.js").default<any>,
36
+ * frontendModelIndexQuery: () => import("../database/query/model-class-query.js").default<any>,
37
+ * frontendModelPreload: () => import("../database/query/index.js").NestedPreloadRecord | null,
38
+ * serializeFrontendModel: (model: import("../database/record/index.js").default) => Promise<Record<string, any>>
39
+ * }} - Controller instance with frontend-model helpers.
40
+ */
41
+ typedControllerInstance() {
42
+ return /** @type {any} */ (this.controller);
43
+ }
44
+ /**
45
+ * @returns {import("../configuration-types.js").FrontendModelResourceConfiguration} - Static resource config.
46
+ */
47
+ static resourceConfig() {
48
+ /** @type {import("../configuration-types.js").FrontendModelResourceConfiguration} */
49
+ const config = {
50
+ abilities: this.abilities || {},
51
+ attributes: this.attributes || []
52
+ };
53
+ if (this.attachments)
54
+ config.attachments = this.attachments;
55
+ if (this.commands)
56
+ config.commands = this.commands;
57
+ if (this.path)
58
+ config.path = this.path;
59
+ if (this.relationships)
60
+ config.relationships = this.relationships;
61
+ return config;
62
+ }
63
+ /** @returns {import("../controller.js").default} - Controller instance. */
64
+ controllerInstance() { return this.controller; }
65
+ /** @returns {typeof import("../database/record/index.js").default} - Model class. */
66
+ modelClass() { return this.modelClassValue; }
67
+ /** @returns {string} - Model name. */
68
+ modelName() { return this.modelNameValue; }
69
+ /** @returns {Record<string, any>} - Params. */
70
+ params() { return this.paramsValue; }
71
+ /** @returns {import("../configuration-types.js").FrontendModelResourceConfiguration} - Normalized resource config. */
72
+ resourceConfiguration() { return this.resourceConfigurationValue; }
73
+ /** @returns {string} - Primary key. */
74
+ primaryKey() { return this.modelClass().primaryKey(); }
75
+ /**
76
+ * @param {"index" | "find" | "create" | "update" | "destroy" | "attach" | "download" | "url"} action - Ability action.
77
+ * @returns {import("../database/query/model-class-query.js").default<any>} - Authorized query.
78
+ */
79
+ authorizedQuery(action) {
80
+ return this.typedControllerInstance().frontendModelAuthorizedQuery(action);
81
+ }
82
+ /**
83
+ * @param {"index" | "find" | "create" | "update" | "destroy" | "attach" | "download" | "url"} action - Action.
84
+ * @returns {boolean | Promise<boolean>} - Whether pluck is supported.
85
+ */
86
+ supportsPluck(action) {
87
+ void action;
88
+ return Object.getPrototypeOf(this).records === FrontendModelBaseResource.prototype.records;
89
+ }
90
+ /**
91
+ * @param {"index" | "find" | "create" | "update" | "destroy" | "attach" | "download" | "url"} action - Action.
92
+ * @returns {boolean | void | Promise<boolean | void>} - Continue processing unless false.
93
+ */
94
+ beforeAction(action) {
95
+ void action;
96
+ // No-op by default.
97
+ }
98
+ /**
99
+ * @returns {Promise<import("../database/record/index.js").default[]>} - Records for index action.
100
+ */
101
+ async records() {
102
+ return await this.typedControllerInstance().frontendModelIndexQuery().toArray();
103
+ }
104
+ /**
105
+ * @param {"find" | "update" | "destroy" | "attach" | "download" | "url"} action - Action.
106
+ * @param {string | number} id - Record id.
107
+ * @returns {Promise<import("../database/record/index.js").default | null>} - Located model.
108
+ */
109
+ async find(action, id) {
110
+ let query = this.authorizedQuery(action);
111
+ const preload = action === "find" ? this.typedControllerInstance().frontendModelPreload() : null;
112
+ if (preload) {
113
+ query = query.preload(preload);
114
+ }
115
+ return await query.findBy({ [this.primaryKey()]: id });
116
+ }
117
+ /**
118
+ * @param {Record<string, any>} attributes - Create attributes.
119
+ * @returns {Promise<import("../database/record/index.js").default>} - Created model.
120
+ */
121
+ async create(attributes) {
122
+ const model = new (this.modelClass())(attributes);
123
+ await model.save();
124
+ return model;
125
+ }
126
+ /**
127
+ * @param {import("../database/record/index.js").default} model - Created model.
128
+ * @returns {Promise<void>} - Cleanup after failed authorization.
129
+ */
130
+ async handleUnauthorizedCreatedModel(model) {
131
+ await model.destroy();
132
+ }
133
+ /**
134
+ * @param {import("../database/record/index.js").default} model - Existing model.
135
+ * @param {Record<string, any>} attributes - Update attributes.
136
+ * @returns {Promise<import("../database/record/index.js").default>} - Updated model.
137
+ */
138
+ async update(model, attributes) {
139
+ model.assign(attributes);
140
+ await model.save();
141
+ return model;
142
+ }
143
+ /**
144
+ * @param {import("../database/record/index.js").default} model - Existing model.
145
+ * @returns {Promise<void>} - No return value.
146
+ */
147
+ async destroy(model) {
148
+ await model.destroy();
149
+ }
150
+ /**
151
+ * @param {import("../database/record/index.js").default} model - Model to serialize.
152
+ * @param {"index" | "find" | "create" | "update"} [action] - Action.
153
+ * @returns {Promise<Record<string, any>>} - Serialized model payload.
154
+ */
155
+ async serialize(model, action) {
156
+ void action;
157
+ return await this.typedControllerInstance().serializeFrontendModel(model);
158
+ }
159
+ }
160
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1yZXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9mcm9udGVuZC1tb2RlbC1yZXNvdXJjZS9iYXNlLXJlc291cmNlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWjs7R0FFRztBQUNILE1BQU0sQ0FBQyxPQUFPLE9BQU8seUJBQXlCO0lBQzVDLHlEQUF5RDtJQUN6RCxNQUFNLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQTtJQUM3QixpREFBaUQ7SUFDakQsTUFBTSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUE7SUFDNUIsOENBQThDO0lBQzlDLE1BQU0sQ0FBQyxXQUFXLEdBQUcsU0FBUyxDQUFBO0lBQzlCLGlEQUFpRDtJQUNqRCxNQUFNLENBQUMsUUFBUSxHQUFHLFNBQVMsQ0FBQTtJQUMzQixpQ0FBaUM7SUFDakMsTUFBTSxDQUFDLElBQUksR0FBRyxTQUFTLENBQUE7SUFDdkIsOENBQThDO0lBQzlDLE1BQU0sQ0FBQyxhQUFhLEdBQUcsU0FBUyxDQUFBO0lBRWhDOzs7Ozs7O09BT0c7SUFDSCxZQUFZLEVBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLHFCQUFxQixFQUFDO1FBQzVFLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFBO1FBQzVCLElBQUksQ0FBQyxlQUFlLEdBQUcsVUFBVSxDQUFBO1FBQ2pDLElBQUksQ0FBQyxjQUFjLEdBQUcsU0FBUyxDQUFBO1FBQy9CLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFBO1FBQ3pCLElBQUksQ0FBQywwQkFBMEIsR0FBRyxxQkFBcUIsQ0FBQTtJQUN6RCxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILHVCQUF1QjtRQUNyQixPQUFPLGtCQUFrQixDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQzdDLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxjQUFjO1FBQ25C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LEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQ2pELE1BQU0sS0FBSyxDQUFDLElBQUksRUFBRSxDQUFBO1FBRWxCLE9BQU8sS0FBSyxDQUFBO0lBQ2QsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxLQUFLO1FBQ3hDLE1BQU0sS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFBO0lBQ3ZCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsVUFBVTtRQUM1QixLQUFLLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQ3hCLE1BQU0sS0FBSyxDQUFDLElBQUksRUFBRSxDQUFBO1FBRWxCLE9BQU8sS0FBSyxDQUFBO0lBQ2QsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSztRQUNqQixNQUFNLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQTtJQUN2QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLE1BQU07UUFDM0IsS0FBSyxNQUFNLENBQUE7UUFFWCxPQUFPLE1BQU0sSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDM0UsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIGJhY2tlbmQgZnJvbnRlbmQtbW9kZWwgcmVzb3VyY2VzLlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBGcm9udGVuZE1vZGVsQmFzZVJlc291cmNlIHtcbiAgLyoqIEB0eXBlIHtSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgc3RyaW5nW10gfCB1bmRlZmluZWR9ICovXG4gIHN0YXRpYyBhdHRyaWJ1dGVzID0gdW5kZWZpbmVkXG4gIC8qKiBAdHlwZSB7UmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IHVuZGVmaW5lZH0gKi9cbiAgc3RhdGljIGFiaWxpdGllcyA9IHVuZGVmaW5lZFxuICAvKiogQHR5cGUge1JlY29yZDxzdHJpbmcsIGFueT4gfCB1bmRlZmluZWR9ICovXG4gIHN0YXRpYyBhdHRhY2htZW50cyA9IHVuZGVmaW5lZFxuICAvKiogQHR5cGUge1JlY29yZDxzdHJpbmcsIHN0cmluZz4gfCB1bmRlZmluZWR9ICovXG4gIHN0YXRpYyBjb21tYW5kcyA9IHVuZGVmaW5lZFxuICAvKiogQHR5cGUge3N0cmluZyB8IHVuZGVmaW5lZH0gKi9cbiAgc3RhdGljIHBhdGggPSB1bmRlZmluZWRcbiAgLyoqIEB0eXBlIHtSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgdW5kZWZpbmVkfSAqL1xuICBzdGF0aWMgcmVsYXRpb25zaGlwcyA9IHVuZGVmaW5lZFxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIFJlc291cmNlIGFyZ3MuXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vY29udHJvbGxlci5qc1wiKS5kZWZhdWx0fSBhcmdzLmNvbnRyb2xsZXIgLSBGcm9udGVuZC1tb2RlbCBjb250cm9sbGVyLlxuICAgKiBAcGFyYW0ge3R5cGVvZiBpbXBvcnQoXCIuLi9kYXRhYmFzZS9yZWNvcmQvaW5kZXguanNcIikuZGVmYXVsdH0gYXJncy5tb2RlbENsYXNzIC0gTW9kZWwgY2xhc3MuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhcmdzLm1vZGVsTmFtZSAtIE1vZGVsIGNsYXNzIG5hbWUuXG4gICAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgYW55Pn0gYXJncy5wYXJhbXMgLSBSZXF1ZXN0IHBhcmFtcy5cbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9jb25maWd1cmF0aW9uLXR5cGVzLmpzXCIpLkZyb250ZW5kTW9kZWxSZXNvdXJjZUNvbmZpZ3VyYXRpb259IGFyZ3MucmVzb3VyY2VDb25maWd1cmF0aW9uIC0gTm9ybWFsaXplZCByZXNvdXJjZSBjb25maWcuXG4gICAqL1xuICBjb25zdHJ1Y3Rvcih7Y29udHJvbGxlciwgbW9kZWxDbGFzcywgbW9kZWxOYW1lLCBwYXJhbXMsIHJlc291cmNlQ29uZmlndXJhdGlvbn0pIHtcbiAgICB0aGlzLmNvbnRyb2xsZXIgPSBjb250cm9sbGVyXG4gICAgdGhpcy5tb2RlbENsYXNzVmFsdWUgPSBtb2RlbENsYXNzXG4gICAgdGhpcy5tb2RlbE5hbWVWYWx1ZSA9IG1vZGVsTmFtZVxuICAgIHRoaXMucGFyYW1zVmFsdWUgPSBwYXJhbXNcbiAgICB0aGlzLnJlc291cmNlQ29uZmlndXJhdGlvblZhbHVlID0gcmVzb3VyY2VDb25maWd1cmF0aW9uXG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMge2ltcG9ydChcIi4uL2NvbnRyb2xsZXIuanNcIikuZGVmYXVsdCAmIHtcbiAgICogICBmcm9udGVuZE1vZGVsQXV0aG9yaXplZFF1ZXJ5OiAoYWN0aW9uOiBcImluZGV4XCIgfCBcImZpbmRcIiB8IFwiY3JlYXRlXCIgfCBcInVwZGF0ZVwiIHwgXCJkZXN0cm95XCIgfCBcImF0dGFjaFwiIHwgXCJkb3dubG9hZFwiIHwgXCJ1cmxcIikgPT4gaW1wb3J0KFwiLi4vZGF0YWJhc2UvcXVlcnkvbW9kZWwtY2xhc3MtcXVlcnkuanNcIikuZGVmYXVsdDxhbnk+LFxuICAgKiAgIGZyb250ZW5kTW9kZWxJbmRleFF1ZXJ5OiAoKSA9PiBpbXBvcnQoXCIuLi9kYXRhYmFzZS9xdWVyeS9tb2RlbC1jbGFzcy1xdWVyeS5qc1wiKS5kZWZhdWx0PGFueT4sXG4gICAqICAgZnJvbnRlbmRNb2RlbFByZWxvYWQ6ICgpID0+IGltcG9ydChcIi4uL2RhdGFiYXNlL3F1ZXJ5L2luZGV4LmpzXCIpLk5lc3RlZFByZWxvYWRSZWNvcmQgfCBudWxsLFxuICAgKiAgIHNlcmlhbGl6ZUZyb250ZW5kTW9kZWw6IChtb2RlbDogaW1wb3J0KFwiLi4vZGF0YWJhc2UvcmVjb3JkL2luZGV4LmpzXCIpLmRlZmF1bHQpID0+IFByb21pc2U8UmVjb3JkPHN0cmluZywgYW55Pj5cbiAgICogfX0gLSBDb250cm9sbGVyIGluc3RhbmNlIHdpdGggZnJvbnRlbmQtbW9kZWwgaGVscGVycy5cbiAgICovXG4gIHR5cGVkQ29udHJvbGxlckluc3RhbmNlKCkge1xuICAgIHJldHVybiAvKiogQHR5cGUge2FueX0gKi8gKHRoaXMuY29udHJvbGxlcilcbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7aW1wb3J0KFwiLi4vY29uZmlndXJhdGlvbi10eXBlcy5qc1wiKS5Gcm9udGVuZE1vZGVsUmVzb3VyY2VDb25maWd1cmF0aW9ufSAtIFN0YXRpYyByZXNvdXJjZSBjb25maWcuXG4gICAqL1xuICBzdGF0aWMgcmVzb3VyY2VDb25maWcoKSB7XG4gICAgLyoqIEB0eXBlIHtpbXBvcnQoXCIuLi9jb25maWd1cmF0aW9uLXR5cGVzLmpzXCIpLkZyb250ZW5kTW9kZWxSZXNvdXJjZUNvbmZpZ3VyYXRpb259ICovXG4gICAgY29uc3QgY29uZmlnID0ge1xuICAgICAgYWJpbGl0aWVzOiB0aGlzLmFiaWxpdGllcyB8fCB7fSxcbiAgICAgIGF0dHJpYnV0ZXM6IHRoaXMuYXR0cmlidXRlcyB8fCBbXVxuICAgIH1cblxuICAgIGlmICh0aGlzLmF0dGFjaG1lbnRzKSBjb25maWcuYXR0YWNobWVudHMgPSB0aGlzLmF0dGFjaG1lbnRzXG4gICAgaWYgKHRoaXMuY29tbWFuZHMpIGNvbmZpZy5jb21tYW5kcyA9IHRoaXMuY29tbWFuZHNcbiAgICBpZiAodGhpcy5wYXRoKSBjb25maWcucGF0aCA9IHRoaXMucGF0aFxuICAgIGlmICh0aGlzLnJlbGF0aW9uc2hpcHMpIGNvbmZpZy5yZWxhdGlvbnNoaXBzID0gdGhpcy5yZWxhdGlvbnNoaXBzXG5cbiAgICByZXR1cm4gY29uZmlnXG4gIH1cblxuICAvKiogQHJldHVybnMge2ltcG9ydChcIi4uL2NvbnRyb2xsZXIuanNcIikuZGVmYXVsdH0gLSBDb250cm9sbGVyIGluc3RhbmNlLiAqL1xuICBjb250cm9sbGVySW5zdGFuY2UoKSB7IHJldHVybiB0aGlzLmNvbnRyb2xsZXIgfVxuXG4gIC8qKiBAcmV0dXJucyB7dHlwZW9mIGltcG9ydChcIi4uL2RhdGFiYXNlL3JlY29yZC9pbmRleC5qc1wiKS5kZWZhdWx0fSAtIE1vZGVsIGNsYXNzLiAqL1xuICBtb2RlbENsYXNzKCkgeyByZXR1cm4gdGhpcy5tb2RlbENsYXNzVmFsdWUgfVxuXG4gIC8qKiBAcmV0dXJucyB7c3RyaW5nfSAtIE1vZGVsIG5hbWUuICovXG4gIG1vZGVsTmFtZSgpIHsgcmV0dXJuIHRoaXMubW9kZWxOYW1lVmFsdWUgfVxuXG4gIC8qKiBAcmV0dXJucyB7UmVjb3JkPHN0cmluZywgYW55Pn0gLSBQYXJhbXMuICovXG4gIHBhcmFtcygpIHsgcmV0dXJuIHRoaXMucGFyYW1zVmFsdWUgfVxuXG4gIC8qKiBAcmV0dXJucyB7aW1wb3J0KFwiLi4vY29uZmlndXJhdGlvbi10eXBlcy5qc1wiKS5Gcm9udGVuZE1vZGVsUmVzb3VyY2VDb25maWd1cmF0aW9ufSAtIE5vcm1hbGl6ZWQgcmVzb3VyY2UgY29uZmlnLiAqL1xuICByZXNvdXJjZUNvbmZpZ3VyYXRpb24oKSB7IHJldHVybiB0aGlzLnJlc291cmNlQ29uZmlndXJhdGlvblZhbHVlIH1cblxuICAvKiogQHJldHVybnMge3N0cmluZ30gLSBQcmltYXJ5IGtleS4gKi9cbiAgcHJpbWFyeUtleSgpIHsgcmV0dXJuIHRoaXMubW9kZWxDbGFzcygpLnByaW1hcnlLZXkoKSB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7XCJpbmRleFwiIHwgXCJmaW5kXCIgfCBcImNyZWF0ZVwiIHwgXCJ1cGRhdGVcIiB8IFwiZGVzdHJveVwiIHwgXCJhdHRhY2hcIiB8IFwiZG93bmxvYWRcIiB8IFwidXJsXCJ9IGFjdGlvbiAtIEFiaWxpdHkgYWN0aW9uLlxuICAgKiBAcmV0dXJucyB7aW1wb3J0KFwiLi4vZGF0YWJhc2UvcXVlcnkvbW9kZWwtY2xhc3MtcXVlcnkuanNcIikuZGVmYXVsdDxhbnk+fSAtIEF1dGhvcml6ZWQgcXVlcnkuXG4gICAqL1xuICBhdXRob3JpemVkUXVlcnkoYWN0aW9uKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZWRDb250cm9sbGVySW5zdGFuY2UoKS5mcm9udGVuZE1vZGVsQXV0aG9yaXplZFF1ZXJ5KGFjdGlvbilcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge1wiaW5kZXhcIiB8IFwiZmluZFwiIHwgXCJjcmVhdGVcIiB8IFwidXBkYXRlXCIgfCBcImRlc3Ryb3lcIiB8IFwiYXR0YWNoXCIgfCBcImRvd25sb2FkXCIgfCBcInVybFwifSBhY3Rpb24gLSBBY3Rpb24uXG4gICAqIEByZXR1cm5zIHtib29sZWFuIHwgUHJvbWlzZTxib29sZWFuPn0gLSBXaGV0aGVyIHBsdWNrIGlzIHN1cHBvcnRlZC5cbiAgICovXG4gIHN1cHBvcnRzUGx1Y2soYWN0aW9uKSB7XG4gICAgdm9pZCBhY3Rpb25cblxuICAgIHJldHVybiBPYmplY3QuZ2V0UHJvdG90eXBlT2YodGhpcykucmVjb3JkcyA9PT0gRnJvbnRlbmRNb2RlbEJhc2VSZXNvdXJjZS5wcm90b3R5cGUucmVjb3Jkc1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7XCJpbmRleFwiIHwgXCJmaW5kXCIgfCBcImNyZWF0ZVwiIHwgXCJ1cGRhdGVcIiB8IFwiZGVzdHJveVwiIHwgXCJhdHRhY2hcIiB8IFwiZG93bmxvYWRcIiB8IFwidXJsXCJ9IGFjdGlvbiAtIEFjdGlvbi5cbiAgICogQHJldHVybnMge2Jvb2xlYW4gfCB2b2lkIHwgUHJvbWlzZTxib29sZWFuIHwgdm9pZD59IC0gQ29udGludWUgcHJvY2Vzc2luZyB1bmxlc3MgZmFsc2UuXG4gICAqL1xuICBiZWZvcmVBY3Rpb24oYWN0aW9uKSB7XG4gICAgdm9pZCBhY3Rpb25cblxuICAgIC8vIE5vLW9wIGJ5IGRlZmF1bHQuXG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMge1Byb21pc2U8aW1wb3J0KFwiLi4vZGF0YWJhc2UvcmVjb3JkL2luZGV4LmpzXCIpLmRlZmF1bHRbXT59IC0gUmVjb3JkcyBmb3IgaW5kZXggYWN0aW9uLlxuICAgKi9cbiAgYXN5bmMgcmVjb3JkcygpIHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy50eXBlZENvbnRyb2xsZXJJbnN0YW5jZSgpLmZyb250ZW5kTW9kZWxJbmRleFF1ZXJ5KCkudG9BcnJheSgpXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtcImZpbmRcIiB8IFwidXBkYXRlXCIgfCBcImRlc3Ryb3lcIiB8IFwiYXR0YWNoXCIgfCBcImRvd25sb2FkXCIgfCBcInVybFwifSBhY3Rpb24gLSBBY3Rpb24uXG4gICAqIEBwYXJhbSB7c3RyaW5nIHwgbnVtYmVyfSBpZCAtIFJlY29yZCBpZC5cbiAgICogQHJldHVybnMge1Byb21pc2U8aW1wb3J0KFwiLi4vZGF0YWJhc2UvcmVjb3JkL2luZGV4LmpzXCIpLmRlZmF1bHQgfCBudWxsPn0gLSBMb2NhdGVkIG1vZGVsLlxuICAgKi9cbiAgYXN5bmMgZmluZChhY3Rpb24sIGlkKSB7XG4gICAgbGV0IHF1ZXJ5ID0gdGhpcy5hdXRob3JpemVkUXVlcnkoYWN0aW9uKVxuICAgIGNvbnN0IHByZWxvYWQgPSBhY3Rpb24gPT09IFwiZmluZFwiID8gdGhpcy50eXBlZENvbnRyb2xsZXJJbnN0YW5jZSgpLmZyb250ZW5kTW9kZWxQcmVsb2FkKCkgOiBudWxsXG5cbiAgICBpZiAocHJlbG9hZCkge1xuICAgICAgcXVlcnkgPSBxdWVyeS5wcmVsb2FkKHByZWxvYWQpXG4gICAgfVxuXG4gICAgcmV0dXJuIGF3YWl0IHF1ZXJ5LmZpbmRCeSh7W3RoaXMucHJpbWFyeUtleSgpXTogaWR9KVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgYW55Pn0gYXR0cmlidXRlcyAtIENyZWF0ZSBhdHRyaWJ1dGVzLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxpbXBvcnQoXCIuLi9kYXRhYmFzZS9yZWNvcmQvaW5kZXguanNcIikuZGVmYXVsdD59IC0gQ3JlYXRlZCBtb2RlbC5cbiAgICovXG4gIGFzeW5jIGNyZWF0ZShhdHRyaWJ1dGVzKSB7XG4gICAgY29uc3QgbW9kZWwgPSBuZXcgKHRoaXMubW9kZWxDbGFzcygpKShhdHRyaWJ1dGVzKVxuICAgIGF3YWl0IG1vZGVsLnNhdmUoKVxuXG4gICAgcmV0dXJuIG1vZGVsXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9kYXRhYmFzZS9yZWNvcmQvaW5kZXguanNcIikuZGVmYXVsdH0gbW9kZWwgLSBDcmVhdGVkIG1vZGVsLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gLSBDbGVhbnVwIGFmdGVyIGZhaWxlZCBhdXRob3JpemF0aW9uLlxuICAgKi9cbiAgYXN5bmMgaGFuZGxlVW5hdXRob3JpemVkQ3JlYXRlZE1vZGVsKG1vZGVsKSB7XG4gICAgYXdhaXQgbW9kZWwuZGVzdHJveSgpXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9kYXRhYmFzZS9yZWNvcmQvaW5kZXguanNcIikuZGVmYXVsdH0gbW9kZWwgLSBFeGlzdGluZyBtb2RlbC5cbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSBhdHRyaWJ1dGVzIC0gVXBkYXRlIGF0dHJpYnV0ZXMuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGltcG9ydChcIi4uL2RhdGFiYXNlL3JlY29yZC9pbmRleC5qc1wiKS5kZWZhdWx0Pn0gLSBVcGRhdGVkIG1vZGVsLlxuICAgKi9cbiAgYXN5bmMgdXBkYXRlKG1vZGVsLCBhdHRyaWJ1dGVzKSB7XG4gICAgbW9kZWwuYXNzaWduKGF0dHJpYnV0ZXMpXG4gICAgYXdhaXQgbW9kZWwuc2F2ZSgpXG5cbiAgICByZXR1cm4gbW9kZWxcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4uL2RhdGFiYXNlL3JlY29yZC9pbmRleC5qc1wiKS5kZWZhdWx0fSBtb2RlbCAtIEV4aXN0aW5nIG1vZGVsLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gLSBObyByZXR1cm4gdmFsdWUuXG4gICAqL1xuICBhc3luYyBkZXN0cm95KG1vZGVsKSB7XG4gICAgYXdhaXQgbW9kZWwuZGVzdHJveSgpXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9kYXRhYmFzZS9yZWNvcmQvaW5kZXguanNcIikuZGVmYXVsdH0gbW9kZWwgLSBNb2RlbCB0byBzZXJpYWxpemUuXG4gICAqIEBwYXJhbSB7XCJpbmRleFwiIHwgXCJmaW5kXCIgfCBcImNyZWF0ZVwiIHwgXCJ1cGRhdGVcIn0gW2FjdGlvbl0gLSBBY3Rpb24uXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPFJlY29yZDxzdHJpbmcsIGFueT4+fSAtIFNlcmlhbGl6ZWQgbW9kZWwgcGF5bG9hZC5cbiAgICovXG4gIGFzeW5jIHNlcmlhbGl6ZShtb2RlbCwgYWN0aW9uKSB7XG4gICAgdm9pZCBhY3Rpb25cblxuICAgIHJldHVybiBhd2FpdCB0aGlzLnR5cGVkQ29udHJvbGxlckluc3RhbmNlKCkuc2VyaWFsaXplRnJvbnRlbmRNb2RlbChtb2RlbClcbiAgfVxufVxuIl19
@@ -612,21 +612,9 @@ export type FrontendModelResourceConfig = {
612
612
  };
613
613
  export type FrontendModelTransportConfig = {
614
614
  /**
615
- * - Optional base URL prefixed before resource paths.
615
+ * - Optional frontend-model URL. For shared-endpoint models this should be the full shared endpoint (for example `"/frontend-models"` or `"https://example.com/frontend-models"`). For legacy direct-resource models this can be the backend origin/prefix.
616
616
  */
617
- baseUrl?: string;
618
- /**
619
- * - Optional resolver used per request for dynamic base URL.
620
- */
621
- baseUrlResolver?: (() => string | undefined | null);
622
- /**
623
- * - Optional path prefix inserted between base URL and resource path.
624
- */
625
- pathPrefix?: string;
626
- /**
627
- * - Optional resolver used per request for dynamic path prefix.
628
- */
629
- pathPrefixResolver?: (() => string | undefined | null);
617
+ url?: string | (() => string | undefined | null);
630
618
  /**
631
619
  * - Optional credentials mode forwarded to fetch.
632
620
  */
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/frontend-models/base.js"],"names":[],"mappings":"AAiCA,sFAAsF;AACtF;IACE;;;OAGG;IACH,uBAHW,MAAM,iBACN,MAAM,EAKhB;CACF;AAcD;;;;GAIG;AACH,+CAHwC,CAAC,SAA5B,OAAQ,iBAAkB,EACC,CAAC,SAA5B,OAAQ,iBAAkB;IAGrC;;;;OAIG;IACH,mBAJW,YAAY,CAAC,CAAC,CAAC,oBACf,MAAM,oBACN,CAAC,GAAG,IAAI,EAQlB;IALC,uBAAkB;IAClB,yBAAwC;IACxC,oBAAwC;IACxC,oBAAuB;IACvB,kBAAwB;IAG1B;;;OAGG;IACH,uBAHW,GAAG,GACD,IAAI,CAKhB;IAED;;OAEG;IACH,gBAFa,OAAO,CAInB;IAED;;OAEG;IACH,UAFa,GAAG,CAQf;IAED;;;OAGG;IACH,mBAHW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACjB,YAAY,CAAC,CAAC,CAAC,CAY3B;CACF;AAED;;;;GAIG;AACH,8CAHwC,CAAC,SAA5B,OAAQ,iBAAkB,EACC,CAAC,SAA5B,OAAQ,iBAAkB;IAGrC;;;;OAIG;IACH,mBAJW,YAAY,CAAC,CAAC,CAAC,oBACf,MAAM,oBACN,CAAC,GAAG,IAAI,EAQlB;IALC,uBAAkB;IAClB,yBAAwC;IACxC,oBAAwC;IACxC,oBAAuB;IACvB,oBAAsB;IAGxB;;;OAGG;IACH,uBAHW,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GACpB,IAAI,CAKhB;IAED;;OAEG;IACH,gBAFa,OAAO,CAInB;IAED;;OAEG;IACH,UAFa,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAQlC;IAED;;;OAGG;IACH,oBAHW,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GACpB,IAAI,CAMhB;IAED;;;OAGG;IACH,mBAHW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACjB,YAAY,CAAC,CAAC,CAAC,CAY3B;CACF;AAUD;;GAEG;AACH;IACE;;;;;;;;OAQG;IACH,mEAPG;QAAqB,EAAE,EAAf,MAAM;QACO,QAAQ,EAArB,MAAM;QACc,WAAW,EAA/B,MAAM,GAAG,IAAI;QACA,QAAQ,EAArB,MAAM;QACW,OAAO,EAAxB,UAAU;QACW,GAAG,GAAxB,MAAM,GAAG,IAAI;KACvB,EAQA;IANC,gBAAiB;IACjB,sBAA6B;IAC7B,yBAAmC;IACnC,sBAA6B;IAC7B,0CAA2B;IAC3B,iBAAmB;IAGrB,8CAA8C;IAC9C,YADc,MAAM,CACoB;IACxC,kDAAkD;IAClD,WADc,UAAU,CACc;IACtC,+CAA+C;IAC/C,eADc,MAAM,GAAG,IAAI,CACmB;IAC9C,oCAAoC;IACpC,YADc,MAAM,CACoB;IACxC,yCAAyC;IACzC,MADc,MAAM,CACQ;IAC5B,4DAA4D;IAC5D,OADc,MAAM,GAAG,IAAI,CACG;CAC/B;AA+ID;;GAEG;AACH;IACE;;;;OAIG;IACH,uCAHG;QAAgC,KAAK,EAA7B,iBAAiB;QACJ,cAAc,EAA3B,MAAM;KAChB,EAIA;IAFC,yBAAkB;IAClB,uBAAoC;IAGtC;;;OAGG;IACH,cAHW,OAAO,GACL,OAAO,CAAC,IAAI,CAAC,CAYzB;IAED;;;OAGG;IACH,wBAHW,MAAM,GACJ,OAAO,CAAC,+BAA+B,GAAG,IAAI,CAAC,CA+B3D;IAED;;;OAGG;IACH,mBAHW,MAAM,GACJ,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAqBlC;IAED;;OAEG;IACH,eAFa,MAAM,CAalB;CACF;AA2SD,uDAAuD;AACvD;IAiBE;;;OAGG;IACH,yEAFa,IAAI,CAgBhB;IAED;;OAEG;IACH,yBAFa,2BAA2B,CAMvC;IAED;;;OAGG;IACH,iEAFa,MAAM,CAAC,MAAM,EAAE,OAAO,iBAAiB,CAAC,CAIpD;IAED;;;OAGG;IACH,gEAFa,MAAM,CAAC,MAAM,EAAE;QAAC,IAAI,EAAE,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAA;KAAC,CAAC,CAItE;IAED;;;OAGG;IACH,8DAFa,MAAM,CAAC,MAAM,EAAE,iCAAiC,CAAC,CAI7D;IAED;;;;OAIG;IACH,4EAHW,MAAM,GACJ,iCAAiC,GAAG,IAAI,CAIpD;IAED;;;;OAIG;IACH,gFAHW,MAAM,GACJ;QAAC,IAAI,EAAE,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAA;KAAC,GAAG,IAAI,CAM7D;IAED;;;;OAIG;IACH,gFAHW,MAAM,GACJ,OAAO,iBAAiB,GAAG,IAAI,CAM3C;IA+JD;;;OAGG;IACH,mDAFa,MAAM,CAIlB;IAiDD;;;OAGG;IACH,qDAFa,MAAM,CAWlB;IAED;;;;OAIG;IACH,gEAHW,wBAAwB,GACtB,MAAM,CAWlB;IAED;;;OAGG;IACH,kCAHW,4BAA4B,GAC1B,IAAI,CA8BhB;IAED;;;;OAIG;IACH,wEAHW,MAAM,GACJ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAM/B;IAED;;;;OAIG;IACH,uEAHW,MAAM,GACJ;QAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAAC,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAAC,kBAAkB,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;KAAC,CAgC/H;IAED;;;;;OAKG;IACH,0EAJW,iBAAiB,0BACjB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACjB,IAAI,CAchB;IAED;;;;;OAKG;IACH,yFAJW,GAAG,oBACH,OAAO,iBAAiB,GAAG,IAAI,GAC7B,GAAG,CAQf;IAED;;;;;OAKG;IACH,+BALwC,CAAC,SAA5B,OAAQ,iBAAkB,qBAE5B,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACjB,YAAY,CAAC,CAAC,CAAC,CAe3B;IAED;;;;;OAKG;IACH,YALwC,CAAC,SAA5B,OAAQ,iBAAkB,eAE5B,MAAM,GAAG,MAAM,GACb,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAIpC;IAED;;;;;OAKG;IACH,cALwC,CAAC,SAA5B,OAAQ,iBAAkB,uBAE5B,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACjB,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAI3C;IAED;;;;;OAKG;IACH,oBALwC,CAAC,SAA5B,OAAQ,iBAAkB,uBAE5B,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACjB,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAIpC;IAED;;;;OAIG;IACH,eAJwC,CAAC,SAA5B,OAAQ,iBAAkB,YAE1B,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAItC;IAED;;;;OAIG;IACH,WAJwC,CAAC,SAA5B,OAAQ,iBAAkB,YAE1B,kBAAkB,CAAC,CAAC,CAAC,CAIjC;IAED;;;;;OAKG;IACH,aALwC,CAAC,SAA5B,OAAQ,iBAAkB,uBAE5B,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACjB,OAAO,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,CAI3C;IAED;;;;;OAKG;IACH,aALwC,CAAC,SAA5B,OAAQ,iBAAkB,kBAE5B,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAC9C,OAAO,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,CAI3C;IAED;;;;;OAKG;IACH,aALwC,CAAC,SAA5B,OAAQ,iBAAkB,kBAE5B,MAAM,GACJ,OAAO,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,CAI3C;IAED;;;;;OAKG;IACH,cALwC,CAAC,SAA5B,OAAQ,iBAAkB,kBAE5B,MAAM,GACJ,OAAO,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,CAI3C;IAED;;;;;OAKG;IACH,YALwC,CAAC,SAA5B,OAAQ,iBAAkB,uBAE5B,MAAM,GACJ,OAAO,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,CAI3C;IAED;;;;;OAKG;IACH,eALwC,CAAC,SAA5B,OAAQ,iBAAkB,kBAE5B,MAAM,GACJ,OAAO,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,CAI3C;IAED;;;;OAIG;IACH,aAJwC,CAAC,SAA5B,OAAQ,iBAAkB,YAE1B,OAAO,CAAC,MAAM,CAAC,CAI3B;IAED;;;;;OAKG;IACH,aALwC,CAAC,SAA5B,OAAQ,iBAAkB,uBAEzB,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAA,GACvE,OAAO,CAAC,GAAG,EAAE,CAAC,CAI1B;IAED;;;;;;;;OAQG;IACH,cARwC,CAAC,SAA5B,OAAQ,iBAAkB,iBAE5B,MAAM,EAAE,UACR,MAAM,YACN,IAAI,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,SAC9C,GAAG,GACD,kBAAkB,CAAC,CAAC,CAAC,CAIjC;IAED;;;;;OAKG;IACH,YALwC,CAAC,SAA5B,OAAQ,iBAAkB,iBAE5B,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAC/G,kBAAkB,CAAC,CAAC,CAAC,CAIjC;IAED;;;;;OAKG;IACH,aALwC,CAAC,SAA5B,OAAQ,iBAAkB,iBAE5B,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAC/G,kBAAkB,CAAC,CAAC,CAAC,CAIjC;IAED;;;;;OAKG;IACH,aALwC,CAAC,SAA5B,OAAQ,iBAAkB,kBAE5B,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAClE,kBAAkB,CAAC,CAAC,CAAC,CAIjC;IAED;;;;;OAKG;IACH,gBALwC,CAAC,SAA5B,OAAQ,iBAAkB,mBAE5B,OAAO,GACL,kBAAkB,CAAC,CAAC,CAAC,CAIjC;IAED;;;;OAIG;IACH,aAJwC,CAAC,SAA5B,OAAQ,iBAAkB,YAE1B,kBAAkB,CAAC,CAAC,CAAC,CAIjC;IAED;;;;;OAKG;IACH,eALwC,CAAC,SAA5B,OAAQ,iBAAkB,oBAE5B,OAAO,4BAA4B,EAAE,mBAAmB,GAAG,MAAM,GAAG,MAAM,EAAE,GAC1E,kBAAkB,CAAC,CAAC,CAAC,CAIjC;IAED;;;;;OAKG;IACH,cALwC,CAAC,SAA5B,OAAQ,iBAAkB,mBAE5B,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,GAC/B,kBAAkB,CAAC,CAAC,CAAC,CAIjC;IAED;;;;OAIG;IACH,aAJwC,CAAC,SAA5B,OAAQ,iBAAkB,YAE1B,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAI3C;IAED;;;;OAIG;IACH,YAJwC,CAAC,SAA5B,OAAQ,iBAAkB,YAE1B,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAI3C;IAED;;;;;OAKG;IACH,0BALwC,CAAC,SAA5B,OAAQ,iBAAkB,uBAE5B,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACjB,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAIpC;IAED;;;;;;OAMG;IACH,sBANwC,CAAC,SAA5B,OAAQ,iBAAkB,uBAE5B,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,aACnB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,GAC9C,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAIpC;IAED;;;;;OAKG;IACH,cALwC,CAAC,SAA5B,OAAQ,iBAAkB,wBAE5B,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACjB,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAQpC;IAED;;;;OAIG;IACH,0EAHW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACjB,IAAI,CAUhB;IAED;;;;;OAKG;IACH,sEAJW,iBAAiB,cACjB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACjB,OAAO,CAuBnB;IAED;;;;;OAKG;IACH,gFAJW,OAAO,iBACP,OAAO,GACL,OAAO,CAyDnB;IAED;;;;;OAKG;IACH,+EAJW,OAAO,iBACP,OAAO,GACL,OAAO,CAwBnB;IAED;;;;;OAKG;IACH,uFAJW,MAAM,kBACN,MAAM,GACJ,OAAO,CAYnB;IA+GD;;;;;OAKG;IACH,mEAJW,wBAAwB,WACxB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACjB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CA6ExC;IAED;;;;;;OAMG;IACH,oGAJG;QAAuC,WAAW,EAA1C,wBAAwB;QACE,QAAQ,EAAlC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;KAC3B,GAAU,IAAI,CA0BhB;IAED;;;OAGG;IACH,8EAFa,GAAG,CAAC,MAAM,CAAC,CAevB;IAnnCD;;OAEG;IACH,yBAFW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAa7B;IAPC,gBAAqB;IACrB,mBAAwB;IACxB,iBAAsB;IACtB,yBAA+B;IAC/B,sBAAwB;IACxB,yBAA8B;IAwFhC;;OAEG;IACH,cAFa,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAI/B;IAED;;OAEG;IACH,eAFa,OAAO,CAInB;IAED;;OAEG;IACH,eAFa,OAAO,CAInB;IAED;;;OAGG;IACH,+BAHW,OAAO,GACL,IAAI,CAIhB;IAED;;OAEG;IACH,WAFa,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAoBjC;IAED;;OAEG;IACH,aAFa,OAAO,CAInB;IAED;;;OAGG;IACH,wCAHW,MAAM,GACJ,gCAAgC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,iCAAiC,CAAC,GAAG,EAAE,GAAG,CAAC,CAgBpG;IAED;;;OAGG;IACH,oCAHW,MAAM,GACJ,6BAA6B,CAkBzC;IAED;;;OAGG;IACH,mCAHW,MAAM,GACJ,OAAO,CAAC,GAAG,CAAC,CAaxB;IAED;;;;OAIG;IACH,kCAJW,MAAM,qBACN,GAAG,GACD,GAAG,CAiBf;IAED;;;OAGG;IACH,6BAHW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACjB,IAAI,CAMhB;IAED;;OAEG;IACH,0BAFa,IAAI,CAIhB;IAUD;;OAEG;IACH,mBAFa,MAAM,GAAG,MAAM,CAW3B;IAED;;;OAGG;IACH,6BAHW,MAAM,GACJ,GAAG,CAQf;IAED;;;;OAIG;IACH,4BAJW,MAAM,YACN,GAAG,GACD,GAAG,CAgBf;IA2kBD;;;OAGG;IACH,uBAHW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACjB,OAAO,CAAC,IAAI,CAAC,CAsCzB;IAED;;;OAGG;IACH,wBAHW,OAAO,GACL,OAAO,CAAC,IAAI,CAAC,CA4BzB;IAED;;OAEG;IACH,QAFa,OAAO,CAAC,IAAI,CAAC,CAqBzB;IAED;;OAEG;IACH,WAFa,OAAO,CAAC,IAAI,CAAC,CAQzB;CAwIF;uCA93Da,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,KAAK;gDAEnF;IAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAA;CAAC;0CAG5B;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iCAAiC,CAAC,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAC;;;;;cAIvI,MAAM;;;;sBACN,CAAC,MAAM,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;;;;iBACjC,MAAM;;;;yBACN,CAAC,MAAM,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;;;;kBACjC,MAAM,GAAG,aAAa,GAAG,SAAS;;;;cAClC,CAAC,CAAC,IAAI,EAAE;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,wBAAwB,CAAC;QAAC,UAAU,EAAE,OAAO,iBAAiB,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAC,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;;+BAlBtK,YAAY"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/frontend-models/base.js"],"names":[],"mappings":"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"}