sammy-sdk-client 0.2.0 → 0.2.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.
@@ -1 +1 @@
1
- {"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../src/stream.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAgB,WAAW,EAAqD,MAAM,SAAS,CAAC;AAmB5I,wBAAgB,YAAY,CAC1B,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,WAAW,GACpB,WAAW,CA8Gb"}
1
+ {"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../src/stream.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAgB,WAAW,EAAqD,MAAM,SAAS,CAAC;AAmB5I,wBAAgB,YAAY,CAC1B,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,WAAW,GACpB,WAAW,CAwHb"}
package/dist/stream.js CHANGED
@@ -71,52 +71,64 @@ function createStream(config, message, options) {
71
71
  const reader = response.body.getReader();
72
72
  const decoder = new TextDecoder();
73
73
  let buffer = "";
74
- while (true) {
75
- const { done, value } = await reader.read();
76
- if (done)
77
- break;
78
- buffer += decoder.decode(value, { stream: true });
79
- const lines = buffer.split("\n");
80
- buffer = lines.pop() || "";
81
- for (const line of lines) {
82
- if (!line.startsWith("data: "))
83
- continue;
84
- const data = line.slice(6);
85
- if (data === "[DONE]")
86
- continue;
87
- let event;
88
- try {
89
- event = JSON.parse(data);
90
- }
91
- catch {
92
- continue;
93
- }
94
- switch (event.type) {
95
- case "text":
96
- if (typeof event.data === "string")
97
- emit("text", event.data);
98
- break;
99
- case "tool_call":
100
- emit("tool_call", event.data);
101
- break;
102
- case "tool_result":
103
- emit("tool_result", event.data);
104
- break;
105
- case "agent_handoff":
106
- emit("agent_handoff", event.data);
107
- break;
108
- case "done":
109
- finalResponse = event.data;
110
- break;
111
- case "error":
112
- emit("error", coerceError(event.data));
113
- break;
114
- default:
115
- // Forward-compatible: ignore unknown event types.
116
- break;
74
+ try {
75
+ while (true) {
76
+ const { done, value } = await reader.read();
77
+ if (done)
78
+ break;
79
+ buffer += decoder.decode(value, { stream: true });
80
+ const lines = buffer.split("\n");
81
+ buffer = lines.pop() || "";
82
+ for (const line of lines) {
83
+ if (!line.startsWith("data: "))
84
+ continue;
85
+ const data = line.slice(6);
86
+ if (data === "[DONE]")
87
+ continue;
88
+ let event;
89
+ try {
90
+ event = JSON.parse(data);
91
+ }
92
+ catch {
93
+ continue;
94
+ }
95
+ switch (event.type) {
96
+ case "text":
97
+ if (typeof event.data === "string")
98
+ emit("text", event.data);
99
+ break;
100
+ case "tool_call":
101
+ emit("tool_call", event.data);
102
+ break;
103
+ case "tool_result":
104
+ emit("tool_result", event.data);
105
+ break;
106
+ case "agent_handoff":
107
+ emit("agent_handoff", event.data);
108
+ break;
109
+ case "done":
110
+ finalResponse = event.data;
111
+ break;
112
+ case "error":
113
+ emit("error", coerceError(event.data));
114
+ break;
115
+ default:
116
+ // Forward-compatible: ignore unknown event types.
117
+ break;
118
+ }
117
119
  }
118
120
  }
119
121
  }
122
+ finally {
123
+ // Always release the underlying connection — on normal completion, abort,
124
+ // or a throw mid-stream — so sockets aren't leaked on rapid send/cancel.
125
+ try {
126
+ await reader.cancel();
127
+ }
128
+ catch {
129
+ // reader may already be released/errored; nothing to do.
130
+ }
131
+ }
120
132
  emit("done", finalResponse ?? {});
121
133
  }
122
134
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"stream.js","sourceRoot":"","sources":["../src/stream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stream.js","sourceRoot":"","sources":["../src/stream.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sammy-sdk-client",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "Zero-dependency JavaScript client for the Sammy AI agent runtime (SSE streaming, conversations, attachments).",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",