@modularizer/plat 0.17.0 → 0.17.1
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/client/openapi-client.d.ts +9 -1
- package/dist/client/openapi-client.d.ts.map +1 -1
- package/dist/client/openapi-client.js +59 -24
- package/dist/client/openapi-client.js.map +1 -1
- package/dist/client-lite-entry.d.ts +6 -0
- package/dist/client-lite-entry.d.ts.map +1 -0
- package/dist/client-lite-entry.js +8 -0
- package/dist/client-lite-entry.js.map +1 -0
- package/dist/client-side-server/mqtt-webrtc.d.ts +1 -1
- package/dist/client-side-server/mqtt-webrtc.d.ts.map +1 -1
- package/dist/client-side-server/mqtt-webrtc.js +11 -3
- package/dist/client-side-server/mqtt-webrtc.js.map +1 -1
- package/dist/client-side-server/server.js +1 -1
- package/dist/generated/python-browser-sources.js +1 -1
- package/dist/generated/python-browser-sources.js.map +1 -1
- package/dist/server/server.js +1 -1
- package/package.json +5 -1
|
@@ -278,7 +278,15 @@ declare class OpenAPIClientImpl<TSpec extends OpenAPISpec = OpenAPISpec, THeader
|
|
|
278
278
|
private extractQueryParams;
|
|
279
279
|
private extractHeaderParams;
|
|
280
280
|
_parseResponse<T>(response: Response, format: ResponseFormat): Promise<T>;
|
|
281
|
-
|
|
281
|
+
/**
|
|
282
|
+
* `promise`, rejected with "Request timeout" if it has not settled within `timeoutMs`.
|
|
283
|
+
*
|
|
284
|
+
* The timer is cleared as soon as either side settles, and is unref'd while it waits: a request that has
|
|
285
|
+
* answered must not leave a live timer behind, or a one-shot caller (a CLI command, a build) waits out the
|
|
286
|
+
* whole timeout before its process can exit. The rejection is still the caller's timeout, so a server that
|
|
287
|
+
* accepts the connection and never answers fails the same way it did before.
|
|
288
|
+
*/
|
|
289
|
+
private withTimeout;
|
|
282
290
|
delay(ms: number): Promise<void>;
|
|
283
291
|
tryParseJson(text: string): unknown;
|
|
284
292
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openapi-client.d.ts","sourceRoot":"","sources":["../../src/client/openapi-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"openapi-client.d.ts","sourceRoot":"","sources":["../../src/client/openapi-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,6 @@ import { extractToolsFromOpenAPI } from './tools.js';
|
|
|
6
6
|
import { createHttpTransportPlugin } from './http-transport-plugin.js';
|
|
7
7
|
import { createRpcTransportPlugin } from './rpc-transport-plugin.js';
|
|
8
8
|
import { executeClientTransportPlugin } from './transport-plugin.js';
|
|
9
|
-
import { createClientSideServerMQTTWebRTCTransportPlugin } from '../client-side-server/mqtt-webrtc.js';
|
|
10
9
|
class OpenAPIClientImpl {
|
|
11
10
|
openAPISpec;
|
|
12
11
|
baseUrl;
|
|
@@ -49,7 +48,7 @@ class OpenAPIClientImpl {
|
|
|
49
48
|
this.hooks = options.hooks;
|
|
50
49
|
const builtInTransportRuntime = this.createBuiltInTransportRuntime();
|
|
51
50
|
const defaultTransportPlugins = this.baseUrl.startsWith('css://')
|
|
52
|
-
? [
|
|
51
|
+
? [createLazyClientSideServerPlugin()]
|
|
53
52
|
: [];
|
|
54
53
|
this.transportPlugins = [
|
|
55
54
|
...(options.transportPlugins ?? []),
|
|
@@ -136,16 +135,13 @@ class OpenAPIClientImpl {
|
|
|
136
135
|
sendRpcCancel: (id) => this.sendRpcCancel(id),
|
|
137
136
|
createDeferredHandle: (id, options) => this.createDeferredHandle(id, options),
|
|
138
137
|
fetchHttp: async (request) => {
|
|
139
|
-
return await
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
}),
|
|
147
|
-
this.createTimeoutPromise(request.timeoutMs),
|
|
148
|
-
]);
|
|
138
|
+
return await this.withTimeout(fetch(request.url, {
|
|
139
|
+
...(request.fetchInit ?? this.fetchInit),
|
|
140
|
+
method: request.method,
|
|
141
|
+
headers: this.stringifyHeaders(request.headers),
|
|
142
|
+
...buildFetchBodyInit(request.method, request.body),
|
|
143
|
+
signal: request.signal,
|
|
144
|
+
}), request.timeoutMs);
|
|
149
145
|
},
|
|
150
146
|
parseResponse: (response, format) => this._parseResponse(response, format),
|
|
151
147
|
detectResponseFormat: (response, specContentTypes) => this._detectResponseFormat(response, specContentTypes),
|
|
@@ -327,16 +323,13 @@ class OpenAPIClientImpl {
|
|
|
327
323
|
if (this.hooks?.onPreRequest) {
|
|
328
324
|
await this.hooks.onPreRequest(requestContext);
|
|
329
325
|
}
|
|
330
|
-
const response = await
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
}),
|
|
338
|
-
this.createTimeoutPromise(timeoutMs),
|
|
339
|
-
]);
|
|
326
|
+
const response = await this.withTimeout(fetch(fullUrl, {
|
|
327
|
+
...this.fetchInit,
|
|
328
|
+
method,
|
|
329
|
+
headers: this.stringifyHeaders(headers),
|
|
330
|
+
...buildFetchBodyInit(method, body),
|
|
331
|
+
signal: options?.signal,
|
|
332
|
+
}), timeoutMs);
|
|
340
333
|
// Call post-request hook
|
|
341
334
|
if (this.hooks?.onPostRequest) {
|
|
342
335
|
await this.hooks.onPostRequest(requestContext, response);
|
|
@@ -626,8 +619,27 @@ class OpenAPIClientImpl {
|
|
|
626
619
|
default: return await response.json();
|
|
627
620
|
}
|
|
628
621
|
}
|
|
629
|
-
|
|
630
|
-
|
|
622
|
+
/**
|
|
623
|
+
* `promise`, rejected with "Request timeout" if it has not settled within `timeoutMs`.
|
|
624
|
+
*
|
|
625
|
+
* The timer is cleared as soon as either side settles, and is unref'd while it waits: a request that has
|
|
626
|
+
* answered must not leave a live timer behind, or a one-shot caller (a CLI command, a build) waits out the
|
|
627
|
+
* whole timeout before its process can exit. The rejection is still the caller's timeout, so a server that
|
|
628
|
+
* accepts the connection and never answers fails the same way it did before.
|
|
629
|
+
*/
|
|
630
|
+
async withTimeout(promise, timeoutMs) {
|
|
631
|
+
let timer;
|
|
632
|
+
const timeout = new Promise((_, reject) => {
|
|
633
|
+
timer = setTimeout(() => reject(new Error('Request timeout')), timeoutMs);
|
|
634
|
+
timer.unref?.();
|
|
635
|
+
});
|
|
636
|
+
try {
|
|
637
|
+
return await Promise.race([promise, timeout]);
|
|
638
|
+
}
|
|
639
|
+
finally {
|
|
640
|
+
if (timer !== undefined)
|
|
641
|
+
clearTimeout(timer);
|
|
642
|
+
}
|
|
631
643
|
}
|
|
632
644
|
delay(ms) {
|
|
633
645
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
@@ -915,4 +927,27 @@ export async function createClient(baseUrl, options) {
|
|
|
915
927
|
return promise;
|
|
916
928
|
}
|
|
917
929
|
export const OpenAPIClient = OpenAPIClientImpl;
|
|
930
|
+
/**
|
|
931
|
+
* The css:// transport is large (MQTT, WebRTC, crypto), so it loads on the first css:// call. A client that only
|
|
932
|
+
* talks HTTP never downloads it.
|
|
933
|
+
*/
|
|
934
|
+
function createLazyClientSideServerPlugin() {
|
|
935
|
+
return {
|
|
936
|
+
name: 'css',
|
|
937
|
+
canHandle: ({ baseUrl, transportMode }) => transportMode === 'css' || baseUrl.startsWith('css://'),
|
|
938
|
+
async connect(request) {
|
|
939
|
+
const { createClientSideServerMQTTWebRTCTransportPlugin } = await import('../client-side-server/mqtt-webrtc');
|
|
940
|
+
const plugin = createClientSideServerMQTTWebRTCTransportPlugin();
|
|
941
|
+
return { plugin, connection: await plugin.connect?.(request) };
|
|
942
|
+
},
|
|
943
|
+
onConnect: ({ plugin, connection }, request) => plugin.onConnect?.(connection, request),
|
|
944
|
+
sendRequest: ({ plugin, connection }, request) => plugin.sendRequest(connection, request),
|
|
945
|
+
getUpdate: ({ plugin, connection }, request) => plugin.getUpdate?.(connection, request),
|
|
946
|
+
onUpdate: ({ plugin, connection }, update, request) => plugin.onUpdate?.(connection, update, request),
|
|
947
|
+
getResult: ({ plugin, connection }, request) => plugin.getResult(connection, request),
|
|
948
|
+
onResult: ({ plugin, connection }, result, request) => plugin.onResult?.(connection, result, request),
|
|
949
|
+
disconnect: ({ plugin, connection }, request) => plugin.disconnect?.(connection, request),
|
|
950
|
+
onDisconnect: ({ plugin, connection }, request) => plugin.onDisconnect?.(connection, request),
|
|
951
|
+
};
|
|
952
|
+
}
|
|
918
953
|
//# sourceMappingURL=openapi-client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openapi-client.js","sourceRoot":"","sources":["../../src/client/openapi-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"openapi-client.js","sourceRoot":"","sources":["../../src/client/openapi-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { OpenAPIClient, createClient } from './client/openapi-client.js';
|
|
2
|
+
export * from './types/errors.js';
|
|
3
|
+
export * from './types/client.js';
|
|
4
|
+
export * from './types/openapi.js';
|
|
5
|
+
export * from './types/opts.js';
|
|
6
|
+
//# sourceMappingURL=client-lite-entry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-lite-entry.d.ts","sourceRoot":"","sources":["../src/client-lite-entry.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AACrE,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// The HTTP/RPC client alone. `./client` also re-exports the MQTT/WebRTC transport and the bridge, which a
|
|
2
|
+
// page that only calls an HTTP server should not download before its first request.
|
|
3
|
+
export { OpenAPIClient, createClient } from './client/openapi-client.js';
|
|
4
|
+
export * from './types/errors.js';
|
|
5
|
+
export * from './types/client.js';
|
|
6
|
+
export * from './types/openapi.js';
|
|
7
|
+
export * from './types/opts.js';
|
|
8
|
+
//# sourceMappingURL=client-lite-entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-lite-entry.js","sourceRoot":"","sources":["../src/client-lite-entry.ts"],"names":[],"mappings":"AAAA,0GAA0G;AAC1G,oFAAoF;AACpF,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AACrE,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { IClientOptions } from 'mqtt';
|
|
2
2
|
import type { OpenAPIClientTransportPlugin } from '../client/transport-plugin.js';
|
|
3
3
|
import { type ClientSideServerChannel } from './channel.js';
|
|
4
4
|
import { type ClientSideServerAnyAuthorityRecord, type ClientSideServerAnyTrustedServerRecord, type ClientSideServerAuthorityServer, type ClientSideServerEncryptionKeyPair, type ClientSideServerExportedKeyPair, type ClientSideServerPublicIdentity, type ClientSideServerStorageLike } from './identity.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mqtt-webrtc.d.ts","sourceRoot":"","sources":["../../src/client-side-server/mqtt-webrtc.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"mqtt-webrtc.d.ts","sourceRoot":"","sources":["../../src/client-side-server/mqtt-webrtc.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import mqtt from 'mqtt';
|
|
2
1
|
import { createClientSideServerTransportPlugin } from '../client/css-transport-plugin.js';
|
|
3
2
|
import { createRTCDataChannelAdapter } from './channel.js';
|
|
4
3
|
import { buildClientSideServerIdentityChallenge, clientSideServerPublicKeysEqual, parseClientSideServerPinnedIdentity, generateClientSideServerEncryptionKeyPair, getOrCreateClientSideServerIdentityKeyPair, isClientSideServerSignedAuthorityRecordV2, isClientSideServerTrustedServerRecordV2, loadTrustedClientSideServerRecordFromMap, resolveTrustedClientSideServerFromAuthorities, loadTrustedClientSideServerRecord, trustClientSideServerFromAuthorityRecord, saveTrustedClientSideServerRecordToMap, signClientSideServerChallenge, toClientSideServerEncryptionPublicIdentity, toClientSideServerPublicIdentity, trustClientSideServerOnFirstUse, verifyClientSideServerChallenge, verifyAnySignedClientSideServerAuthorityRecord, } from './identity.js';
|
|
@@ -1160,7 +1159,7 @@ export function createClientSideServerMQTTWebRTCServer(options) {
|
|
|
1160
1159
|
return new ClientSideServerMQTTWebRTCServer(options);
|
|
1161
1160
|
}
|
|
1162
1161
|
async function connectToBroker(options) {
|
|
1163
|
-
const client = resolveMqttConnect()(options.mqttBroker ?? DEFAULT_CLIENT_SIDE_SERVER_MQTT_BROKER, options.mqttOptions);
|
|
1162
|
+
const client = (await resolveMqttConnect())(options.mqttBroker ?? DEFAULT_CLIENT_SIDE_SERVER_MQTT_BROKER, options.mqttOptions);
|
|
1164
1163
|
await new Promise((resolve, reject) => {
|
|
1165
1164
|
const onConnect = () => {
|
|
1166
1165
|
cleanup();
|
|
@@ -1179,7 +1178,16 @@ async function connectToBroker(options) {
|
|
|
1179
1178
|
});
|
|
1180
1179
|
return client;
|
|
1181
1180
|
}
|
|
1182
|
-
|
|
1181
|
+
// mqtt is an optional dependency: only a client that actually joins a client-side server pays for
|
|
1182
|
+
// it, so a plain HTTP client (and the CLI) never loads or installs it.
|
|
1183
|
+
async function resolveMqttConnect() {
|
|
1184
|
+
let mqtt;
|
|
1185
|
+
try {
|
|
1186
|
+
mqtt = await import('mqtt');
|
|
1187
|
+
}
|
|
1188
|
+
catch {
|
|
1189
|
+
throw new Error("Client-side servers need the optional 'mqtt' package: npm install mqtt");
|
|
1190
|
+
}
|
|
1183
1191
|
const connect = mqtt.connect ?? mqtt.default?.connect;
|
|
1184
1192
|
if (typeof connect !== 'function') {
|
|
1185
1193
|
throw new Error('The loaded mqtt module does not expose a connect function');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mqtt-webrtc.js","sourceRoot":"","sources":["../../src/client-side-server/mqtt-webrtc.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mqtt-webrtc.js","sourceRoot":"","sources":["../../src/client-side-server/mqtt-webrtc.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ export const PYTHON_BROWSER_SOURCES = {
|
|
|
6
6
|
"plat_browser/errors.py": "from __future__ import annotations\n\nfrom dataclasses import dataclass, field\nfrom typing import Any\n\n\n@dataclass\nclass HttpResponse(Exception):\n status_code: int\n body: Any = None\n headers: dict[str, str] = field(default_factory=dict)\n\n def __post_init__(self) -> None:\n super().__init__(f\"HTTP {self.status_code}\")\n\n\nclass HttpError(HttpResponse):\n def __init__(\n self,\n status_code: int,\n message: str,\n data: Any = None,\n headers: dict[str, str] | None = None,\n ) -> None:\n body: dict[str, Any] = {\"error\": message}\n if data is not None:\n body[\"data\"] = data\n super().__init__(status_code=status_code, body=body, headers=headers or {})\n self.message = message\n self.data = data\n",
|
|
7
7
|
"plat_browser/metadata.py": "from __future__ import annotations\n\nfrom .types import ControllerMeta\n\n\nCONTROLLER_METADATA_KEY = \"__plat_browser_controller_meta__\"\n\n\ndef get_controller_meta(ctor: type) -> ControllerMeta | None:\n return getattr(ctor, CONTROLLER_METADATA_KEY, None)\n\n\ndef ensure_controller_meta(ctor: type) -> ControllerMeta:\n meta = get_controller_meta(ctor)\n if meta is None:\n meta = ControllerMeta()\n setattr(ctor, CONTROLLER_METADATA_KEY, meta)\n return meta\n",
|
|
8
8
|
"plat_browser/plugins.py": "from __future__ import annotations\n\nimport json\nimport math\nimport time\nfrom dataclasses import dataclass, field\nfrom typing import Any, Callable, Protocol\n\nfrom .errors import HttpError\n\n\n@dataclass\nclass BucketConfig:\n max_balance: float\n fill_interval: int\n fill_amount: float\n refunded_status_codes: list[int] | None = None\n refund_successful: bool | None = None\n min_balance: float = 0\n\n\n@dataclass\nclass RateLimitEntry:\n key: str | None = None\n cost: float | None = None\n config: BucketConfig | None = None\n\n\nRateLimitMeta = RateLimitEntry | list[RateLimitEntry]\n\n\n@dataclass\nclass ResolvedRateLimitEntry:\n key: str\n cost: float\n config: BucketConfig\n\n\n@dataclass\nclass RateLimitContext:\n entries: list[ResolvedRateLimitEntry]\n remaining_balances: list[float]\n\n\nclass RateLimitController(Protocol):\n def check(self, key: str, config: BucketConfig) -> float:\n ...\n\n def deduct(self, key: str, cost: float, config: BucketConfig) -> float:\n ...\n\n def refund(self, key: str, cost: float, config: BucketConfig) -> None:\n ...\n\n\n@dataclass\nclass TokenCallCostFormula:\n initial: float | None = None\n per_limit: float | None = None\n per_char: float | None = None\n\n\n@dataclass\nclass TokenResponseCostFormula:\n per_ms: float | None = None\n per_item: float | None = None\n per_char: float | None = None\n per_key: float | None = None\n\n\nTokenCallCostSpec = float | int | TokenCallCostFormula | Callable[[Any, Any], float]\nTokenResponseCostSpec = float | int | TokenResponseCostFormula | Callable[[Any, Any, Any], float]\nTokenFailureCostSpec = float | int | Callable[[Exception, Any, Any], float]\n\n\n@dataclass\nclass TokenLimitEntry:\n key: str | None = None\n call_cost: TokenCallCostSpec | None = None\n response_cost: TokenResponseCostSpec | None = None\n failure_cost: TokenFailureCostSpec | None = None\n config: BucketConfig | None = None\n\n\nTokenLimitMeta = TokenLimitEntry | list[TokenLimitEntry]\n\n\n@dataclass\nclass TokenLimitTiming:\n start_ms: int\n end_ms: int\n duration_ms: int\n\n\n@dataclass\nclass ResolvedTokenLimitEntry:\n key: str\n call_cost: float\n response_cost_spec: TokenResponseCostSpec | None\n failure_cost_spec: TokenFailureCostSpec | None\n config: BucketConfig\n\n\n@dataclass\nclass TokenLimitContext:\n entries: list[ResolvedTokenLimitEntry]\n remaining_balances: list[float]\n response_costs: list[float] = field(default_factory=list)\n failure_costs: list[float] = field(default_factory=list)\n timing: TokenLimitTiming | None = None\n\n\nclass TokenLimitController(Protocol):\n def check(self, key: str, config: BucketConfig) -> float:\n ...\n\n def deduct(self, key: str, cost: float, config: BucketConfig) -> float:\n ...\n\n def refund(self, key: str, cost: float, config: BucketConfig) -> None:\n ...\n\n\n@dataclass\nclass CacheEntry:\n key: str\n ttl: int | None = None\n methods: list[str] | None = None\n\n\nCacheMeta = CacheEntry | list[CacheEntry]\n\n\n@dataclass\nclass CacheContext:\n key: str | None\n hit: bool\n stored: bool\n\n\nclass CacheController(Protocol):\n def get(self, key: str) -> Any:\n ...\n\n def set(self, key: str, value: Any, ttl_seconds: int | None = None) -> None:\n ...\n\n def clear(self, key: str) -> None:\n ...\n\n\nRateLimitConfigs = dict[str, BucketConfig]\nTokenLimitConfigs = dict[str, BucketConfig]\n\n\ndef resolve_rate_limit_key(raw: str, method_name: str, base_path: str, user: Any = None) -> str:\n return _resolve_common_key(raw, method_name, base_path, user)\n\n\ndef resolve_token_limit_key(raw: str, method_name: str, base_path: str, user: Any = None) -> str:\n return _resolve_common_key(raw, method_name, base_path, user)\n\n\ndef resolve_cache_key(template: str, params: dict[str, Any], method_name: str, base_path: str, user: Any = None) -> str:\n key = _resolve_common_key(template, method_name, base_path, user)\n for match in set(part for part in _find_template_matches(key, \"{\", \"}\")):\n name = match[1:-1]\n value = params.get(name)\n if value is not None:\n key = key.replace(match, str(value))\n return key\n\n\ndef create_in_memory_rate_limit() -> RateLimitController:\n buckets: dict[str, dict[str, float]] = {}\n return _create_in_memory_bucket_controller(buckets, \"Rate limit exceeded\")\n\n\ndef create_in_memory_token_limit() -> TokenLimitController:\n buckets: dict[str, dict[str, float]] = {}\n return _create_in_memory_bucket_controller(buckets, \"Token limit exceeded\")\n\n\ndef create_in_memory_cache() -> CacheController:\n store: dict[str, dict[str, Any]] = {}\n\n class Controller:\n def get(self, key: str) -> Any:\n entry = store.get(key)\n if entry is None:\n return None\n expires_at = entry.get(\"expires_at\")\n if expires_at is not None and time.time() * 1000 > expires_at:\n store.pop(key, None)\n return None\n return entry[\"value\"]\n\n def set(self, key: str, value: Any, ttl_seconds: int | None = None) -> None:\n expires_at = None\n if ttl_seconds is not None:\n expires_at = time.time() * 1000 + ttl_seconds * 1000\n store[key] = {\"value\": value, \"expires_at\": expires_at}\n\n def clear(self, key: str) -> None:\n store.pop(key, None)\n\n return Controller()\n\n\ndef apply_rate_limit_check(\n meta: RateLimitMeta | None,\n controller: RateLimitController,\n configs: RateLimitConfigs,\n method_name: str,\n base_path: str,\n user: Any = None,\n) -> tuple[list[ResolvedRateLimitEntry], list[float]]:\n if meta is None:\n return [], []\n\n entries = meta if isinstance(meta, list) else [meta]\n resolved: list[ResolvedRateLimitEntry] = []\n remaining_balances: list[float] = []\n for entry in entries:\n raw_key = entry.key or \":route\"\n key = resolve_rate_limit_key(raw_key, method_name, base_path, user)\n cost = float(entry.cost if entry.cost is not None else 1)\n config = entry.config or configs.get(key)\n if config is None:\n raise ValueError(f'Rate limit config not found for key \"{key}\".')\n remaining = controller.deduct(key, cost, config)\n resolved.append(ResolvedRateLimitEntry(key=key, cost=cost, config=config))\n remaining_balances.append(remaining)\n return resolved, remaining_balances\n\n\ndef apply_rate_limit_refund(\n entries: list[ResolvedRateLimitEntry],\n controller: RateLimitController,\n status_code: int,\n) -> None:\n for entry in entries:\n config = entry.config\n should_refund = (\n (config.refunded_status_codes and status_code in config.refunded_status_codes)\n or (config.refund_successful and 200 <= status_code < 300)\n )\n if should_refund:\n controller.refund(entry.key, entry.cost, config)\n\n\ndef apply_token_limit_check(\n meta: TokenLimitMeta | None,\n controller: TokenLimitController,\n configs: TokenLimitConfigs,\n method_name: str,\n base_path: str,\n params: Any,\n ctx: Any,\n user: Any = None,\n) -> tuple[list[ResolvedTokenLimitEntry], list[float]]:\n if meta is None:\n return [], []\n\n entries = meta if isinstance(meta, list) else [meta]\n resolved: list[ResolvedTokenLimitEntry] = []\n remaining_balances: list[float] = []\n for entry in entries:\n raw_key = entry.key or \":route\"\n key = resolve_token_limit_key(raw_key, method_name, base_path, user)\n call_cost = resolve_call_cost(entry.call_cost if entry.call_cost is not None else 1, params, ctx)\n config = entry.config or configs.get(key)\n if config is None:\n raise ValueError(f'Token limit config not found for key \"{key}\".')\n remaining = controller.deduct(key, call_cost, config)\n resolved.append(\n ResolvedTokenLimitEntry(\n key=key,\n call_cost=call_cost,\n response_cost_spec=entry.response_cost,\n failure_cost_spec=entry.failure_cost,\n config=config,\n )\n )\n remaining_balances.append(remaining)\n return resolved, remaining_balances\n\n\ndef apply_token_limit_response(\n entries: list[ResolvedTokenLimitEntry],\n controller: TokenLimitController,\n result: Any,\n timing: TokenLimitTiming,\n params: Any,\n status_code: int,\n) -> list[float]:\n response_costs: list[float] = []\n for entry in entries:\n config = entry.config\n should_refund_call = (\n (config.refunded_status_codes and status_code in config.refunded_status_codes)\n or (config.refund_successful and 200 <= status_code < 300)\n )\n if should_refund_call:\n controller.refund(entry.key, entry.call_cost, config)\n continue\n response_cost = resolve_response_cost(entry.response_cost_spec, result, timing, params)\n if response_cost > 0:\n controller.deduct(entry.key, response_cost, config)\n response_costs.append(response_cost)\n return response_costs\n\n\ndef apply_token_limit_failure(\n entries: list[ResolvedTokenLimitEntry],\n controller: TokenLimitController,\n error: Exception,\n timing: TokenLimitTiming,\n params: Any,\n status_code: int,\n) -> list[float]:\n failure_costs: list[float] = []\n for entry in entries:\n failure_cost = resolve_failure_cost(entry.failure_cost_spec, error, timing, params)\n if failure_cost > 0:\n controller.deduct(entry.key, failure_cost, entry.config)\n elif failure_cost < 0:\n controller.refund(entry.key, -failure_cost, entry.config)\n else:\n config = entry.config\n should_refund_call = (\n (config.refunded_status_codes and status_code in config.refunded_status_codes)\n or (config.refund_successful and 200 <= status_code < 300)\n )\n if should_refund_call:\n controller.refund(entry.key, entry.call_cost, config)\n failure_costs.append(failure_cost)\n return failure_costs\n\n\ndef apply_cache_check(\n meta: CacheMeta | None,\n controller: CacheController,\n params: dict[str, Any],\n http_method: str,\n method_name: str,\n base_path: str,\n user: Any = None,\n) -> tuple[str | None, bool, Any, CacheEntry | None]:\n if meta is None:\n return None, False, None, None\n\n entries = meta if isinstance(meta, list) else [meta]\n for entry in entries:\n methods = entry.methods or [\"GET\"]\n if http_method not in methods:\n continue\n cache_key = resolve_cache_key(entry.key, params, method_name, base_path, user)\n cached_value = controller.get(cache_key)\n if cached_value is not None:\n return cache_key, True, cached_value, entry\n return cache_key, False, None, entry\n return None, False, None, None\n\n\ndef apply_cache_store(cache_key: str | None, entry: CacheEntry | None, controller: CacheController, result: Any) -> None:\n if cache_key is not None and entry is not None:\n controller.set(cache_key, result, entry.ttl)\n\n\ndef resolve_call_cost(spec: TokenCallCostSpec | None, params: Any, ctx: Any) -> float:\n if spec is None:\n return 1\n if isinstance(spec, (int, float)):\n return float(spec)\n if isinstance(spec, TokenCallCostFormula):\n limit = _get_value(params, \"limit\", 0)\n param_chars = len(json.dumps(params, default=str))\n return (\n float(spec.initial or 0)\n + float(spec.per_limit or 0) * float(limit)\n + float(spec.per_char or 0) * param_chars\n )\n return float(spec(params, ctx))\n\n\ndef resolve_response_cost(spec: TokenResponseCostSpec | None, result: Any, timing: TokenLimitTiming, params: Any) -> float:\n if spec in {None, 0}:\n return 0\n if isinstance(spec, (int, float)):\n return float(spec)\n if isinstance(spec, TokenResponseCostFormula):\n return (\n float(spec.per_ms or 0) * timing.duration_ms\n + float(spec.per_item or 0) * _count_items(result)\n + float(spec.per_char or 0) * len(json.dumps(result, default=str))\n + float(spec.per_key or 0) * _count_keys(result)\n )\n return float(spec(result, timing, params))\n\n\ndef resolve_failure_cost(spec: TokenFailureCostSpec | None, error: Exception, timing: TokenLimitTiming, params: Any) -> float:\n if spec in {None, 0}:\n return 0\n if isinstance(spec, (int, float)):\n return float(spec)\n return float(spec(error, timing, params))\n\n\ndef _resolve_common_key(raw: str, method_name: str, base_path: str, user: Any = None) -> str:\n key = raw.replace(\":route\", method_name).replace(\":parent\", base_path)\n if user is not None:\n user_id = _get_value(user, \"sub\") or _get_value(user, \"id\")\n if user_id is not None:\n key = key.replace(\":user\", str(user_id))\n tier = _get_value(user, \"tier\") or _get_value(user, \"plan\")\n if tier is not None:\n key = key.replace(\":tier\", str(tier))\n for match in set(part for part in _find_user_tokens(key)):\n field = match[6:]\n value = _get_value(user, field)\n if value is not None:\n key = key.replace(match, str(value))\n return key\n\n\ndef _find_user_tokens(value: str) -> list[str]:\n parts: list[str] = []\n start = 0\n token = \":user:\"\n while True:\n idx = value.find(token, start)\n if idx < 0:\n break\n end = idx + len(token)\n while end < len(value) and (value[end].isalnum() or value[end] == \"_\"):\n end += 1\n parts.append(value[idx:end])\n start = end\n return parts\n\n\ndef _find_template_matches(value: str, open_char: str, close_char: str) -> list[str]:\n parts: list[str] = []\n start = 0\n while True:\n left = value.find(open_char, start)\n if left < 0:\n break\n right = value.find(close_char, left + 1)\n if right < 0:\n break\n parts.append(value[left : right + 1])\n start = right + 1\n return parts\n\n\ndef _get_value(obj: Any, key: str, default: Any = None) -> Any:\n if isinstance(obj, dict):\n return obj.get(key, default)\n return getattr(obj, key, default)\n\n\ndef _count_items(value: Any) -> int:\n if isinstance(value, list):\n return len(value)\n if isinstance(value, dict):\n return 1\n return 0\n\n\ndef _count_keys(value: Any) -> int:\n if isinstance(value, dict):\n return len(value.keys())\n return 0\n\n\ndef _create_in_memory_bucket_controller(\n buckets: dict[str, dict[str, float]],\n message: str,\n):\n class Controller:\n def check(self, key: str, config: BucketConfig) -> float:\n return _refill_bucket(buckets, key, config)\n\n def deduct(self, key: str, cost: float, config: BucketConfig) -> float:\n balance = _refill_bucket(buckets, key, config)\n new_balance = balance - cost\n min_balance = config.min_balance\n if new_balance < min_balance:\n deficit = min_balance - new_balance\n intervals_needed = math.ceil(deficit / config.fill_amount)\n retry_after_ms = intervals_needed * config.fill_interval\n raise HttpError(429, message, {\"retry_after_ms\": retry_after_ms})\n buckets[key][\"balance\"] = new_balance\n return new_balance\n\n def refund(self, key: str, cost: float, config: BucketConfig) -> None:\n if key not in buckets:\n buckets[key] = {\n \"balance\": min(config.max_balance, cost),\n \"last_refill_ms\": time.time() * 1000,\n }\n else:\n buckets[key][\"balance\"] = min(config.max_balance, buckets[key][\"balance\"] + cost)\n\n return Controller()\n\n\ndef _refill_bucket(buckets: dict[str, dict[str, float]], key: str, config: BucketConfig) -> float:\n now = time.time() * 1000\n bucket = buckets.get(key)\n if bucket is None:\n buckets[key] = {\"balance\": config.max_balance, \"last_refill_ms\": now}\n return config.max_balance\n\n elapsed_ms = now - bucket[\"last_refill_ms\"]\n intervals_elapsed = math.floor(elapsed_ms / config.fill_interval)\n if intervals_elapsed > 0:\n generated = intervals_elapsed * config.fill_amount\n bucket[\"balance\"] = min(config.max_balance, bucket[\"balance\"] + generated)\n bucket[\"last_refill_ms\"] = now\n return bucket[\"balance\"]\n",
|
|
9
|
-
"plat_browser/server.py": "from __future__ import annotations\n\nimport ast\nimport inspect\nimport logging\nimport re\nfrom dataclasses import dataclass, field\nimport time\nimport sys\nfrom typing import Any, Awaitable, Callable, Literal, Mapping, get_args, get_origin, get_type_hints\n\nfrom .decorators import ROUTE_METADATA_KEY\nfrom .errors import HttpError\nfrom .metadata import get_controller_meta\nfrom .plugins import (\n BucketConfig,\n CacheEntry,\n CacheMeta,\n CacheContext,\n RateLimitContext,\n RateLimitEntry,\n RateLimitMeta,\n TokenLimitContext,\n TokenLimitEntry,\n TokenLimitMeta,\n TokenLimitTiming,\n apply_cache_check,\n apply_cache_store,\n apply_rate_limit_check,\n apply_rate_limit_refund,\n apply_token_limit_check,\n apply_token_limit_failure,\n apply_token_limit_response,\n create_in_memory_cache,\n create_in_memory_rate_limit,\n create_in_memory_token_limit,\n)\nfrom .types import ControllerMeta, RouteContext, RouteMeta\n\n\nUndecoratedMode = Literal[\"GET\", \"POST\", \"private\"]\nServerMessage = Mapping[str, Any]\nRESERVED_METHOD_NAMES = {\"tools\", \"routes\", \"endpoints\", \"help\", \"openapi\"}\nLEGACY_PAYLOAD_PARAM_NAMES = {\"input\", \"payload\", \"body\", \"data\"}\nPYTHON_BROWSER_STDLIB_MODULES = {\n \"__future__\",\n \"abc\",\n \"argparse\",\n \"asyncio\",\n \"base64\",\n \"collections\",\n \"copy\",\n \"csv\",\n \"dataclasses\",\n \"datetime\",\n \"decimal\",\n \"enum\",\n \"functools\",\n \"hashlib\",\n \"itertools\",\n \"json\",\n \"logging\",\n \"math\",\n \"pathlib\",\n \"random\",\n \"re\",\n \"statistics\",\n \"string\",\n \"sys\",\n \"textwrap\",\n \"time\",\n \"typing\",\n \"uuid\",\n}\n\n\n@dataclass(slots=True)\nclass BrowserPackagePlan:\n python_source: str\n requested_packages: list[str] = field(default_factory=list)\n imported_modules: list[str] = field(default_factory=list)\n import_rewrites: list[str] = field(default_factory=list)\n\n\n@dataclass(slots=True)\nclass BrowserServerDefinition:\n server_name: str\n controllers: list[type[Any]]\n requested_packages: list[str] = field(default_factory=list)\n imported_modules: list[str] = field(default_factory=list)\n options: dict[str, Any] = field(default_factory=dict)\n\n\n@dataclass(slots=True)\nclass BrowserResolvedOperation:\n method_name: str\n method: str\n path: str\n bound_method: Any\n route_meta: RouteMeta\n controller_meta: ControllerMeta\n input_annotation: Any\n output_annotation: Any\n params: list[inspect.Parameter]\n\n\nBrowserMiddlewareContext = dict[str, Any]\nBrowserMiddleware = Callable[[BrowserMiddlewareContext, Callable[[], Awaitable[Any]]], Awaitable[Any] | Any]\n\n\nclass CallBridge:\n def __init__(self, emit=None):\n self._emit = emit\n\n def emit(self, event: str, data: Any) -> None:\n if callable(self._emit):\n self._emit({\"event\": event, \"data\": data})\n\n def progress(self, data: Any) -> None:\n self.emit(\"progress\", data)\n\n def log(self, data: Any) -> None:\n self.emit(\"log\", data)\n\n def chunk(self, data: Any) -> None:\n self.emit(\"chunk\", data)\n\n def message(self, data: Any) -> None:\n self.emit(\"message\", data)\n\n\nclass BrowserPLATServer:\n def __init__(\n self,\n options: Mapping[str, Any] | None = None,\n *controller_classes: type[Any],\n server_name: str | None = None,\n undecorated_mode: UndecoratedMode = \"POST\",\n ) -> None:\n self.options = dict(options or {})\n self.server_name = server_name or self.options.get(\"server_name\") or \"browser-python-server\"\n self.undecorated_mode = cast_undecorated_mode(self.options.get(\"undecorated_mode\"), undecorated_mode)\n self.logger = self.options.get(\"logger\") or logging.getLogger(\"plat_browser.server\")\n self.middleware: list[BrowserMiddleware] = list(self.options.get(\"middleware\") or [])\n self.routes: list[dict[str, str]] = []\n self.tools: dict[str, dict[str, Any]] = {}\n self.operations_by_id: dict[str, BrowserResolvedOperation] = {}\n self.operations_by_route: dict[str, BrowserResolvedOperation] = {}\n self.registered_method_names: set[str] = set()\n self.registered_controller_names: set[str] = set()\n self._setup_policy_defaults()\n if controller_classes:\n self.register(*controller_classes)\n\n def use(self, middleware: BrowserMiddleware) -> \"BrowserPLATServer\":\n self.middleware.append(middleware)\n return self\n\n @property\n def openapi(self) -> dict[str, Any]:\n return self.generate_openapi()\n\n def _setup_policy_defaults(self) -> None:\n if self.options.get(\"rate_limit\") is not None and not self.options[\"rate_limit\"].get(\"controller\"):\n self.options[\"rate_limit\"][\"controller\"] = create_in_memory_rate_limit()\n if self.options.get(\"token_limit\") is not None and not self.options[\"token_limit\"].get(\"controller\"):\n self.options[\"token_limit\"][\"controller\"] = create_in_memory_token_limit()\n if self.options.get(\"cache\") is not None and not self.options[\"cache\"].get(\"controller\"):\n self.options[\"cache\"][\"controller\"] = create_in_memory_cache()\n\n def register(self, *controller_classes: type[Any]) -> \"BrowserPLATServer\":\n for controller_class in controller_classes:\n meta = get_controller_meta(controller_class) or ControllerMeta(\n base_path=controller_class.__name__,\n tag=controller_class.__name__,\n )\n instance = controller_class()\n controller_tag = meta.tag or meta.base_path or controller_class.__name__\n lower_controller_tag = controller_tag.lower()\n if lower_controller_tag in RESERVED_METHOD_NAMES:\n raise ValueError(f\"Controller '{controller_tag}' uses a reserved plat system name.\")\n if controller_tag in self.registered_method_names:\n raise ValueError(f\"Controller '{controller_tag}' conflicts with an existing method name.\")\n self.registered_controller_names.add(controller_tag)\n\n methods = inspect.getmembers(controller_class, predicate=inspect.isfunction)\n for method_name, method_fn in methods:\n route_meta = getattr(method_fn, ROUTE_METADATA_KEY, None)\n if route_meta is None:\n route_meta = self._build_implicit_route_meta(method_name)\n if route_meta is None:\n continue\n self._hydrate_route_meta(route_meta, method_fn)\n self._validate_method_name(method_name, controller_class.__name__)\n if method_name in self.registered_controller_names:\n raise ValueError(f\"Method '{method_name}' in {controller_class.__name__} conflicts with controller name '{method_name}'.\")\n if method_name in self.registered_method_names:\n raise ValueError(f'Duplicate operationId: method \"{method_name}\" is defined in multiple controllers.')\n self.registered_method_names.add(method_name)\n\n bound_method = getattr(instance, method_name)\n full_path = route_meta.path or f\"/{method_name}\"\n operation = BrowserResolvedOperation(\n method_name=method_name,\n method=(route_meta.method or \"POST\").upper(),\n path=full_path,\n bound_method=bound_method,\n route_meta=route_meta,\n controller_meta=meta,\n input_annotation=route_meta.input_model,\n output_annotation=route_meta.output_model,\n params=list(inspect.signature(method_fn).parameters.values())[1:],\n )\n self.operations_by_id[method_name] = operation\n self.operations_by_route[f\"{operation.method} {operation.path}\"] = operation\n self.routes.append({\"method\": operation.method, \"path\": operation.path, \"methodName\": method_name})\n self.tools[method_name] = {\n \"name\": method_name,\n \"summary\": route_meta.summary,\n \"description\": route_meta.description or f\"{operation.method} {full_path}\",\n \"method\": operation.method,\n \"path\": full_path,\n \"controller\": controller_tag,\n \"tags\": [controller_tag],\n \"input_schema\": self._build_schema(route_meta.input_model),\n \"response_schema\": self._build_schema(route_meta.output_model),\n }\n return self\n\n def generate_openapi(self) -> dict[str, Any]:\n paths: dict[str, dict[str, Any]] = {}\n for operation in self.operations_by_id.values():\n path_item = paths.setdefault(operation.path, {})\n entry: dict[str, Any] = {\n \"operationId\": operation.method_name,\n \"summary\": operation.route_meta.summary,\n \"description\": operation.route_meta.description,\n \"responses\": {\"200\": {\"description\": \"ok\"}},\n }\n input_schema = self._build_schema(operation.input_annotation)\n if input_schema is not None:\n entry[\"requestBody\"] = {\n \"required\": True,\n \"content\": {\"application/json\": {\"schema\": input_schema}},\n }\n response_schema = self._build_schema(operation.output_annotation)\n if response_schema is not None:\n entry[\"responses\"][\"200\"][\"content\"] = {\"application/json\": {\"schema\": response_schema}}\n path_item[operation.method.lower()] = trim_none(entry)\n return {\n \"openapi\": \"3.1.0\",\n \"info\": {\"title\": \"plat browser python server\", \"version\": \"0.1.0\"},\n \"paths\": paths,\n }\n\n async def handle_request(self, message: ServerMessage, emit=None) -> Any:\n message = normalize_server_message(message)\n operation = self._resolve_operation(\n operation_id=coerce_str(message.get(\"operationId\")),\n method=coerce_str(message.get(\"method\")) or \"POST\",\n path=coerce_str(message.get(\"path\")) or \"\",\n )\n if operation is None:\n raise KeyError(\"No browser operation matched the incoming request.\")\n\n payload = (\n message.get(\"input\")\n if \"input\" in message\n else message.get(\"body\")\n if \"body\" in message\n else message.get(\"params\")\n if \"params\" in message\n else {}\n )\n ctx = RouteContext(\n method=operation.method,\n url=operation.path,\n headers=dict(message.get(\"headers\") or {}),\n call=CallBridge(emit),\n opts={\"transport\": \"browser-python\"},\n request=dict(message),\n )\n status_code = 200\n rate_limit_entries = []\n token_limit_entries = []\n token_limit_start_ms = int(time.time() * 1000)\n handler_called = False\n on_request = self.options.get(\"on_request\") or self.options.get(\"onRequest\")\n on_response = self.options.get(\"on_response\") or self.options.get(\"onResponse\")\n on_error = self.options.get(\"on_error\") or self.options.get(\"onError\")\n if callable(on_request):\n maybe = on_request(message, ctx)\n if inspect.isawaitable(maybe):\n await maybe\n auth_mode = operation.route_meta.auth or operation.controller_meta.auth or self.options.get(\"default_auth\")\n auth_handler = self.options.get(\"auth\")\n if auth_mode and auth_handler and callable(auth_handler.get(\"verify\")):\n auth_result = auth_handler[\"verify\"](auth_mode, message, ctx)\n if inspect.isawaitable(auth_result):\n auth_result = await auth_result\n ctx.auth = auth_result\n rate_limit_meta = self._get_rate_limit_meta(operation.route_meta, operation.controller_meta)\n if rate_limit_meta is not None and self.options.get(\"rate_limit\", {}).get(\"controller\"):\n entries, balances = apply_rate_limit_check(\n rate_limit_meta,\n self.options[\"rate_limit\"][\"controller\"],\n self.options[\"rate_limit\"].get(\"configs\", {}),\n operation.method_name,\n operation.controller_meta.base_path,\n ctx.auth,\n )\n rate_limit_entries = entries\n ctx.rate_limit = RateLimitContext(entries=entries, remaining_balances=balances)\n token_limit_meta = self._get_token_limit_meta(operation.route_meta, operation.controller_meta)\n if token_limit_meta is not None and self.options.get(\"token_limit\", {}).get(\"controller\"):\n entries, balances = apply_token_limit_check(\n token_limit_meta,\n self.options[\"token_limit\"][\"controller\"],\n self.options[\"token_limit\"].get(\"configs\", {}),\n operation.method_name,\n operation.controller_meta.base_path,\n payload,\n ctx,\n ctx.auth,\n )\n token_limit_entries = entries\n ctx.token_limit = TokenLimitContext(entries=entries, remaining_balances=balances)\n cache_key = None\n cache_entry = None\n cache_meta = self._get_cache_meta(operation.route_meta, operation.controller_meta)\n if cache_meta is not None and self.options.get(\"cache\", {}).get(\"controller\"):\n cache_key, hit, cached_value, cache_entry = apply_cache_check(\n cache_meta,\n self.options[\"cache\"][\"controller\"],\n dict(payload) if isinstance(payload, Mapping) else {},\n operation.method,\n operation.method_name,\n operation.controller_meta.base_path,\n ctx.auth,\n )\n ctx.cache = CacheContext(key=cache_key, hit=hit, stored=False)\n if hit:\n return cached_value\n middleware_context: BrowserMiddlewareContext = {\n \"request\": dict(message),\n \"operation\": operation,\n \"ctx\": ctx,\n \"input\": payload,\n \"logger\": self.logger,\n }\n try:\n handler_called = True\n result = await self._run_middleware_chain(\n middleware_context,\n lambda: self._invoke_handler(operation.bound_method, operation.params, payload, ctx),\n )\n if token_limit_entries and self.options.get(\"token_limit\", {}).get(\"controller\"):\n timing = TokenLimitTiming(\n start_ms=token_limit_start_ms,\n end_ms=int(time.time() * 1000),\n duration_ms=max(0, int(time.time() * 1000) - token_limit_start_ms),\n )\n response_costs = apply_token_limit_response(\n token_limit_entries,\n self.options[\"token_limit\"][\"controller\"],\n result,\n timing,\n payload,\n status_code,\n )\n if ctx.token_limit:\n ctx.token_limit.timing = timing\n ctx.token_limit.response_costs = response_costs\n if rate_limit_entries and self.options.get(\"rate_limit\", {}).get(\"controller\"):\n apply_rate_limit_refund(rate_limit_entries, self.options[\"rate_limit\"][\"controller\"], status_code)\n if cache_entry is not None and self.options.get(\"cache\", {}).get(\"controller\"):\n apply_cache_store(cache_key, cache_entry, self.options[\"cache\"][\"controller\"], result)\n if ctx.cache:\n ctx.cache.stored = True\n if callable(on_response):\n maybe = on_response(message, ctx, result)\n if inspect.isawaitable(maybe):\n await maybe\n return result\n except Exception as error:\n status_code = getattr(error, \"status_code\", 500)\n if token_limit_entries and self.options.get(\"token_limit\", {}).get(\"controller\") and handler_called:\n timing = TokenLimitTiming(\n start_ms=token_limit_start_ms,\n end_ms=int(time.time() * 1000),\n duration_ms=max(0, int(time.time() * 1000) - token_limit_start_ms),\n )\n failure_costs = apply_token_limit_failure(\n token_limit_entries,\n self.options[\"token_limit\"][\"controller\"],\n error,\n timing,\n payload,\n status_code,\n )\n if ctx.token_limit:\n ctx.token_limit.timing = timing\n ctx.token_limit.failure_costs = failure_costs\n if rate_limit_entries and self.options.get(\"rate_limit\", {}).get(\"controller\"):\n apply_rate_limit_refund(rate_limit_entries, self.options[\"rate_limit\"][\"controller\"], status_code)\n self.logger.error(\"BrowserPLATServer request failed\", exc_info=error)\n if callable(on_error):\n maybe = on_error(message, ctx, error)\n if inspect.isawaitable(maybe):\n await maybe\n raise\n\n def _resolve_operation(self, *, operation_id: str | None, method: str, path: str) -> BrowserResolvedOperation | None:\n if operation_id and operation_id in self.operations_by_id:\n return self.operations_by_id[operation_id]\n return self.operations_by_route.get(f\"{method.upper()} {path}\")\n\n async def _run_middleware_chain(\n self,\n context: BrowserMiddlewareContext,\n final_handler: Callable[[], Any],\n ) -> Any:\n index = -1\n\n async def dispatch(next_index: int) -> Any:\n nonlocal index\n if next_index <= index:\n raise RuntimeError(\"Browser middleware called next() multiple times\")\n index = next_index\n if next_index >= len(self.middleware):\n result = final_handler()\n if inspect.isawaitable(result):\n return await result\n return result\n middleware = self.middleware[next_index]\n result = middleware(context, lambda: dispatch(next_index + 1))\n if inspect.isawaitable(result):\n return await result\n return result\n\n return await dispatch(0)\n\n def _invoke_handler(self, bound_method: Any, params: list[inspect.Parameter], parsed_input: Any, ctx: RouteContext) -> Any:\n if not params:\n return bound_method()\n non_context_params = [param for param in params if not self._is_context_parameter(param)]\n use_legacy_payload_param = (\n len(non_context_params) == 1\n and non_context_params[0].name in LEGACY_PAYLOAD_PARAM_NAMES\n )\n is_mapping_payload = isinstance(parsed_input, Mapping)\n\n if len(params) == 1:\n only_param = params[0]\n if self._is_context_parameter(only_param):\n return bound_method(ctx)\n if use_legacy_payload_param or not is_mapping_payload:\n return bound_method(parsed_input)\n if only_param.kind is inspect.Parameter.VAR_KEYWORD:\n return bound_method(**dict(parsed_input))\n return bound_method(**{only_param.name: parsed_input.get(only_param.name, parsed_input)})\n\n args: list[Any] = []\n kwargs: dict[str, Any] = {}\n payload_mapping = dict(parsed_input) if is_mapping_payload else {}\n\n for param in params:\n if self._is_context_parameter(param):\n if param.kind is inspect.Parameter.POSITIONAL_ONLY:\n args.append(ctx)\n else:\n kwargs[param.name] = ctx\n continue\n\n if use_legacy_payload_param:\n if param.kind is inspect.Parameter.POSITIONAL_ONLY:\n args.append(parsed_input)\n else:\n kwargs[param.name] = parsed_input\n continue\n\n if param.kind is inspect.Parameter.VAR_KEYWORD:\n kwargs.update(payload_mapping)\n continue\n\n if not is_mapping_payload:\n if param.kind is inspect.Parameter.POSITIONAL_ONLY:\n args.append(parsed_input)\n else:\n kwargs[param.name] = parsed_input\n continue\n\n if param.name not in payload_mapping:\n continue\n\n if param.kind is inspect.Parameter.POSITIONAL_ONLY:\n args.append(payload_mapping[param.name])\n else:\n kwargs[param.name] = payload_mapping[param.name]\n\n return bound_method(*args, **kwargs)\n\n def _is_context_parameter(self, param: inspect.Parameter) -> bool:\n return param.annotation is RouteContext or param.name in {\"ctx\", \"context\"}\n\n def _build_implicit_route_meta(self, method_name: str) -> RouteMeta | None:\n if self.undecorated_mode == \"private\" or method_name.startswith(\"_\"):\n return None\n return RouteMeta(name=method_name, method=self.undecorated_mode, path=f\"/{method_name}\")\n\n def _hydrate_route_meta(self, route_meta: RouteMeta, method_fn: Any) -> None:\n signature = inspect.signature(method_fn)\n params = list(signature.parameters.values())[1:]\n module = sys.modules.get(getattr(method_fn, \"__module__\", \"\"))\n try:\n resolved_hints = get_type_hints(\n method_fn,\n globalns=vars(module) if module is not None else None,\n )\n except Exception:\n resolved_hints = {}\n input_params = [\n param.replace(annotation=resolved_hints.get(param.name, param.annotation))\n for param in params\n if not self._is_context_parameter(param)\n ]\n route_meta.input_model = build_input_model_from_params(input_params)\n route_meta.output_model = resolved_hints.get(\"return\", signature.return_annotation)\n if route_meta.path is None:\n route_meta.path = f\"/{route_meta.name}\"\n if route_meta.method is None:\n route_meta.method = self.undecorated_mode if self.undecorated_mode != \"private\" else \"POST\"\n docstring = inspect.getdoc(method_fn)\n if docstring and not route_meta.summary:\n first_line, *_ = docstring.splitlines()\n route_meta.summary = first_line.strip() or None\n if len(docstring.splitlines()) > 1 and not route_meta.description:\n route_meta.description = docstring.strip()\n\n def _validate_method_name(self, method_name: str, controller_name: str) -> None:\n if not method_name:\n return\n if method_name[0].isalpha() and method_name[0].isupper():\n raise ValueError(f\"Method '{method_name}' in {controller_name} violates plat naming convention: method names must start with a lowercase letter.\")\n if \"_\" in method_name:\n raise ValueError(f\"Method '{method_name}' in {controller_name} violates plat naming convention: underscores are not allowed.\")\n if method_name.lower() in RESERVED_METHOD_NAMES:\n raise ValueError(f\"Method '{method_name}' in {controller_name} uses a reserved plat system name.\")\n\n def _build_schema(self, annotation: Any) -> dict[str, Any] | None:\n if isinstance(annotation, dict) and \"type\" in annotation:\n return annotation\n if annotation in {None, inspect.Signature.empty, Any}:\n return None\n return annotation_to_schema(annotation)\n\n def _get_rate_limit_meta(self, route_meta: RouteMeta, controller_meta: ControllerMeta):\n route_value = (route_meta.opts or {}).get(\"rateLimit\", route_meta.rate_limit)\n controller_value = getattr(controller_meta, \"rate_limit\", None)\n return self._coerce_rate_limit_meta(route_value or controller_value)\n\n def _get_token_limit_meta(self, route_meta: RouteMeta, controller_meta: ControllerMeta):\n route_value = (route_meta.opts or {}).get(\"tokenLimit\", route_meta.token_limit)\n controller_value = getattr(controller_meta, \"token_limit\", None)\n return self._coerce_token_limit_meta(route_value or controller_value)\n\n def _get_cache_meta(self, route_meta: RouteMeta, controller_meta: ControllerMeta):\n route_value = (route_meta.opts or {}).get(\"cache\", route_meta.cache)\n controller_value = getattr(controller_meta, \"cache\", None)\n return self._coerce_cache_meta(route_value or controller_value)\n\n def _coerce_rate_limit_meta(self, value: Any):\n if value is None:\n return None\n if isinstance(value, list):\n return [self._coerce_rate_limit_entry(item) for item in value]\n return self._coerce_rate_limit_entry(value)\n\n def _coerce_token_limit_meta(self, value: Any):\n if value is None:\n return None\n if isinstance(value, list):\n return [self._coerce_token_limit_entry(item) for item in value]\n return self._coerce_token_limit_entry(value)\n\n def _coerce_cache_meta(self, value: Any):\n if value is None:\n return None\n if isinstance(value, list):\n return [self._coerce_cache_entry(item) for item in value]\n return self._coerce_cache_entry(value)\n\n def _coerce_rate_limit_entry(self, value: Any) -> RateLimitEntry:\n if isinstance(value, RateLimitEntry):\n return value\n data = dict(value)\n if isinstance(data.get(\"config\"), dict):\n data[\"config\"] = self._coerce_bucket_config(data[\"config\"])\n return RateLimitEntry(\n key=data.get(\"key\"),\n cost=data.get(\"cost\"),\n config=data.get(\"config\"),\n )\n\n def _coerce_token_limit_entry(self, value: Any) -> TokenLimitEntry:\n if isinstance(value, TokenLimitEntry):\n return value\n data = dict(value)\n if isinstance(data.get(\"config\"), dict):\n data[\"config\"] = self._coerce_bucket_config(data[\"config\"])\n return TokenLimitEntry(\n key=data.get(\"key\"),\n call_cost=data.get(\"callCost\", data.get(\"call_cost\")),\n response_cost=data.get(\"responseCost\", data.get(\"response_cost\")),\n failure_cost=data.get(\"failureCost\", data.get(\"failure_cost\")),\n config=data.get(\"config\"),\n )\n\n def _coerce_cache_entry(self, value: Any) -> CacheEntry:\n if isinstance(value, CacheEntry):\n return value\n data = dict(value)\n return CacheEntry(\n key=data[\"key\"],\n ttl=data.get(\"ttl\"),\n methods=data.get(\"methods\"),\n )\n\n def _coerce_bucket_config(self, value: Any) -> BucketConfig:\n if isinstance(value, BucketConfig):\n return value\n data = dict(value)\n return BucketConfig(\n max_balance=data[\"maxBalance\"] if \"maxBalance\" in data else data[\"max_balance\"],\n fill_interval=data[\"fillInterval\"] if \"fillInterval\" in data else data[\"fill_interval\"],\n fill_amount=data[\"fillAmount\"] if \"fillAmount\" in data else data[\"fill_amount\"],\n refunded_status_codes=data.get(\"refundedStatusCodes\", data.get(\"refunded_status_codes\")),\n refund_successful=data.get(\"refundSuccessful\", data.get(\"refund_successful\")),\n min_balance=data.get(\"minBalance\", data.get(\"min_balance\", 0)),\n )\n\n\ndef create_browser_server(\n options: Mapping[str, Any] | None = None,\n *controller_classes: type[Any],\n server_name: str | None = None,\n undecorated_mode: UndecoratedMode = \"POST\",\n) -> BrowserPLATServer:\n return BrowserPLATServer(options, *controller_classes, server_name=server_name, undecorated_mode=undecorated_mode)\n\n\n# Server-style parity alias.\ncreate_server = create_browser_server\n\n\ndef serve_client_side_server(\n server_name: str,\n controllers: list[type[Any]] | tuple[type[Any], ...],\n **options: Any,\n) -> BrowserServerDefinition:\n definition = BrowserServerDefinition(\n server_name=server_name,\n controllers=list(controllers),\n requested_packages=list(options.pop(\"requested_packages\", []) or []),\n imported_modules=list(options.pop(\"imported_modules\", []) or []),\n options=dict(options),\n )\n frame = inspect.currentframe()\n caller_globals = frame.f_back.f_globals if frame and frame.f_back else None\n if isinstance(caller_globals, dict):\n caller_globals[\"__plat_browser_server_definition__\"] = definition\n caller_globals.setdefault(\"client_side_server\", definition)\n return definition\n\n\n# Server-style parity alias.\nserve_server = serve_client_side_server\n\n\ndef prepare_python_source(source: str) -> BrowserPackagePlan:\n requested_packages: list[str] = []\n rewrites: list[str] = []\n python_lines: list[str] = []\n for raw_line in source.splitlines():\n stripped = raw_line.strip()\n if stripped.startswith(\"!pip install \"):\n package_args = stripped[len(\"!pip install \") :].strip().split()\n requested_packages.extend(arg for arg in package_args if arg and not arg.startswith(\"-\"))\n continue\n fixed_line, note = _rewrite_server_side_import_for_browser(raw_line)\n if note is not None:\n rewrites.append(note)\n python_lines.append(fixed_line)\n python_source = \"\\n\".join(python_lines)\n imported_modules = [\n module\n for module in detect_imports(python_source)\n if module not in PYTHON_BROWSER_STDLIB_MODULES and module != \"plat\" and module != \"plat_browser\"\n ]\n return BrowserPackagePlan(\n python_source=python_source,\n requested_packages=dedupe_keep_order(requested_packages),\n imported_modules=dedupe_keep_order(imported_modules),\n import_rewrites=rewrites,\n )\n\n\ndef _rewrite_server_side_import_for_browser(raw_line: str) -> tuple[str, str | None]:\n \"\"\"\n Best-effort autofix for browser runtime code that accidentally imports from `plat`.\n Rewrites imports to `plat_browser` while preserving alias style where possible.\n \"\"\"\n from_import = re.match(r\"^(\\s*)from\\s+plat\\s+import\\s+(.+?)\\s*$\", raw_line)\n if from_import:\n indent = from_import.group(1)\n names = from_import.group(2)\n fixed = f\"{indent}from plat_browser import {names}\"\n return fixed, \"rewrote: from plat import ... -> from plat_browser import ...\"\n\n import_alias = re.match(r\"^(\\s*)import\\s+plat\\s+as\\s+([A-Za-z_][A-Za-z0-9_]*)\\s*$\", raw_line)\n if import_alias:\n indent = import_alias.group(1)\n alias = import_alias.group(2)\n fixed = f\"{indent}import plat_browser as {alias}\"\n return fixed, \"rewrote: import plat as ... -> import plat_browser as ...\"\n\n import_plain = re.match(r\"^(\\s*)import\\s+plat\\s*$\", raw_line)\n if import_plain:\n indent = import_plain.group(1)\n fixed = f\"{indent}import plat_browser as plat\"\n return fixed, \"rewrote: import plat -> import plat_browser as plat\"\n\n return raw_line, None\n\n\ndef detect_imports(source: str) -> list[str]:\n tree = ast.parse(source)\n modules: list[str] = []\n for node in ast.walk(tree):\n if isinstance(node, ast.Import):\n for alias in node.names:\n modules.append(alias.name.split(\".\")[0])\n elif isinstance(node, ast.ImportFrom):\n if node.module:\n modules.append(node.module.split(\".\")[0])\n return dedupe_keep_order(modules)\n\n\ndef annotation_to_schema(annotation: Any) -> dict[str, Any]:\n origin = get_origin(annotation)\n args = get_args(annotation)\n if annotation is str:\n return {\"type\": \"string\"}\n if annotation is int:\n return {\"type\": \"integer\"}\n if annotation is float:\n return {\"type\": \"number\"}\n if annotation is bool:\n return {\"type\": \"boolean\"}\n if annotation in {dict, Mapping}:\n return {\"type\": \"object\", \"additionalProperties\": True}\n if annotation in {list, tuple}:\n return {\"type\": \"array\", \"items\": {}}\n if origin is Literal:\n values = list(args)\n schema: dict[str, Any] = {\"enum\": values}\n if values:\n schema.update(annotation_to_schema(type(values[0])))\n return schema\n if origin in {list, tuple}:\n item_annotation = args[0] if args else Any\n return {\"type\": \"array\", \"items\": annotation_to_schema(item_annotation)}\n if origin in {dict, Mapping}:\n value_annotation = args[1] if len(args) > 1 else Any\n return {\"type\": \"object\", \"additionalProperties\": annotation_to_schema(value_annotation) if value_annotation is not Any else True}\n if origin is not None and str(origin) == \"typing.Union\":\n variants = [annotation_to_schema(arg) for arg in args if arg is not type(None)]\n if len(variants) == 1:\n schema = variants[0]\n if len(args) != len(variants):\n schema = {**schema, \"nullable\": True}\n return schema\n return {\"anyOf\": variants}\n if hasattr(annotation, \"__annotations__\") and isinstance(getattr(annotation, \"__annotations__\"), dict):\n return typed_mapping_schema(annotation.__annotations__)\n return {\"type\": \"object\", \"additionalProperties\": True}\n\n\ndef build_input_model_from_params(params: list[inspect.Parameter]) -> Any:\n if not params:\n return None\n if len(params) == 1 and params[0].name in LEGACY_PAYLOAD_PARAM_NAMES:\n return params[0].annotation\n\n properties: dict[str, Any] = {}\n required: list[str] = []\n for param in params:\n if param.kind is inspect.Parameter.VAR_POSITIONAL:\n continue\n if param.kind is inspect.Parameter.VAR_KEYWORD:\n return {\n \"type\": \"object\",\n \"properties\": properties,\n \"required\": required,\n \"additionalProperties\": True,\n }\n annotation = param.annotation\n properties[param.name] = annotation_to_schema(annotation) if annotation is not inspect.Signature.empty else {\"type\": \"object\", \"additionalProperties\": True}\n if param.default is inspect.Signature.empty:\n required.append(param.name)\n\n return {\n \"type\": \"object\",\n \"properties\": properties,\n \"required\": required,\n }\n\n\ndef typed_mapping_schema(annotations: Mapping[str, Any]) -> dict[str, Any]:\n properties: dict[str, Any] = {}\n required: list[str] = []\n for key, value in annotations.items():\n properties[key] = annotation_to_schema(value)\n required.append(key)\n return {\"type\": \"object\", \"properties\": properties, \"required\": required}\n\n\ndef dedupe_keep_order(values: list[str]) -> list[str]:\n seen: set[str] = set()\n deduped: list[str] = []\n for value in values:\n if value in seen:\n continue\n seen.add(value)\n deduped.append(value)\n return deduped\n\n\ndef trim_none(value: Any) -> Any:\n if isinstance(value, dict):\n return {key: trim_none(inner) for key, inner in value.items() if inner is not None}\n if isinstance(value, list):\n return [trim_none(item) for item in value]\n return value\n\n\ndef coerce_str(value: Any) -> str | None:\n return value if isinstance(value, str) else None\n\n\ndef cast_undecorated_mode(value: Any, fallback: UndecoratedMode) -> UndecoratedMode:\n if value in {\"GET\", \"POST\", \"private\"}:\n return value\n return fallback\n\n\ndef normalize_server_message(message: Any) -> dict[str, Any]:\n if isinstance(message, dict):\n return message\n if isinstance(message, Mapping):\n return dict(message)\n\n to_py = getattr(message, \"to_py\", None)\n if callable(to_py):\n try:\n converted = to_py()\n except TypeError:\n converted = to_py(depth=-1)\n return normalize_server_message(converted)\n\n keys = (\"operationId\", \"method\", \"path\", \"input\", \"body\", \"params\", \"headers\")\n normalized: dict[str, Any] = {}\n for key in keys:\n value = None\n if hasattr(message, key):\n value = getattr(message, key)\n else:\n try:\n value = message[key]\n except Exception:\n value = None\n if value is not None:\n normalized[key] = value\n return normalized\n",
|
|
9
|
+
"plat_browser/server.py": "from __future__ import annotations\n\nimport ast\nimport inspect\nimport logging\nimport re\nfrom dataclasses import dataclass, field\nimport time\nimport sys\nfrom typing import Any, Awaitable, Callable, Literal, Mapping, get_args, get_origin, get_type_hints\n\nfrom .decorators import ROUTE_METADATA_KEY\nfrom .errors import HttpError\nfrom .metadata import get_controller_meta\nfrom .plugins import (\n BucketConfig,\n CacheEntry,\n CacheMeta,\n CacheContext,\n RateLimitContext,\n RateLimitEntry,\n RateLimitMeta,\n TokenLimitContext,\n TokenLimitEntry,\n TokenLimitMeta,\n TokenLimitTiming,\n apply_cache_check,\n apply_cache_store,\n apply_rate_limit_check,\n apply_rate_limit_refund,\n apply_token_limit_check,\n apply_token_limit_failure,\n apply_token_limit_response,\n create_in_memory_cache,\n create_in_memory_rate_limit,\n create_in_memory_token_limit,\n)\nfrom .types import ControllerMeta, RouteContext, RouteMeta\n\n\nUndecoratedMode = Literal[\"GET\", \"POST\", \"private\"]\nServerMessage = Mapping[str, Any]\nRESERVED_METHOD_NAMES = {\"tools\", \"routes\", \"endpoints\", \"help\", \"openapi\"}\nLEGACY_PAYLOAD_PARAM_NAMES = {\"input\", \"payload\", \"body\", \"data\"}\nPYTHON_BROWSER_STDLIB_MODULES = {\n \"__future__\",\n \"abc\",\n \"argparse\",\n \"asyncio\",\n \"base64\",\n \"collections\",\n \"copy\",\n \"csv\",\n \"dataclasses\",\n \"datetime\",\n \"decimal\",\n \"enum\",\n \"functools\",\n \"hashlib\",\n \"itertools\",\n \"json\",\n \"logging\",\n \"math\",\n \"pathlib\",\n \"random\",\n \"re\",\n \"statistics\",\n \"string\",\n \"sys\",\n \"textwrap\",\n \"time\",\n \"typing\",\n \"uuid\",\n}\n\n\n@dataclass(slots=True)\nclass BrowserPackagePlan:\n python_source: str\n requested_packages: list[str] = field(default_factory=list)\n imported_modules: list[str] = field(default_factory=list)\n import_rewrites: list[str] = field(default_factory=list)\n\n\n@dataclass(slots=True)\nclass BrowserServerDefinition:\n server_name: str\n controllers: list[type[Any]]\n requested_packages: list[str] = field(default_factory=list)\n imported_modules: list[str] = field(default_factory=list)\n options: dict[str, Any] = field(default_factory=dict)\n\n\n@dataclass(slots=True)\nclass BrowserResolvedOperation:\n method_name: str\n method: str\n path: str\n bound_method: Any\n route_meta: RouteMeta\n controller_meta: ControllerMeta\n input_annotation: Any\n output_annotation: Any\n params: list[inspect.Parameter]\n\n\nBrowserMiddlewareContext = dict[str, Any]\nBrowserMiddleware = Callable[[BrowserMiddlewareContext, Callable[[], Awaitable[Any]]], Awaitable[Any] | Any]\n\n\nclass CallBridge:\n def __init__(self, emit=None):\n self._emit = emit\n\n def emit(self, event: str, data: Any) -> None:\n if callable(self._emit):\n self._emit({\"event\": event, \"data\": data})\n\n def progress(self, data: Any) -> None:\n self.emit(\"progress\", data)\n\n def log(self, data: Any) -> None:\n self.emit(\"log\", data)\n\n def chunk(self, data: Any) -> None:\n self.emit(\"chunk\", data)\n\n def message(self, data: Any) -> None:\n self.emit(\"message\", data)\n\n\nclass BrowserPLATServer:\n def __init__(\n self,\n options: Mapping[str, Any] | None = None,\n *controller_classes: type[Any],\n server_name: str | None = None,\n undecorated_mode: UndecoratedMode = \"POST\",\n ) -> None:\n self.options = dict(options or {})\n self.server_name = server_name or self.options.get(\"server_name\") or \"browser-python-server\"\n self.undecorated_mode = cast_undecorated_mode(self.options.get(\"undecorated_mode\"), undecorated_mode)\n self.logger = self.options.get(\"logger\") or logging.getLogger(\"plat_browser.server\")\n self.middleware: list[BrowserMiddleware] = list(self.options.get(\"middleware\") or [])\n self.routes: list[dict[str, str]] = []\n self.tools: dict[str, dict[str, Any]] = {}\n self.operations_by_id: dict[str, BrowserResolvedOperation] = {}\n self.operations_by_route: dict[str, BrowserResolvedOperation] = {}\n self.registered_method_names: set[str] = set()\n self.registered_controller_names: set[str] = set()\n self._setup_policy_defaults()\n if controller_classes:\n self.register(*controller_classes)\n\n def use(self, middleware: BrowserMiddleware) -> \"BrowserPLATServer\":\n self.middleware.append(middleware)\n return self\n\n @property\n def openapi(self) -> dict[str, Any]:\n return self.generate_openapi()\n\n def _setup_policy_defaults(self) -> None:\n if self.options.get(\"rate_limit\") is not None and not self.options[\"rate_limit\"].get(\"controller\"):\n self.options[\"rate_limit\"][\"controller\"] = create_in_memory_rate_limit()\n if self.options.get(\"token_limit\") is not None and not self.options[\"token_limit\"].get(\"controller\"):\n self.options[\"token_limit\"][\"controller\"] = create_in_memory_token_limit()\n if self.options.get(\"cache\") is not None and not self.options[\"cache\"].get(\"controller\"):\n self.options[\"cache\"][\"controller\"] = create_in_memory_cache()\n\n def register(self, *controller_classes: type[Any]) -> \"BrowserPLATServer\":\n for controller_class in controller_classes:\n meta = get_controller_meta(controller_class) or ControllerMeta(\n base_path=controller_class.__name__,\n tag=controller_class.__name__,\n )\n instance = controller_class()\n controller_tag = meta.tag or meta.base_path or controller_class.__name__\n lower_controller_tag = controller_tag.lower()\n if lower_controller_tag in RESERVED_METHOD_NAMES:\n raise ValueError(f\"Controller '{controller_tag}' uses a reserved plat system name.\")\n if controller_tag in self.registered_method_names:\n raise ValueError(f\"Controller '{controller_tag}' conflicts with an existing method name.\")\n self.registered_controller_names.add(controller_tag)\n\n methods = inspect.getmembers(controller_class, predicate=inspect.isfunction)\n for method_name, method_fn in methods:\n route_meta = getattr(method_fn, ROUTE_METADATA_KEY, None)\n if route_meta is None:\n route_meta = self._build_implicit_route_meta(method_name)\n if route_meta is None:\n continue\n self._hydrate_route_meta(route_meta, method_fn)\n self._validate_method_name(method_name, controller_class.__name__)\n if method_name in self.registered_controller_names:\n raise ValueError(f\"Method '{method_name}' in {controller_class.__name__} conflicts with controller name '{method_name}'.\")\n if method_name in self.registered_method_names:\n raise ValueError(f'Duplicate operationId: method \"{method_name}\" is defined in multiple controllers.')\n self.registered_method_names.add(method_name)\n\n bound_method = getattr(instance, method_name)\n full_path = route_meta.path or f\"/{method_name}\"\n operation = BrowserResolvedOperation(\n method_name=method_name,\n method=(route_meta.method or \"POST\").upper(),\n path=full_path,\n bound_method=bound_method,\n route_meta=route_meta,\n controller_meta=meta,\n input_annotation=route_meta.input_model,\n output_annotation=route_meta.output_model,\n params=list(inspect.signature(method_fn).parameters.values())[1:],\n )\n self.operations_by_id[method_name] = operation\n self.operations_by_route[f\"{operation.method} {operation.path}\"] = operation\n self.routes.append({\"method\": operation.method, \"path\": operation.path, \"methodName\": method_name})\n self.tools[method_name] = {\n \"name\": method_name,\n \"summary\": route_meta.summary,\n \"description\": route_meta.description or f\"{operation.method} {full_path}\",\n \"method\": operation.method,\n \"path\": full_path,\n \"controller\": controller_tag,\n \"tags\": [controller_tag],\n \"input_schema\": self._build_schema(route_meta.input_model),\n \"response_schema\": self._build_schema(route_meta.output_model),\n }\n return self\n\n def generate_openapi(self) -> dict[str, Any]:\n paths: dict[str, dict[str, Any]] = {}\n for operation in self.operations_by_id.values():\n path_item = paths.setdefault(operation.path, {})\n entry: dict[str, Any] = {\n \"operationId\": operation.method_name,\n \"summary\": operation.route_meta.summary,\n \"description\": operation.route_meta.description,\n \"responses\": {\"200\": {\"description\": \"ok\"}},\n }\n input_schema = self._build_schema(operation.input_annotation)\n if input_schema is not None:\n entry[\"requestBody\"] = {\n \"required\": True,\n \"content\": {\"application/json\": {\"schema\": input_schema}},\n }\n response_schema = self._build_schema(operation.output_annotation)\n if response_schema is not None:\n entry[\"responses\"][\"200\"][\"content\"] = {\"application/json\": {\"schema\": response_schema}}\n path_item[operation.method.lower()] = trim_none(entry)\n return {\n \"openapi\": \"3.1.0\",\n \"info\": {\"title\": \"plat browser python server\", \"version\": \"0.17.1\"},\n \"paths\": paths,\n }\n\n async def handle_request(self, message: ServerMessage, emit=None) -> Any:\n message = normalize_server_message(message)\n operation = self._resolve_operation(\n operation_id=coerce_str(message.get(\"operationId\")),\n method=coerce_str(message.get(\"method\")) or \"POST\",\n path=coerce_str(message.get(\"path\")) or \"\",\n )\n if operation is None:\n raise KeyError(\"No browser operation matched the incoming request.\")\n\n payload = (\n message.get(\"input\")\n if \"input\" in message\n else message.get(\"body\")\n if \"body\" in message\n else message.get(\"params\")\n if \"params\" in message\n else {}\n )\n ctx = RouteContext(\n method=operation.method,\n url=operation.path,\n headers=dict(message.get(\"headers\") or {}),\n call=CallBridge(emit),\n opts={\"transport\": \"browser-python\"},\n request=dict(message),\n )\n status_code = 200\n rate_limit_entries = []\n token_limit_entries = []\n token_limit_start_ms = int(time.time() * 1000)\n handler_called = False\n on_request = self.options.get(\"on_request\") or self.options.get(\"onRequest\")\n on_response = self.options.get(\"on_response\") or self.options.get(\"onResponse\")\n on_error = self.options.get(\"on_error\") or self.options.get(\"onError\")\n if callable(on_request):\n maybe = on_request(message, ctx)\n if inspect.isawaitable(maybe):\n await maybe\n auth_mode = operation.route_meta.auth or operation.controller_meta.auth or self.options.get(\"default_auth\")\n auth_handler = self.options.get(\"auth\")\n if auth_mode and auth_handler and callable(auth_handler.get(\"verify\")):\n auth_result = auth_handler[\"verify\"](auth_mode, message, ctx)\n if inspect.isawaitable(auth_result):\n auth_result = await auth_result\n ctx.auth = auth_result\n rate_limit_meta = self._get_rate_limit_meta(operation.route_meta, operation.controller_meta)\n if rate_limit_meta is not None and self.options.get(\"rate_limit\", {}).get(\"controller\"):\n entries, balances = apply_rate_limit_check(\n rate_limit_meta,\n self.options[\"rate_limit\"][\"controller\"],\n self.options[\"rate_limit\"].get(\"configs\", {}),\n operation.method_name,\n operation.controller_meta.base_path,\n ctx.auth,\n )\n rate_limit_entries = entries\n ctx.rate_limit = RateLimitContext(entries=entries, remaining_balances=balances)\n token_limit_meta = self._get_token_limit_meta(operation.route_meta, operation.controller_meta)\n if token_limit_meta is not None and self.options.get(\"token_limit\", {}).get(\"controller\"):\n entries, balances = apply_token_limit_check(\n token_limit_meta,\n self.options[\"token_limit\"][\"controller\"],\n self.options[\"token_limit\"].get(\"configs\", {}),\n operation.method_name,\n operation.controller_meta.base_path,\n payload,\n ctx,\n ctx.auth,\n )\n token_limit_entries = entries\n ctx.token_limit = TokenLimitContext(entries=entries, remaining_balances=balances)\n cache_key = None\n cache_entry = None\n cache_meta = self._get_cache_meta(operation.route_meta, operation.controller_meta)\n if cache_meta is not None and self.options.get(\"cache\", {}).get(\"controller\"):\n cache_key, hit, cached_value, cache_entry = apply_cache_check(\n cache_meta,\n self.options[\"cache\"][\"controller\"],\n dict(payload) if isinstance(payload, Mapping) else {},\n operation.method,\n operation.method_name,\n operation.controller_meta.base_path,\n ctx.auth,\n )\n ctx.cache = CacheContext(key=cache_key, hit=hit, stored=False)\n if hit:\n return cached_value\n middleware_context: BrowserMiddlewareContext = {\n \"request\": dict(message),\n \"operation\": operation,\n \"ctx\": ctx,\n \"input\": payload,\n \"logger\": self.logger,\n }\n try:\n handler_called = True\n result = await self._run_middleware_chain(\n middleware_context,\n lambda: self._invoke_handler(operation.bound_method, operation.params, payload, ctx),\n )\n if token_limit_entries and self.options.get(\"token_limit\", {}).get(\"controller\"):\n timing = TokenLimitTiming(\n start_ms=token_limit_start_ms,\n end_ms=int(time.time() * 1000),\n duration_ms=max(0, int(time.time() * 1000) - token_limit_start_ms),\n )\n response_costs = apply_token_limit_response(\n token_limit_entries,\n self.options[\"token_limit\"][\"controller\"],\n result,\n timing,\n payload,\n status_code,\n )\n if ctx.token_limit:\n ctx.token_limit.timing = timing\n ctx.token_limit.response_costs = response_costs\n if rate_limit_entries and self.options.get(\"rate_limit\", {}).get(\"controller\"):\n apply_rate_limit_refund(rate_limit_entries, self.options[\"rate_limit\"][\"controller\"], status_code)\n if cache_entry is not None and self.options.get(\"cache\", {}).get(\"controller\"):\n apply_cache_store(cache_key, cache_entry, self.options[\"cache\"][\"controller\"], result)\n if ctx.cache:\n ctx.cache.stored = True\n if callable(on_response):\n maybe = on_response(message, ctx, result)\n if inspect.isawaitable(maybe):\n await maybe\n return result\n except Exception as error:\n status_code = getattr(error, \"status_code\", 500)\n if token_limit_entries and self.options.get(\"token_limit\", {}).get(\"controller\") and handler_called:\n timing = TokenLimitTiming(\n start_ms=token_limit_start_ms,\n end_ms=int(time.time() * 1000),\n duration_ms=max(0, int(time.time() * 1000) - token_limit_start_ms),\n )\n failure_costs = apply_token_limit_failure(\n token_limit_entries,\n self.options[\"token_limit\"][\"controller\"],\n error,\n timing,\n payload,\n status_code,\n )\n if ctx.token_limit:\n ctx.token_limit.timing = timing\n ctx.token_limit.failure_costs = failure_costs\n if rate_limit_entries and self.options.get(\"rate_limit\", {}).get(\"controller\"):\n apply_rate_limit_refund(rate_limit_entries, self.options[\"rate_limit\"][\"controller\"], status_code)\n self.logger.error(\"BrowserPLATServer request failed\", exc_info=error)\n if callable(on_error):\n maybe = on_error(message, ctx, error)\n if inspect.isawaitable(maybe):\n await maybe\n raise\n\n def _resolve_operation(self, *, operation_id: str | None, method: str, path: str) -> BrowserResolvedOperation | None:\n if operation_id and operation_id in self.operations_by_id:\n return self.operations_by_id[operation_id]\n return self.operations_by_route.get(f\"{method.upper()} {path}\")\n\n async def _run_middleware_chain(\n self,\n context: BrowserMiddlewareContext,\n final_handler: Callable[[], Any],\n ) -> Any:\n index = -1\n\n async def dispatch(next_index: int) -> Any:\n nonlocal index\n if next_index <= index:\n raise RuntimeError(\"Browser middleware called next() multiple times\")\n index = next_index\n if next_index >= len(self.middleware):\n result = final_handler()\n if inspect.isawaitable(result):\n return await result\n return result\n middleware = self.middleware[next_index]\n result = middleware(context, lambda: dispatch(next_index + 1))\n if inspect.isawaitable(result):\n return await result\n return result\n\n return await dispatch(0)\n\n def _invoke_handler(self, bound_method: Any, params: list[inspect.Parameter], parsed_input: Any, ctx: RouteContext) -> Any:\n if not params:\n return bound_method()\n non_context_params = [param for param in params if not self._is_context_parameter(param)]\n use_legacy_payload_param = (\n len(non_context_params) == 1\n and non_context_params[0].name in LEGACY_PAYLOAD_PARAM_NAMES\n )\n is_mapping_payload = isinstance(parsed_input, Mapping)\n\n if len(params) == 1:\n only_param = params[0]\n if self._is_context_parameter(only_param):\n return bound_method(ctx)\n if use_legacy_payload_param or not is_mapping_payload:\n return bound_method(parsed_input)\n if only_param.kind is inspect.Parameter.VAR_KEYWORD:\n return bound_method(**dict(parsed_input))\n return bound_method(**{only_param.name: parsed_input.get(only_param.name, parsed_input)})\n\n args: list[Any] = []\n kwargs: dict[str, Any] = {}\n payload_mapping = dict(parsed_input) if is_mapping_payload else {}\n\n for param in params:\n if self._is_context_parameter(param):\n if param.kind is inspect.Parameter.POSITIONAL_ONLY:\n args.append(ctx)\n else:\n kwargs[param.name] = ctx\n continue\n\n if use_legacy_payload_param:\n if param.kind is inspect.Parameter.POSITIONAL_ONLY:\n args.append(parsed_input)\n else:\n kwargs[param.name] = parsed_input\n continue\n\n if param.kind is inspect.Parameter.VAR_KEYWORD:\n kwargs.update(payload_mapping)\n continue\n\n if not is_mapping_payload:\n if param.kind is inspect.Parameter.POSITIONAL_ONLY:\n args.append(parsed_input)\n else:\n kwargs[param.name] = parsed_input\n continue\n\n if param.name not in payload_mapping:\n continue\n\n if param.kind is inspect.Parameter.POSITIONAL_ONLY:\n args.append(payload_mapping[param.name])\n else:\n kwargs[param.name] = payload_mapping[param.name]\n\n return bound_method(*args, **kwargs)\n\n def _is_context_parameter(self, param: inspect.Parameter) -> bool:\n return param.annotation is RouteContext or param.name in {\"ctx\", \"context\"}\n\n def _build_implicit_route_meta(self, method_name: str) -> RouteMeta | None:\n if self.undecorated_mode == \"private\" or method_name.startswith(\"_\"):\n return None\n return RouteMeta(name=method_name, method=self.undecorated_mode, path=f\"/{method_name}\")\n\n def _hydrate_route_meta(self, route_meta: RouteMeta, method_fn: Any) -> None:\n signature = inspect.signature(method_fn)\n params = list(signature.parameters.values())[1:]\n module = sys.modules.get(getattr(method_fn, \"__module__\", \"\"))\n try:\n resolved_hints = get_type_hints(\n method_fn,\n globalns=vars(module) if module is not None else None,\n )\n except Exception:\n resolved_hints = {}\n input_params = [\n param.replace(annotation=resolved_hints.get(param.name, param.annotation))\n for param in params\n if not self._is_context_parameter(param)\n ]\n route_meta.input_model = build_input_model_from_params(input_params)\n route_meta.output_model = resolved_hints.get(\"return\", signature.return_annotation)\n if route_meta.path is None:\n route_meta.path = f\"/{route_meta.name}\"\n if route_meta.method is None:\n route_meta.method = self.undecorated_mode if self.undecorated_mode != \"private\" else \"POST\"\n docstring = inspect.getdoc(method_fn)\n if docstring and not route_meta.summary:\n first_line, *_ = docstring.splitlines()\n route_meta.summary = first_line.strip() or None\n if len(docstring.splitlines()) > 1 and not route_meta.description:\n route_meta.description = docstring.strip()\n\n def _validate_method_name(self, method_name: str, controller_name: str) -> None:\n if not method_name:\n return\n if method_name[0].isalpha() and method_name[0].isupper():\n raise ValueError(f\"Method '{method_name}' in {controller_name} violates plat naming convention: method names must start with a lowercase letter.\")\n if \"_\" in method_name:\n raise ValueError(f\"Method '{method_name}' in {controller_name} violates plat naming convention: underscores are not allowed.\")\n if method_name.lower() in RESERVED_METHOD_NAMES:\n raise ValueError(f\"Method '{method_name}' in {controller_name} uses a reserved plat system name.\")\n\n def _build_schema(self, annotation: Any) -> dict[str, Any] | None:\n if isinstance(annotation, dict) and \"type\" in annotation:\n return annotation\n if annotation in {None, inspect.Signature.empty, Any}:\n return None\n return annotation_to_schema(annotation)\n\n def _get_rate_limit_meta(self, route_meta: RouteMeta, controller_meta: ControllerMeta):\n route_value = (route_meta.opts or {}).get(\"rateLimit\", route_meta.rate_limit)\n controller_value = getattr(controller_meta, \"rate_limit\", None)\n return self._coerce_rate_limit_meta(route_value or controller_value)\n\n def _get_token_limit_meta(self, route_meta: RouteMeta, controller_meta: ControllerMeta):\n route_value = (route_meta.opts or {}).get(\"tokenLimit\", route_meta.token_limit)\n controller_value = getattr(controller_meta, \"token_limit\", None)\n return self._coerce_token_limit_meta(route_value or controller_value)\n\n def _get_cache_meta(self, route_meta: RouteMeta, controller_meta: ControllerMeta):\n route_value = (route_meta.opts or {}).get(\"cache\", route_meta.cache)\n controller_value = getattr(controller_meta, \"cache\", None)\n return self._coerce_cache_meta(route_value or controller_value)\n\n def _coerce_rate_limit_meta(self, value: Any):\n if value is None:\n return None\n if isinstance(value, list):\n return [self._coerce_rate_limit_entry(item) for item in value]\n return self._coerce_rate_limit_entry(value)\n\n def _coerce_token_limit_meta(self, value: Any):\n if value is None:\n return None\n if isinstance(value, list):\n return [self._coerce_token_limit_entry(item) for item in value]\n return self._coerce_token_limit_entry(value)\n\n def _coerce_cache_meta(self, value: Any):\n if value is None:\n return None\n if isinstance(value, list):\n return [self._coerce_cache_entry(item) for item in value]\n return self._coerce_cache_entry(value)\n\n def _coerce_rate_limit_entry(self, value: Any) -> RateLimitEntry:\n if isinstance(value, RateLimitEntry):\n return value\n data = dict(value)\n if isinstance(data.get(\"config\"), dict):\n data[\"config\"] = self._coerce_bucket_config(data[\"config\"])\n return RateLimitEntry(\n key=data.get(\"key\"),\n cost=data.get(\"cost\"),\n config=data.get(\"config\"),\n )\n\n def _coerce_token_limit_entry(self, value: Any) -> TokenLimitEntry:\n if isinstance(value, TokenLimitEntry):\n return value\n data = dict(value)\n if isinstance(data.get(\"config\"), dict):\n data[\"config\"] = self._coerce_bucket_config(data[\"config\"])\n return TokenLimitEntry(\n key=data.get(\"key\"),\n call_cost=data.get(\"callCost\", data.get(\"call_cost\")),\n response_cost=data.get(\"responseCost\", data.get(\"response_cost\")),\n failure_cost=data.get(\"failureCost\", data.get(\"failure_cost\")),\n config=data.get(\"config\"),\n )\n\n def _coerce_cache_entry(self, value: Any) -> CacheEntry:\n if isinstance(value, CacheEntry):\n return value\n data = dict(value)\n return CacheEntry(\n key=data[\"key\"],\n ttl=data.get(\"ttl\"),\n methods=data.get(\"methods\"),\n )\n\n def _coerce_bucket_config(self, value: Any) -> BucketConfig:\n if isinstance(value, BucketConfig):\n return value\n data = dict(value)\n return BucketConfig(\n max_balance=data[\"maxBalance\"] if \"maxBalance\" in data else data[\"max_balance\"],\n fill_interval=data[\"fillInterval\"] if \"fillInterval\" in data else data[\"fill_interval\"],\n fill_amount=data[\"fillAmount\"] if \"fillAmount\" in data else data[\"fill_amount\"],\n refunded_status_codes=data.get(\"refundedStatusCodes\", data.get(\"refunded_status_codes\")),\n refund_successful=data.get(\"refundSuccessful\", data.get(\"refund_successful\")),\n min_balance=data.get(\"minBalance\", data.get(\"min_balance\", 0)),\n )\n\n\ndef create_browser_server(\n options: Mapping[str, Any] | None = None,\n *controller_classes: type[Any],\n server_name: str | None = None,\n undecorated_mode: UndecoratedMode = \"POST\",\n) -> BrowserPLATServer:\n return BrowserPLATServer(options, *controller_classes, server_name=server_name, undecorated_mode=undecorated_mode)\n\n\n# Server-style parity alias.\ncreate_server = create_browser_server\n\n\ndef serve_client_side_server(\n server_name: str,\n controllers: list[type[Any]] | tuple[type[Any], ...],\n **options: Any,\n) -> BrowserServerDefinition:\n definition = BrowserServerDefinition(\n server_name=server_name,\n controllers=list(controllers),\n requested_packages=list(options.pop(\"requested_packages\", []) or []),\n imported_modules=list(options.pop(\"imported_modules\", []) or []),\n options=dict(options),\n )\n frame = inspect.currentframe()\n caller_globals = frame.f_back.f_globals if frame and frame.f_back else None\n if isinstance(caller_globals, dict):\n caller_globals[\"__plat_browser_server_definition__\"] = definition\n caller_globals.setdefault(\"client_side_server\", definition)\n return definition\n\n\n# Server-style parity alias.\nserve_server = serve_client_side_server\n\n\ndef prepare_python_source(source: str) -> BrowserPackagePlan:\n requested_packages: list[str] = []\n rewrites: list[str] = []\n python_lines: list[str] = []\n for raw_line in source.splitlines():\n stripped = raw_line.strip()\n if stripped.startswith(\"!pip install \"):\n package_args = stripped[len(\"!pip install \") :].strip().split()\n requested_packages.extend(arg for arg in package_args if arg and not arg.startswith(\"-\"))\n continue\n fixed_line, note = _rewrite_server_side_import_for_browser(raw_line)\n if note is not None:\n rewrites.append(note)\n python_lines.append(fixed_line)\n python_source = \"\\n\".join(python_lines)\n imported_modules = [\n module\n for module in detect_imports(python_source)\n if module not in PYTHON_BROWSER_STDLIB_MODULES and module != \"plat\" and module != \"plat_browser\"\n ]\n return BrowserPackagePlan(\n python_source=python_source,\n requested_packages=dedupe_keep_order(requested_packages),\n imported_modules=dedupe_keep_order(imported_modules),\n import_rewrites=rewrites,\n )\n\n\ndef _rewrite_server_side_import_for_browser(raw_line: str) -> tuple[str, str | None]:\n \"\"\"\n Best-effort autofix for browser runtime code that accidentally imports from `plat`.\n Rewrites imports to `plat_browser` while preserving alias style where possible.\n \"\"\"\n from_import = re.match(r\"^(\\s*)from\\s+plat\\s+import\\s+(.+?)\\s*$\", raw_line)\n if from_import:\n indent = from_import.group(1)\n names = from_import.group(2)\n fixed = f\"{indent}from plat_browser import {names}\"\n return fixed, \"rewrote: from plat import ... -> from plat_browser import ...\"\n\n import_alias = re.match(r\"^(\\s*)import\\s+plat\\s+as\\s+([A-Za-z_][A-Za-z0-9_]*)\\s*$\", raw_line)\n if import_alias:\n indent = import_alias.group(1)\n alias = import_alias.group(2)\n fixed = f\"{indent}import plat_browser as {alias}\"\n return fixed, \"rewrote: import plat as ... -> import plat_browser as ...\"\n\n import_plain = re.match(r\"^(\\s*)import\\s+plat\\s*$\", raw_line)\n if import_plain:\n indent = import_plain.group(1)\n fixed = f\"{indent}import plat_browser as plat\"\n return fixed, \"rewrote: import plat -> import plat_browser as plat\"\n\n return raw_line, None\n\n\ndef detect_imports(source: str) -> list[str]:\n tree = ast.parse(source)\n modules: list[str] = []\n for node in ast.walk(tree):\n if isinstance(node, ast.Import):\n for alias in node.names:\n modules.append(alias.name.split(\".\")[0])\n elif isinstance(node, ast.ImportFrom):\n if node.module:\n modules.append(node.module.split(\".\")[0])\n return dedupe_keep_order(modules)\n\n\ndef annotation_to_schema(annotation: Any) -> dict[str, Any]:\n origin = get_origin(annotation)\n args = get_args(annotation)\n if annotation is str:\n return {\"type\": \"string\"}\n if annotation is int:\n return {\"type\": \"integer\"}\n if annotation is float:\n return {\"type\": \"number\"}\n if annotation is bool:\n return {\"type\": \"boolean\"}\n if annotation in {dict, Mapping}:\n return {\"type\": \"object\", \"additionalProperties\": True}\n if annotation in {list, tuple}:\n return {\"type\": \"array\", \"items\": {}}\n if origin is Literal:\n values = list(args)\n schema: dict[str, Any] = {\"enum\": values}\n if values:\n schema.update(annotation_to_schema(type(values[0])))\n return schema\n if origin in {list, tuple}:\n item_annotation = args[0] if args else Any\n return {\"type\": \"array\", \"items\": annotation_to_schema(item_annotation)}\n if origin in {dict, Mapping}:\n value_annotation = args[1] if len(args) > 1 else Any\n return {\"type\": \"object\", \"additionalProperties\": annotation_to_schema(value_annotation) if value_annotation is not Any else True}\n if origin is not None and str(origin) == \"typing.Union\":\n variants = [annotation_to_schema(arg) for arg in args if arg is not type(None)]\n if len(variants) == 1:\n schema = variants[0]\n if len(args) != len(variants):\n schema = {**schema, \"nullable\": True}\n return schema\n return {\"anyOf\": variants}\n if hasattr(annotation, \"__annotations__\") and isinstance(getattr(annotation, \"__annotations__\"), dict):\n return typed_mapping_schema(annotation.__annotations__)\n return {\"type\": \"object\", \"additionalProperties\": True}\n\n\ndef build_input_model_from_params(params: list[inspect.Parameter]) -> Any:\n if not params:\n return None\n if len(params) == 1 and params[0].name in LEGACY_PAYLOAD_PARAM_NAMES:\n return params[0].annotation\n\n properties: dict[str, Any] = {}\n required: list[str] = []\n for param in params:\n if param.kind is inspect.Parameter.VAR_POSITIONAL:\n continue\n if param.kind is inspect.Parameter.VAR_KEYWORD:\n return {\n \"type\": \"object\",\n \"properties\": properties,\n \"required\": required,\n \"additionalProperties\": True,\n }\n annotation = param.annotation\n properties[param.name] = annotation_to_schema(annotation) if annotation is not inspect.Signature.empty else {\"type\": \"object\", \"additionalProperties\": True}\n if param.default is inspect.Signature.empty:\n required.append(param.name)\n\n return {\n \"type\": \"object\",\n \"properties\": properties,\n \"required\": required,\n }\n\n\ndef typed_mapping_schema(annotations: Mapping[str, Any]) -> dict[str, Any]:\n properties: dict[str, Any] = {}\n required: list[str] = []\n for key, value in annotations.items():\n properties[key] = annotation_to_schema(value)\n required.append(key)\n return {\"type\": \"object\", \"properties\": properties, \"required\": required}\n\n\ndef dedupe_keep_order(values: list[str]) -> list[str]:\n seen: set[str] = set()\n deduped: list[str] = []\n for value in values:\n if value in seen:\n continue\n seen.add(value)\n deduped.append(value)\n return deduped\n\n\ndef trim_none(value: Any) -> Any:\n if isinstance(value, dict):\n return {key: trim_none(inner) for key, inner in value.items() if inner is not None}\n if isinstance(value, list):\n return [trim_none(item) for item in value]\n return value\n\n\ndef coerce_str(value: Any) -> str | None:\n return value if isinstance(value, str) else None\n\n\ndef cast_undecorated_mode(value: Any, fallback: UndecoratedMode) -> UndecoratedMode:\n if value in {\"GET\", \"POST\", \"private\"}:\n return value\n return fallback\n\n\ndef normalize_server_message(message: Any) -> dict[str, Any]:\n if isinstance(message, dict):\n return message\n if isinstance(message, Mapping):\n return dict(message)\n\n to_py = getattr(message, \"to_py\", None)\n if callable(to_py):\n try:\n converted = to_py()\n except TypeError:\n converted = to_py(depth=-1)\n return normalize_server_message(converted)\n\n keys = (\"operationId\", \"method\", \"path\", \"input\", \"body\", \"params\", \"headers\")\n normalized: dict[str, Any] = {}\n for key in keys:\n value = None\n if hasattr(message, key):\n value = getattr(message, key)\n else:\n try:\n value = message[key]\n except Exception:\n value = None\n if value is not None:\n normalized[key] = value\n return normalized\n",
|
|
10
10
|
"plat_browser/types.py": "from __future__ import annotations\n\nfrom dataclasses import dataclass, field\nfrom typing import Any, Literal\n\n\nHttpMethod = Literal[\"GET\", \"POST\", \"PUT\", \"PATCH\", \"DELETE\"]\n\n\n@dataclass\nclass RouteMeta:\n name: str\n method: HttpMethod | None = None\n path: str | None = None\n decorator_path: str | None = None\n auth: str | None = None\n summary: str | None = None\n description: str | None = None\n rate_limit: Any = None\n token_limit: Any = None\n cache: Any = None\n opts: dict[str, Any] | None = None\n input_model: Any = None\n output_model: Any = None\n\n\n@dataclass\nclass ControllerMeta:\n base_path: str = \"\"\n tag: str | None = None\n auth: str | None = None\n rate_limit: Any = None\n token_limit: Any = None\n cache: Any = None\n routes: dict[str, RouteMeta] = field(default_factory=dict)\n\n\n@dataclass\nclass RouteContext:\n method: str | None = None\n url: str | None = None\n headers: dict[str, str] = field(default_factory=dict)\n auth: dict[str, Any] | None = None\n rate_limit: Any = None\n token_limit: Any = None\n cache: Any = None\n opts: dict[str, Any] | None = None\n call: Any = None\n rpc: Any = None\n request: Any = None\n",
|
|
11
11
|
"tests/test_plat_browser.py": "from __future__ import annotations\n\nimport asyncio\nimport textwrap\nimport unittest\n\nfrom plat_browser import (\n BrowserPLATServer,\n BucketConfig,\n Controller,\n HttpError,\n POST,\n RouteContext,\n connect_client_side_server,\n connect_server,\n create_browser_server,\n create_server,\n prepare_python_source,\n run_python_client_source,\n serve_server,\n serve_client_side_server,\n)\nfrom plat_browser.client import _set_browser_client_bridge\n\n\nclass PlatBrowserTests(unittest.TestCase):\n def setUp(self) -> None:\n async def missing_connect(_: str):\n raise RuntimeError(\"connect bridge not installed\")\n\n async def missing_call(_: int, __: str, ___):\n raise RuntimeError(\"call bridge not installed\")\n\n _set_browser_client_bridge(missing_connect, missing_call)\n\n def test_prepare_python_source_hides_pip_lines_and_detects_imports(self) -> None:\n plan = prepare_python_source(\n textwrap.dedent(\n \"\"\"\n !pip install pandas fastapi\n import pandas as pd\n import json\n from plat_browser import serve_client_side_server\n from numpy.random import rand\n \"\"\"\n ).strip()\n )\n\n self.assertEqual(plan.requested_packages, [\"pandas\", \"fastapi\"])\n self.assertEqual(plan.imported_modules, [\"pandas\", \"numpy\"])\n self.assertNotIn(\"!pip install\", plan.python_source)\n\n def test_prepare_python_source_rewrites_accidental_plat_imports(self) -> None:\n plan = prepare_python_source(\n textwrap.dedent(\n \"\"\"\n from plat import Controller, POST, serve_client_side_server\n import plat\n import plat as platform_api\n \"\"\"\n ).strip()\n )\n\n self.assertIn(\"from plat_browser import Controller, POST, serve_client_side_server\", plan.python_source)\n self.assertIn(\"import plat_browser as plat\", plan.python_source)\n self.assertIn(\"import plat_browser as platform_api\", plan.python_source)\n self.assertGreaterEqual(len(plan.import_rewrites), 3)\n\n def test_parity_aliases_point_to_same_callables(self) -> None:\n self.assertIs(connect_server, connect_client_side_server)\n self.assertIs(create_server, create_browser_server)\n self.assertIs(serve_server, serve_client_side_server)\n\n def test_serve_client_side_server_returns_definition(self) -> None:\n class DemoApi:\n def add(self, a, b, ctx):\n return a + b\n\n definition = serve_client_side_server(\"browser-math\", [DemoApi], undecorated_mode=\"POST\")\n\n self.assertEqual(definition.server_name, \"browser-math\")\n self.assertEqual(definition.controllers, [DemoApi])\n self.assertEqual(definition.options[\"undecorated_mode\"], \"POST\")\n\n def test_browser_server_registers_undecorated_public_methods_as_post(self) -> None:\n class DemoApi:\n def add(self, a: int, b: int, ctx: RouteContext) -> int:\n return a + b\n\n def _private(self, input, ctx):\n return None\n\n server = BrowserPLATServer({}, DemoApi)\n\n self.assertIn({\"method\": \"POST\", \"path\": \"/add\", \"methodName\": \"add\"}, server.routes)\n self.assertNotIn(\"_private\", server.operations_by_id)\n self.assertEqual(server.openapi[\"paths\"][\"/add\"][\"post\"][\"operationId\"], \"add\")\n schema = server.openapi[\"paths\"][\"/add\"][\"post\"][\"requestBody\"][\"content\"][\"application/json\"][\"schema\"]\n self.assertEqual(schema[\"properties\"][\"a\"][\"type\"], \"integer\")\n self.assertEqual(schema[\"properties\"][\"b\"][\"type\"], \"integer\")\n self.assertEqual(schema[\"required\"], [\"a\", \"b\"])\n\n def test_browser_server_uses_decorated_metadata_and_docstrings(self) -> None:\n @Controller()\n class OrdersApi:\n @POST()\n def createOrder(self, input: dict[str, str], ctx: RouteContext) -> dict[str, str]:\n \"\"\"Create one order.\n\n Longer description for docs.\n \"\"\"\n\n return {\"orderId\": \"ord_123\"}\n\n server = BrowserPLATServer({}, OrdersApi)\n operation = server.openapi[\"paths\"][\"/createOrder\"][\"post\"]\n\n self.assertEqual(operation[\"summary\"], \"Create one order.\")\n self.assertIn(\"Longer description\", operation[\"description\"])\n\n def test_browser_server_dispatches_requests_and_emits_progress(self) -> None:\n class JobsApi:\n async def countTo(self, end: int, ctx: RouteContext) -> dict[str, int]:\n for index in range(1, end + 1):\n ctx.call.progress({\"current\": index, \"end\": end})\n return {\"done\": end}\n\n server = BrowserPLATServer({}, JobsApi)\n events: list[dict[str, object]] = []\n\n result = asyncio.run(\n server.handle_request(\n {\n \"operationId\": \"countTo\",\n \"method\": \"POST\",\n \"path\": \"/countTo\",\n \"input\": {\"end\": 3},\n },\n emit=events.append,\n )\n )\n\n self.assertEqual(result, {\"done\": 3})\n self.assertEqual(\n events,\n [\n {\"event\": \"progress\", \"data\": {\"current\": 1, \"end\": 3}},\n {\"event\": \"progress\", \"data\": {\"current\": 2, \"end\": 3}},\n {\"event\": \"progress\", \"data\": {\"current\": 3, \"end\": 3}},\n ],\n )\n\n def test_browser_server_keeps_legacy_single_input_param_working(self) -> None:\n class LegacyApi:\n def add(self, input: dict[str, int], ctx: RouteContext) -> int:\n return input[\"a\"] + input[\"b\"]\n\n server = BrowserPLATServer({}, LegacyApi)\n result = asyncio.run(\n server.handle_request(\n {\n \"operationId\": \"add\",\n \"method\": \"POST\",\n \"path\": \"/add\",\n \"input\": {\"a\": 2, \"b\": 5},\n }\n )\n )\n self.assertEqual(result, 7)\n\n def test_browser_server_normalizes_proxy_like_request_objects(self) -> None:\n class DemoApi:\n def add(self, a: int, b: int, ctx: RouteContext) -> int:\n return a + b\n\n class FakeProxy:\n def __init__(self, payload):\n self._payload = payload\n\n def to_py(self):\n return self._payload\n\n server = BrowserPLATServer({}, DemoApi)\n result = asyncio.run(\n server.handle_request(\n FakeProxy(\n {\n \"operationId\": \"add\",\n \"method\": \"POST\",\n \"path\": \"/add\",\n \"input\": {\"a\": 9, \"b\": 4},\n }\n )\n )\n )\n self.assertEqual(result, 13)\n\n def test_browser_server_enforces_auth_and_populates_ctx(self) -> None:\n class SecureApi:\n def secret(self, ctx: RouteContext) -> str:\n return f\"hello {ctx.auth['sub']}\"\n\n async def verify(mode, request, ctx):\n self.assertEqual(mode, \"user\")\n token = request.get(\"headers\", {}).get(\"authorization\")\n if token != \"Bearer good\":\n raise HttpError(401, \"Missing or invalid authorization token\")\n return {\"sub\": \"demo-user\"}\n\n server = BrowserPLATServer(\n {\n \"auth\": {\"verify\": verify},\n \"default_auth\": \"user\",\n },\n SecureApi,\n )\n\n result = asyncio.run(\n server.handle_request(\n {\n \"operationId\": \"secret\",\n \"method\": \"POST\",\n \"path\": \"/secret\",\n \"headers\": {\"authorization\": \"Bearer good\"},\n }\n )\n )\n\n self.assertEqual(result, \"hello demo-user\")\n with self.assertRaises(HttpError) as error:\n asyncio.run(\n server.handle_request(\n {\n \"operationId\": \"secret\",\n \"method\": \"POST\",\n \"path\": \"/secret\",\n \"headers\": {},\n }\n )\n )\n self.assertEqual(error.exception.status_code, 401)\n\n def test_browser_server_supports_cache(self) -> None:\n calls = 0\n\n class DemoApi:\n def add(self, a: int, b: int, ctx: RouteContext) -> int:\n nonlocal calls\n calls += 1\n return a + b\n\n server = BrowserPLATServer(\n {\n \"cache\": {\n \"controller\": None,\n },\n },\n DemoApi,\n )\n operation = server.operations_by_id[\"add\"]\n operation.route_meta.cache = {\"key\": \"sum:{a}:{b}\", \"methods\": [\"POST\"], \"ttl\": 60}\n\n first = asyncio.run(\n server.handle_request(\n {\n \"operationId\": \"add\",\n \"method\": \"POST\",\n \"path\": \"/add\",\n \"input\": {\"a\": 1, \"b\": 4},\n }\n )\n )\n second = asyncio.run(\n server.handle_request(\n {\n \"operationId\": \"add\",\n \"method\": \"POST\",\n \"path\": \"/add\",\n \"input\": {\"a\": 1, \"b\": 4},\n }\n )\n )\n\n self.assertEqual(first, 5)\n self.assertEqual(second, 5)\n self.assertEqual(calls, 1)\n\n def test_browser_server_supports_rate_limit(self) -> None:\n class DemoApi:\n def add(self, a: int, b: int, ctx: RouteContext) -> int:\n return a + b\n\n server = BrowserPLATServer(\n {\n \"rate_limit\": {\n \"configs\": {\n \"add\": BucketConfig(max_balance=1, fill_interval=60_000, fill_amount=1),\n },\n },\n },\n DemoApi,\n )\n operation = server.operations_by_id[\"add\"]\n operation.route_meta.rate_limit = {\"key\": \"add\", \"cost\": 1}\n\n self.assertEqual(\n asyncio.run(\n server.handle_request(\n {\n \"operationId\": \"add\",\n \"method\": \"POST\",\n \"path\": \"/add\",\n \"input\": {\"a\": 2, \"b\": 3},\n }\n )\n ),\n 5,\n )\n with self.assertRaises(HttpError) as error:\n asyncio.run(\n server.handle_request(\n {\n \"operationId\": \"add\",\n \"method\": \"POST\",\n \"path\": \"/add\",\n \"input\": {\"a\": 2, \"b\": 3},\n }\n )\n )\n self.assertEqual(error.exception.status_code, 429)\n\n def test_browser_server_supports_token_limit(self) -> None:\n class DemoApi:\n def add(self, a: int, b: int, ctx: RouteContext) -> int:\n return a + b\n\n server = BrowserPLATServer(\n {\n \"token_limit\": {\n \"configs\": {\n \"tokens\": BucketConfig(max_balance=2, fill_interval=60_000, fill_amount=1),\n },\n },\n },\n DemoApi,\n )\n operation = server.operations_by_id[\"add\"]\n operation.route_meta.token_limit = {\"key\": \"tokens\", \"call_cost\": 2}\n\n self.assertEqual(\n asyncio.run(\n server.handle_request(\n {\n \"operationId\": \"add\",\n \"method\": \"POST\",\n \"path\": \"/add\",\n \"input\": {\"a\": 10, \"b\": 5},\n }\n )\n ),\n 15,\n )\n with self.assertRaises(HttpError) as error:\n asyncio.run(\n server.handle_request(\n {\n \"operationId\": \"add\",\n \"method\": \"POST\",\n \"path\": \"/add\",\n \"input\": {\"a\": 10, \"b\": 5},\n }\n )\n )\n self.assertEqual(error.exception.status_code, 429)\n\n def test_browser_python_client_connects_and_calls_with_kwargs(self) -> None:\n async def fake_connect(base_url: str, options=None):\n return {\"client_id\": 7, \"base_url\": base_url, \"openapi\": {\"paths\": {\"/add\": {\"post\": {}}}}}\n\n async def fake_call(client_id: int, method_name: str, payload):\n self.assertEqual(client_id, 7)\n self.assertEqual(method_name, \"add\")\n self.assertEqual(payload, {\"a\": 20, \"b\": 22})\n return 42\n\n _set_browser_client_bridge(fake_connect, fake_call)\n\n async def scenario():\n client = await connect_client_side_server(\"css://browser-python-math\")\n return await client.add(a=20, b=22)\n\n self.assertEqual(asyncio.run(scenario()), 42)\n\n def test_run_python_client_source_returns_last_expression(self) -> None:\n async def fake_connect(base_url: str, options=None):\n return {\"client_id\": 11, \"base_url\": base_url}\n\n async def fake_call(client_id: int, method_name: str, payload):\n self.assertEqual(client_id, 11)\n self.assertEqual(method_name, \"add\")\n self.assertEqual(payload, {\"a\": 3, \"b\": 9})\n return 12\n\n _set_browser_client_bridge(fake_connect, fake_call)\n\n result = asyncio.run(\n run_python_client_source(\n \"\"\"\nfrom plat_browser import connect_client_side_server\n\nclient = await connect_client_side_server(\"css://browser-python-math\")\nawait client.add(a=3, b=9)\n\"\"\".strip()\n )\n )\n self.assertEqual(result, 12)\n"
|
|
12
12
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"python-browser-sources.js","sourceRoot":"","sources":["../../src/generated/python-browser-sources.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,MAAM,CAAC,MAAM,sBAAsB,GAA2B;IAC5D,0BAA0B,EAAE,gkCAAgkC;IAC5lC,wBAAwB,EAAE,2wIAA2wI;IACryI,4BAA4B,EAAE,y5FAAy5F;IACv7F,wBAAwB,EAAE,yzBAAyzB;IACn1B,0BAA0B,EAAE,8eAA8e;IAC1gB,yBAAyB,EAAE,o0hBAAo0hB;IAC/1hB,wBAAwB,EAAE,
|
|
1
|
+
{"version":3,"file":"python-browser-sources.js","sourceRoot":"","sources":["../../src/generated/python-browser-sources.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,MAAM,CAAC,MAAM,sBAAsB,GAA2B;IAC5D,0BAA0B,EAAE,gkCAAgkC;IAC5lC,wBAAwB,EAAE,2wIAA2wI;IACryI,4BAA4B,EAAE,y5FAAy5F;IACv7F,wBAAwB,EAAE,yzBAAyzB;IACn1B,0BAA0B,EAAE,8eAA8e;IAC1gB,yBAAyB,EAAE,o0hBAAo0hB;IAC/1hB,wBAAwB,EAAE,82qCAA82qC;IACx4qC,uBAAuB,EAAE,yvCAAyvC;IAClxC,4BAA4B,EAAE,itdAAitd;CAChvd,CAAA"}
|
package/dist/server/server.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@modularizer/plat",
|
|
3
|
-
"version": "0.17.
|
|
3
|
+
"version": "0.17.1",
|
|
4
4
|
"description": "Protocol and Language Agnostic Tooling Yielding Universal Semantics",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"author": {
|
|
@@ -31,6 +31,10 @@
|
|
|
31
31
|
"import": "./dist/client-entry.js",
|
|
32
32
|
"types": "./dist/client-entry.d.ts"
|
|
33
33
|
},
|
|
34
|
+
"./client-lite": {
|
|
35
|
+
"import": "./dist/client-lite-entry.js",
|
|
36
|
+
"types": "./dist/client-lite-entry.d.ts"
|
|
37
|
+
},
|
|
34
38
|
"./client-server": {
|
|
35
39
|
"import": "./dist/client-server-entry.js",
|
|
36
40
|
"types": "./dist/client-server-entry.d.ts"
|