@flink-app/streaming-plugin 0.12.1-alpha.45 → 0.12.1-alpha.47
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/README.md +28 -10
- package/dist/StreamingPlugin.d.ts.map +1 -1
- package/dist/StreamingPlugin.js +4 -0
- package/dist/StreamingPlugin.js.map +1 -1
- package/dist/StreamingPluginContext.d.ts +16 -0
- package/dist/StreamingPluginContext.d.ts.map +1 -0
- package/dist/StreamingPluginContext.js +3 -0
- package/dist/StreamingPluginContext.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/StreamingPlugin.ts +5 -0
- package/src/StreamingPluginContext.ts +16 -0
- package/src/index.ts +3 -0
package/README.md
CHANGED
|
@@ -22,14 +22,17 @@ npm install @flink-app/streaming-plugin
|
|
|
22
22
|
### 1. Add Plugin to Your App
|
|
23
23
|
|
|
24
24
|
```typescript
|
|
25
|
-
import { FlinkApp } from "@flink-app/flink";
|
|
26
|
-
import { streamingPlugin } from "@flink-app/streaming-plugin";
|
|
25
|
+
import { FlinkApp, FlinkContext } from "@flink-app/flink";
|
|
26
|
+
import { streamingPlugin, StreamingPluginContext } from "@flink-app/streaming-plugin";
|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
// Define your app context with streaming plugin
|
|
29
|
+
interface AppContext extends FlinkContext<{ streaming: StreamingPluginContext }> {
|
|
30
|
+
// Your other context properties
|
|
31
|
+
}
|
|
29
32
|
|
|
30
|
-
const app = await new FlinkApp({
|
|
33
|
+
const app = await new FlinkApp<AppContext>({
|
|
31
34
|
name: "My App",
|
|
32
|
-
plugins: [
|
|
35
|
+
plugins: [streamingPlugin({ debug: true })],
|
|
33
36
|
}).start();
|
|
34
37
|
```
|
|
35
38
|
|
|
@@ -108,23 +111,38 @@ export default GetLiveUpdates;
|
|
|
108
111
|
|
|
109
112
|
### 3. Register Streaming Handlers
|
|
110
113
|
|
|
111
|
-
**
|
|
114
|
+
**Option 1: Via context (recommended)**
|
|
112
115
|
|
|
113
116
|
```typescript
|
|
114
117
|
// src/index.ts
|
|
115
118
|
import * as GetChatStream from "./streaming/GetChatStream";
|
|
116
119
|
import * as GetLiveUpdates from "./streaming/GetLiveUpdates";
|
|
117
120
|
|
|
118
|
-
// After app.start()
|
|
121
|
+
// After app.start() - access via ctx.plugins.streaming
|
|
122
|
+
app.ctx.plugins.streaming.registerStreamHandler(GetChatStream);
|
|
123
|
+
app.ctx.plugins.streaming.registerStreamHandler(GetLiveUpdates);
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
**Option 2: Via plugin instance**
|
|
127
|
+
|
|
128
|
+
```typescript
|
|
129
|
+
// If you prefer to keep a reference to the plugin instance
|
|
130
|
+
const streaming = streamingPlugin({ debug: true });
|
|
131
|
+
|
|
132
|
+
const app = await new FlinkApp({
|
|
133
|
+
plugins: [streaming],
|
|
134
|
+
}).start();
|
|
135
|
+
|
|
136
|
+
// Register after app.start()
|
|
119
137
|
streaming.registerStreamHandler(GetChatStream);
|
|
120
138
|
streaming.registerStreamHandler(GetLiveUpdates);
|
|
121
139
|
```
|
|
122
140
|
|
|
123
|
-
**
|
|
141
|
+
**Option 3: Explicit registration**
|
|
124
142
|
|
|
125
143
|
```typescript
|
|
126
|
-
//
|
|
127
|
-
streaming.registerStreamHandler(
|
|
144
|
+
// For inline handlers without separate files
|
|
145
|
+
app.ctx.plugins.streaming.registerStreamHandler(
|
|
128
146
|
async ({ stream }) => {
|
|
129
147
|
stream.write({ message: "Hello" });
|
|
130
148
|
stream.end();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StreamingPlugin.d.ts","sourceRoot":"","sources":["../src/StreamingPlugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAmB,MAAM,kBAAkB,CAAC;AACxF,OAAO,EAEH,aAAa,EACb,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EAEtB,MAAM,SAAS,CAAC;AAyEjB;;;GAGG;AACH,qBAAa,eAAgB,YAAW,WAAW;IACxC,EAAE,SAAe;IACxB,OAAO,CAAC,GAAG,CAAC,CAAgB;IAC5B,OAAO,CAAC,OAAO,CAAmC;gBAEtC,OAAO,GAAE,sBAA2B;IAO1C,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"StreamingPlugin.d.ts","sourceRoot":"","sources":["../src/StreamingPlugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAmB,MAAM,kBAAkB,CAAC;AACxF,OAAO,EAEH,aAAa,EACb,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EAEtB,MAAM,SAAS,CAAC;AAyEjB;;;GAGG;AACH,qBAAa,eAAgB,YAAW,WAAW;IACxC,EAAE,SAAe;IACxB,OAAO,CAAC,GAAG,CAAC,CAAgB;IAC5B,OAAO,CAAC,OAAO,CAAmC;gBAEtC,OAAO,GAAE,sBAA2B;IAO1C,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAa7C;;;;;;;;;;OAUG;IACI,qBAAqB,CAAC,GAAG,SAAS,YAAY,EAAE,CAAC,GAAG,GAAG,EAC1D,aAAa,EAAE,mBAAmB,CAAC,GAAG,EAAE,CAAC,CAAC,GAC3C,IAAI;IAEP;;;;;;;;;;;;;OAaG;IACI,qBAAqB,CAAC,GAAG,SAAS,YAAY,EAAE,CAAC,GAAG,GAAG,EAC1D,OAAO,EAAE,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,EAC9B,UAAU,EAAE,mBAAmB,GAChC,IAAI;CAuIV;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,CAAC,EAAE,sBAAsB,GAAG,eAAe,CAEjF"}
|
package/dist/StreamingPlugin.js
CHANGED
|
@@ -120,6 +120,10 @@ var StreamingPlugin = /** @class */ (function () {
|
|
|
120
120
|
return __awaiter(this, void 0, void 0, function () {
|
|
121
121
|
return __generator(this, function (_a) {
|
|
122
122
|
this.app = app;
|
|
123
|
+
// Add plugin to context for access via ctx.plugins.streaming
|
|
124
|
+
app.ctx.plugins.streaming = {
|
|
125
|
+
registerStreamHandler: this.registerStreamHandler.bind(this),
|
|
126
|
+
};
|
|
123
127
|
if (this.options.debug) {
|
|
124
128
|
flink_1.log.info("[StreamingPlugin] Initialized with default format: ".concat(this.options.defaultFormat));
|
|
125
129
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StreamingPlugin.js","sourceRoot":"","sources":["../src/StreamingPlugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"StreamingPlugin.js","sourceRoot":"","sources":["../src/StreamingPlugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { FlinkContext } from "@flink-app/flink";
|
|
2
|
+
import { StreamHandler, StreamHandlerModule, StreamingRouteProps } from "./types";
|
|
3
|
+
/**
|
|
4
|
+
* Context interface for StreamingPlugin.
|
|
5
|
+
* Use this when defining your application context to get type-safe access
|
|
6
|
+
* to the streaming plugin via ctx.plugins.streaming
|
|
7
|
+
*/
|
|
8
|
+
export interface StreamingPluginContext {
|
|
9
|
+
streaming: {
|
|
10
|
+
registerStreamHandler: {
|
|
11
|
+
<Ctx extends FlinkContext, T = any>(handlerModule: StreamHandlerModule<Ctx, T>): void;
|
|
12
|
+
<Ctx extends FlinkContext, T = any>(handler: StreamHandler<Ctx, T>, routeProps: StreamingRouteProps): void;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=StreamingPluginContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StreamingPluginContext.d.ts","sourceRoot":"","sources":["../src/StreamingPluginContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAElF;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACnC,SAAS,EAAE;QACP,qBAAqB,EAAE;YACnB,CAAC,GAAG,SAAS,YAAY,EAAE,CAAC,GAAG,GAAG,EAAE,aAAa,EAAE,mBAAmB,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;YACtF,CAAC,GAAG,SAAS,YAAY,EAAE,CAAC,GAAG,GAAG,EAAE,OAAO,EAAE,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,mBAAmB,GAAG,IAAI,CAAC;SAC9G,CAAC;KACL,CAAC;CACL"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StreamingPluginContext.js","sourceRoot":"","sources":["../src/StreamingPluginContext.ts"],"names":[],"mappings":""}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export { StreamingPlugin, streamingPlugin } from "./StreamingPlugin";
|
|
2
|
+
export type { StreamingPluginContext } from "./StreamingPluginContext";
|
|
2
3
|
export type { StreamFormat, StreamWriter, StreamHandlerProps, StreamHandler, StreamHandlerModule, StreamingRouteProps, StreamingPluginOptions, } from "./types";
|
|
3
4
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGrE,YAAY,EACR,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,GACzB,MAAM,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGrE,YAAY,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAGvE,YAAY,EACR,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,GACzB,MAAM,SAAS,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flink-app/streaming-plugin",
|
|
3
|
-
"version": "0.12.1-alpha.
|
|
3
|
+
"version": "0.12.1-alpha.47",
|
|
4
4
|
"description": "Streaming response support for Flink Framework (SSE and NDJSON)",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"@flink-app/flink": "^0.12.1-alpha.40"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
|
-
"@flink-app/flink": "^0.12.1-alpha.
|
|
31
|
+
"@flink-app/flink": "^0.12.1-alpha.47",
|
|
32
32
|
"@types/express": "^4.17.21",
|
|
33
33
|
"@types/jasmine": "^3.7.1",
|
|
34
34
|
"@types/node": "^20.10.0",
|
|
@@ -37,5 +37,5 @@
|
|
|
37
37
|
"ts-node": "^10.0.0",
|
|
38
38
|
"typescript": "^5.3.3"
|
|
39
39
|
},
|
|
40
|
-
"gitHead": "
|
|
40
|
+
"gitHead": "a98a0af7f11e4a97f68da4d0d67677df7d2a2749"
|
|
41
41
|
}
|
package/src/StreamingPlugin.ts
CHANGED
|
@@ -99,6 +99,11 @@ export class StreamingPlugin implements FlinkPlugin {
|
|
|
99
99
|
async init(app: FlinkApp<any>): Promise<void> {
|
|
100
100
|
this.app = app;
|
|
101
101
|
|
|
102
|
+
// Add plugin to context for access via ctx.plugins.streaming
|
|
103
|
+
app.ctx.plugins.streaming = {
|
|
104
|
+
registerStreamHandler: this.registerStreamHandler.bind(this),
|
|
105
|
+
};
|
|
106
|
+
|
|
102
107
|
if (this.options.debug) {
|
|
103
108
|
log.info(`[StreamingPlugin] Initialized with default format: ${this.options.defaultFormat}`);
|
|
104
109
|
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { FlinkContext } from "@flink-app/flink";
|
|
2
|
+
import { StreamHandler, StreamHandlerModule, StreamingRouteProps } from "./types";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Context interface for StreamingPlugin.
|
|
6
|
+
* Use this when defining your application context to get type-safe access
|
|
7
|
+
* to the streaming plugin via ctx.plugins.streaming
|
|
8
|
+
*/
|
|
9
|
+
export interface StreamingPluginContext {
|
|
10
|
+
streaming: {
|
|
11
|
+
registerStreamHandler: {
|
|
12
|
+
<Ctx extends FlinkContext, T = any>(handlerModule: StreamHandlerModule<Ctx, T>): void;
|
|
13
|
+
<Ctx extends FlinkContext, T = any>(handler: StreamHandler<Ctx, T>, routeProps: StreamingRouteProps): void;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
}
|
package/src/index.ts
CHANGED