@forklaunch/core 0.15.11 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/apiDefinition.types-BYizofKE.d.mts +1064 -0
- package/lib/apiDefinition.types-BYizofKE.d.ts +1064 -0
- package/lib/http/index.d.mts +14 -1055
- package/lib/http/index.d.ts +14 -1055
- package/lib/http/index.js +3 -2
- package/lib/http/index.js.map +1 -1
- package/lib/http/index.mjs +3 -2
- package/lib/http/index.mjs.map +1 -1
- package/lib/ws/index.d.mts +65 -0
- package/lib/ws/index.d.ts +65 -0
- package/lib/ws/index.js +254 -0
- package/lib/ws/index.js.map +1 -0
- package/lib/ws/index.mjs +223 -0
- package/lib/ws/index.mjs.map +1 -0
- package/package.json +11 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/ws/asyncApiV3Generator/asyncApiV3Generator.ts","../../src/ws/webSocketLike.ts"],"sourcesContent":["import type {\n AsyncAPIObject,\n ChannelObject,\n ChannelsObject,\n MessageObject,\n MessagesObject,\n OperationObject,\n OperationsObject,\n ReferenceObject\n} from '@asyncapi/parser/esm/spec-types/v3';\n\nimport type { AnySchemaValidator } from '@forklaunch/validator';\n\nimport { EventSchema, EventSchemaEntry } from '../types/eventSchema.types';\n\nexport type AsyncApiDocument = AsyncAPIObject;\n\nexport function generateAsyncApi<SV extends AnySchemaValidator>(\n eventSchemas: EventSchema<SV>,\n options?: {\n title?: string;\n version?: string;\n description?: string;\n id?: AsyncApiDocument['id'];\n defaultContentType?: AsyncApiDocument['defaultContentType'];\n }\n): AsyncApiDocument {\n const channels: ChannelsObject = {};\n\n const appendMessageToChannel = (\n collection?: Record<string, EventSchemaEntry<SV>>\n ) => {\n if (!collection) {\n return;\n }\n\n Object.entries(collection).forEach(([messageKey, candidate]) => {\n if (\n !candidate ||\n typeof candidate !== 'object' ||\n Array.isArray(candidate) ||\n !('shape' in candidate)\n ) {\n return;\n }\n\n const entry = candidate as EventSchemaEntry<SV>;\n const schema = entry.shape;\n\n // Determine which channels to use\n const channelNames: string[] = entry.channel\n ? [entry.channel]\n : entry.channels && entry.channels.length > 0\n ? entry.channels\n : [messageKey];\n\n const messageName =\n entry.operation ?? entry.operations?.[0] ?? messageKey;\n\n // Add message to all specified channels\n channelNames.forEach((channelName) => {\n const existingChannel = channels[channelName];\n if (!existingChannel || '$ref' in existingChannel) {\n channels[channelName] = {\n address: channelName,\n messages: {}\n };\n }\n\n const channelEntry = channels[channelName] as ChannelObject;\n channelEntry.messages = (channelEntry.messages ?? {}) as MessagesObject;\n const messages = channelEntry.messages as MessagesObject;\n\n const message: MessageObject = {\n name: messageName,\n payload: schema\n };\n\n messages[messageName] = message;\n });\n });\n };\n\n appendMessageToChannel(eventSchemas.clientMessages);\n appendMessageToChannel(eventSchemas.serverMessages);\n appendMessageToChannel(eventSchemas.errors);\n\n const operations: OperationsObject = {};\n\n const addOperationsForCollection = (\n collection: Record<string, EventSchemaEntry<SV>> | undefined,\n action: 'send' | 'receive'\n ) => {\n if (!collection) {\n return;\n }\n\n Object.entries(collection).forEach(([messageKey, candidate]) => {\n if (\n !candidate ||\n typeof candidate !== 'object' ||\n Array.isArray(candidate) ||\n !('shape' in candidate)\n ) {\n return;\n }\n\n const entry = candidate as EventSchemaEntry<SV>;\n\n // Determine which channels to use\n const channelNames: string[] = entry.channel\n ? [entry.channel]\n : entry.channels && entry.channels.length > 0\n ? entry.channels\n : [messageKey];\n\n const messageName =\n entry.operation ?? entry.operations?.[0] ?? messageKey;\n\n // Create operations for all specified channels\n channelNames.forEach((channelName) => {\n const operationKey = `${action}-${channelName}-${messageName}`;\n\n const operation: OperationObject = {\n action,\n channel: {\n $ref: `#/channels/${channelName}`\n } as ReferenceObject,\n messages: [\n {\n $ref: `#/channels/${channelName}/messages/${messageName}`\n } as ReferenceObject\n ]\n };\n\n operations[operationKey] = operation;\n });\n });\n };\n\n addOperationsForCollection(eventSchemas.clientMessages, 'receive');\n addOperationsForCollection(eventSchemas.serverMessages, 'send');\n\n const { title, version, description } = options ?? {};\n\n const asyncApiDocument: AsyncApiDocument = {\n asyncapi: '3.0.0',\n info: {\n title: title || process.env.API_TITLE || 'Forklaunch WebSocket API',\n version: version || '1.0.0',\n ...(description ? { description } : {})\n },\n ...(options?.id ? { id: options.id } : {}),\n ...(options?.defaultContentType\n ? { defaultContentType: options.defaultContentType }\n : {}),\n ...(Object.keys(channels).length > 0 ? { channels } : {}),\n ...(Object.keys(operations).length > 0 ? { operations } : {})\n };\n\n return asyncApiDocument;\n}\n","import {\n AnySchemaValidator,\n IdiomaticSchema,\n prettyPrintParseErrors,\n SchemaValidator\n} from '@forklaunch/validator';\n\nimport { EventSchema, EventSchemaEntry } from './types/eventSchema.types';\n\ntype SchemaRecord<SV extends AnySchemaValidator> =\n | Record<string, EventSchemaEntry<SV>>\n | undefined;\n\nexport function buildUnionSchema<SV extends AnySchemaValidator>(\n schemaValidator: SchemaValidator,\n record: SchemaRecord<SV>\n): IdiomaticSchema<SV> | undefined {\n if (!record) {\n return undefined;\n }\n\n const schemas = Object.values(record)\n .filter((entry): entry is EventSchemaEntry<SV> => Boolean(entry))\n .map((entry) => entry.shape);\n\n if (schemas.length === 0) {\n return undefined;\n }\n\n if (schemas.length === 1) {\n return schemas[0];\n }\n\n return schemaValidator.union(schemas) as IdiomaticSchema<SV>;\n}\n\nexport function parseSchemaValue<SV extends AnySchemaValidator>(\n schemaValidator: SchemaValidator,\n value: unknown,\n schema: IdiomaticSchema<SV> | undefined,\n context: string\n): unknown {\n if (!schema) {\n return value;\n }\n\n const result = schemaValidator.parse(schema, value);\n if (result.ok) {\n return result.value;\n }\n\n const errors = 'errors' in result ? result.errors || [] : [];\n throw new Error(prettyPrintParseErrors(errors, context));\n}\n\nexport function encodeSchemaValue<SV extends AnySchemaValidator>(\n schemaValidator: SchemaValidator,\n value: unknown,\n schema: IdiomaticSchema<SV> | undefined,\n context: string\n): unknown {\n const validated = parseSchemaValue(schemaValidator, value, schema, context);\n\n if (\n Buffer.isBuffer(validated) ||\n validated instanceof ArrayBuffer ||\n ArrayBuffer.isView(validated)\n ) {\n if (Buffer.isBuffer(validated)) {\n return validated;\n }\n\n if (validated instanceof ArrayBuffer) {\n return Buffer.from(validated);\n }\n\n const view = validated as {\n buffer: ArrayBuffer;\n byteOffset: number;\n byteLength: number;\n };\n const typed = new Uint8Array(view.buffer, view.byteOffset, view.byteLength);\n return Buffer.from(typed);\n }\n\n if (typeof validated === 'string') {\n return Buffer.from(validated, 'utf-8');\n }\n\n if (validated === null || validated === undefined) {\n return validated;\n }\n\n return Buffer.from(JSON.stringify(validated), 'utf-8');\n}\n\nexport function decodeSchemaValue<SV extends AnySchemaValidator>(\n schemaValidator: SchemaValidator,\n data: unknown,\n schema: IdiomaticSchema<SV> | undefined,\n context: string\n): unknown {\n let decoded: string;\n let parsed: unknown;\n\n if (Buffer.isBuffer(data)) {\n decoded = data.toString('utf-8');\n } else if (data instanceof ArrayBuffer) {\n decoded = Buffer.from(data).toString('utf-8');\n } else if (ArrayBuffer.isView(data)) {\n const view = data as {\n buffer: ArrayBuffer;\n byteOffset: number;\n byteLength: number;\n };\n decoded = Buffer.from(\n view.buffer,\n view.byteOffset,\n view.byteLength\n ).toString('utf-8');\n } else if (typeof data === 'string') {\n decoded = data;\n } else {\n parsed = data;\n return parseSchemaValue(schemaValidator, parsed, schema, context);\n }\n\n try {\n parsed = JSON.parse(decoded);\n } catch {\n parsed = decoded;\n }\n\n return parseSchemaValue(schemaValidator, parsed, schema, context);\n}\n\nexport function normalizeEncodedValue(\n encoded: unknown,\n context: string,\n allowUndefined = false\n): Buffer | undefined {\n if (encoded === null || encoded === undefined) {\n if (allowUndefined) {\n return undefined;\n }\n throw new Error(`Invalid ${context}`);\n }\n\n if (Buffer.isBuffer(encoded)) {\n return encoded;\n }\n\n if (encoded instanceof ArrayBuffer) {\n return Buffer.from(encoded);\n }\n\n if (ArrayBuffer.isView(encoded)) {\n const view = encoded as ArrayBufferView;\n return Buffer.from(view.buffer, view.byteOffset, view.byteLength);\n }\n\n if (typeof encoded === 'string') {\n return Buffer.from(encoded, 'utf-8');\n }\n\n if (\n typeof encoded === 'number' ||\n typeof encoded === 'boolean' ||\n typeof encoded === 'bigint'\n ) {\n return Buffer.from(JSON.stringify(encoded), 'utf-8');\n }\n\n if (typeof encoded === 'object') {\n return Buffer.from(JSON.stringify(encoded), 'utf-8');\n }\n\n throw new Error(`Unsupported payload type for ${context}`);\n}\n\nexport function createWebSocketSchemas<\n SV extends AnySchemaValidator,\n ES extends EventSchema<SV>\n>(schemaValidator: SchemaValidator, eventSchemas: ES) {\n const clientMessagesSchema = buildUnionSchema<SV>(\n schemaValidator,\n eventSchemas.clientMessages\n );\n const serverMessagesSchema = buildUnionSchema<SV>(\n schemaValidator,\n eventSchemas.serverMessages\n );\n const errorsSchema = buildUnionSchema<SV>(\n schemaValidator,\n eventSchemas.errors\n );\n const pingSchema = eventSchemas.ping?.shape;\n const pongSchema = eventSchemas.pong?.shape;\n const closeReasonSchema = eventSchemas.closeReason\n ? buildUnionSchema<SV>(schemaValidator, eventSchemas.closeReason)\n : undefined;\n\n return {\n clientMessagesSchema,\n serverMessagesSchema,\n errorsSchema,\n pingSchema,\n pongSchema,\n closeReasonSchema\n };\n}\n"],"mappings":"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","names":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@forklaunch/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.16.0",
|
|
4
4
|
"description": "forklaunch-js core package. Contains useful building blocks.",
|
|
5
5
|
"homepage": "https://github.com/forklaunch/forklaunch-js#readme",
|
|
6
6
|
"bugs": {
|
|
@@ -60,6 +60,12 @@
|
|
|
60
60
|
"import": "./lib/environment/index.mjs",
|
|
61
61
|
"require": "./lib/environment/index.js",
|
|
62
62
|
"default": "./lib/environment/index.js"
|
|
63
|
+
},
|
|
64
|
+
"./ws": {
|
|
65
|
+
"types": "./lib/ws/index.d.ts",
|
|
66
|
+
"import": "./lib/ws/index.mjs",
|
|
67
|
+
"require": "./lib/ws/index.js",
|
|
68
|
+
"default": "./lib/ws/index.js"
|
|
63
69
|
}
|
|
64
70
|
},
|
|
65
71
|
"types": "lib/index.d.ts",
|
|
@@ -70,6 +76,7 @@
|
|
|
70
76
|
"lib/**"
|
|
71
77
|
],
|
|
72
78
|
"dependencies": {
|
|
79
|
+
"@asyncapi/parser": "^3.4.0",
|
|
73
80
|
"@forklaunch/fastmcp-fork": "^1.0.5",
|
|
74
81
|
"@forklaunch/opentelemetry-instrumentation-hyper-express": "0.0.5",
|
|
75
82
|
"@mikro-orm/core": "^6.5.9",
|
|
@@ -98,8 +105,8 @@
|
|
|
98
105
|
"redis": "^5.9.0",
|
|
99
106
|
"uuid": "^13.0.0",
|
|
100
107
|
"zod": "^4.1.12",
|
|
101
|
-
"@forklaunch/common": "0.6.
|
|
102
|
-
"@forklaunch/validator": "0.10.
|
|
108
|
+
"@forklaunch/common": "0.6.22",
|
|
109
|
+
"@forklaunch/validator": "0.10.22"
|
|
103
110
|
},
|
|
104
111
|
"devDependencies": {
|
|
105
112
|
"@eslint/js": "^9.38.0",
|
|
@@ -122,7 +129,7 @@
|
|
|
122
129
|
"typescript-eslint": "^8.46.2"
|
|
123
130
|
},
|
|
124
131
|
"scripts": {
|
|
125
|
-
"build": "tsgo --noEmit && tsup ./src/cache/index.ts ./src/controllers/index.ts ./src/mappers/index.ts ./src/objectstore/index.ts ./src/persistence/index.ts ./src/http/index.ts ./src/services/index.ts ./src/environment/index.ts --format cjs,esm --no-splitting --dts --tsconfig tsconfig.json --out-dir lib --clean --sourcemap",
|
|
132
|
+
"build": "tsgo --noEmit && tsup ./src/cache/index.ts ./src/controllers/index.ts ./src/mappers/index.ts ./src/objectstore/index.ts ./src/persistence/index.ts ./src/http/index.ts ./src/services/index.ts ./src/environment/index.ts ./src/ws/index.ts --format cjs,esm --no-splitting --dts --tsconfig tsconfig.json --out-dir lib --clean --sourcemap",
|
|
126
133
|
"clean": "rm -rf lib pnpm.lock.yaml node_modules",
|
|
127
134
|
"docs": "typedoc --out docs *",
|
|
128
135
|
"format": "prettier --ignore-path=.prettierignore --config .prettierrc '**/*.{ts,tsx,json}' --write",
|