@agentick/core 0.12.2 → 0.12.3

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.
@@ -0,0 +1,443 @@
1
+ var State;
2
+ (function (State) {
3
+ /** Normal text passthrough. */
4
+ State[State["TEXT"] = 0] = "TEXT";
5
+ /** Saw '<', accumulating potential tag name or '/'. */
6
+ State[State["OPEN_ANGLE"] = 1] = "OPEN_ANGLE";
7
+ /** Inside tag attributes, waiting for '>' or '/>'. */
8
+ State[State["ATTRS"] = 2] = "ATTRS";
9
+ /** Inside matched tag content. */
10
+ State[State["CONTENT"] = 3] = "CONTENT";
11
+ /** Saw '<' inside content — could be close tag. */
12
+ State[State["CONTENT_OPEN_ANGLE"] = 4] = "CONTENT_OPEN_ANGLE";
13
+ /** Reading '/' after '<' inside content. */
14
+ State[State["CONTENT_CLOSE_SLASH"] = 5] = "CONTENT_CLOSE_SLASH";
15
+ /** Reading close tag name after '</'. */
16
+ State[State["CLOSE_TAG_NAME"] = 6] = "CLOSE_TAG_NAME";
17
+ /** Waiting for '>' after close tag name matches. */
18
+ State[State["CLOSE_TAG_END"] = 7] = "CLOSE_TAG_END";
19
+ })(State || (State = {}));
20
+ /**
21
+ * Streaming parser that intercepts registered XML-like tags in text deltas,
22
+ * strips them from the text stream, and routes their content to handlers.
23
+ *
24
+ * Generalizes ThinkTagParser to support multiple configurable tags with
25
+ * attributes. Only registered tags are intercepted — unregistered markup
26
+ * passes through as text.
27
+ *
28
+ * Operates on AdapterDelta streams: text deltas are parsed, all other
29
+ * delta types pass through unchanged.
30
+ */
31
+ export class StreamTagParser {
32
+ tags;
33
+ tagNames;
34
+ state = State.TEXT;
35
+ // Buffer for text being accumulated before emission
36
+ textBuf = "";
37
+ // Buffer for potential tag name being read (after '<')
38
+ nameBuf = "";
39
+ // Buffer for attribute text being accumulated
40
+ attrBuf = "";
41
+ // Active tag state (when inside CONTENT)
42
+ activeTag = "";
43
+ activeAttrs = {};
44
+ contentBuf = "";
45
+ // Close tag state
46
+ closeNameBuf = "";
47
+ // Pending content delta buffer (coalesced across chars within a process() call)
48
+ pendingContentDelta = "";
49
+ pendingContentTag = "";
50
+ // Output accumulator for current process() call
51
+ output = [];
52
+ constructor(config) {
53
+ this.tags = new Map(Object.entries(config.tags));
54
+ this.tagNames = new Set(this.tags.keys());
55
+ }
56
+ /**
57
+ * Process an AdapterDelta. Non-text deltas pass through unchanged.
58
+ * Text deltas are parsed for registered tags.
59
+ */
60
+ process(delta) {
61
+ if (delta.type !== "text") {
62
+ return [delta];
63
+ }
64
+ this.output = [];
65
+ for (let i = 0; i < delta.delta.length; i++) {
66
+ this.feed(delta.delta[i]);
67
+ }
68
+ // Flush any pending text/content buffers into the output
69
+ this.flushText();
70
+ this.flushContentDelta();
71
+ const result = this.output;
72
+ this.output = [];
73
+ return result;
74
+ }
75
+ /**
76
+ * Flush any remaining buffered content at stream end.
77
+ */
78
+ flush() {
79
+ this.output = [];
80
+ switch (this.state) {
81
+ case State.TEXT:
82
+ this.flushText();
83
+ break;
84
+ case State.OPEN_ANGLE:
85
+ // Incomplete '<name...' — emit as text
86
+ this.textBuf += "<" + this.nameBuf;
87
+ this.nameBuf = "";
88
+ this.flushText();
89
+ this.state = State.TEXT;
90
+ break;
91
+ case State.ATTRS:
92
+ // Unclosed tag with attrs — emit as text
93
+ this.textBuf += "<" + this.activeTag + " " + this.attrBuf;
94
+ this.attrBuf = "";
95
+ this.resetActive();
96
+ this.flushText();
97
+ this.state = State.TEXT;
98
+ break;
99
+ case State.CONTENT:
100
+ case State.CONTENT_OPEN_ANGLE:
101
+ case State.CONTENT_CLOSE_SLASH:
102
+ case State.CLOSE_TAG_NAME:
103
+ case State.CLOSE_TAG_END: {
104
+ // Unclosed block — best-effort emit
105
+ let content = this.contentBuf;
106
+ if (this.state === State.CONTENT_OPEN_ANGLE)
107
+ content += "<";
108
+ if (this.state === State.CONTENT_CLOSE_SLASH)
109
+ content += "</";
110
+ if (this.state === State.CLOSE_TAG_NAME)
111
+ content += "</" + this.closeNameBuf;
112
+ if (this.state === State.CLOSE_TAG_END)
113
+ content += "</" + this.closeNameBuf;
114
+ if (content || this.activeTag) {
115
+ this.emitCustomBlock(this.activeTag, content, this.activeAttrs);
116
+ this.callHandler(this.activeTag, content, this.activeAttrs);
117
+ }
118
+ this.closeNameBuf = "";
119
+ this.resetActive();
120
+ this.state = State.TEXT;
121
+ break;
122
+ }
123
+ }
124
+ const result = this.output;
125
+ this.output = [];
126
+ return result;
127
+ }
128
+ feed(ch) {
129
+ switch (this.state) {
130
+ case State.TEXT:
131
+ if (ch === "<") {
132
+ this.state = State.OPEN_ANGLE;
133
+ this.nameBuf = "";
134
+ }
135
+ else {
136
+ this.textBuf += ch;
137
+ }
138
+ break;
139
+ case State.OPEN_ANGLE:
140
+ if (isNameStartChar(ch)) {
141
+ this.nameBuf += ch;
142
+ }
143
+ else if (this.nameBuf.length > 0 && isNameContinueChar(ch)) {
144
+ this.nameBuf += ch;
145
+ }
146
+ else if (this.nameBuf.length > 0 &&
147
+ (ch === ">" || ch === "/" || ch === " " || ch === "\t" || ch === "\n" || ch === "\r")) {
148
+ // End of tag name
149
+ if (this.tagNames.has(this.nameBuf)) {
150
+ // Registered tag found
151
+ this.flushText();
152
+ this.activeTag = this.nameBuf;
153
+ this.activeAttrs = {};
154
+ this.nameBuf = "";
155
+ if (ch === ">") {
156
+ // <tagname>
157
+ this.contentBuf = "";
158
+ this.emitBlockStart(this.activeTag, {});
159
+ this.tags.get(this.activeTag)?.onStart?.({});
160
+ this.state = State.CONTENT;
161
+ }
162
+ else if (ch === "/") {
163
+ // Could be self-closing <tagname/>
164
+ this.attrBuf = "/"; // hold the '/'
165
+ this.state = State.ATTRS;
166
+ }
167
+ else {
168
+ // Whitespace — attributes follow
169
+ this.attrBuf = "";
170
+ this.state = State.ATTRS;
171
+ }
172
+ }
173
+ else {
174
+ // Not a registered tag — emit as text
175
+ this.textBuf += "<" + this.nameBuf + ch;
176
+ this.nameBuf = "";
177
+ this.state = State.TEXT;
178
+ }
179
+ }
180
+ else if (this.nameBuf.length === 0) {
181
+ // '<' followed by non-name-start — just text
182
+ if (ch === "/") {
183
+ // '</' outside content — just text
184
+ this.textBuf += "</";
185
+ }
186
+ else {
187
+ this.textBuf += "<" + ch;
188
+ }
189
+ this.state = State.TEXT;
190
+ }
191
+ else {
192
+ // nameBuf has content but ch is not valid continuation and not a terminator
193
+ // Not a registered tag — emit as text
194
+ this.textBuf += "<" + this.nameBuf + ch;
195
+ this.nameBuf = "";
196
+ this.state = State.TEXT;
197
+ }
198
+ break;
199
+ case State.ATTRS: {
200
+ this.attrBuf += ch;
201
+ if (ch === ">") {
202
+ // Check if previous char was '/' for self-closing
203
+ const trimmed = this.attrBuf.trimEnd();
204
+ if (trimmed.endsWith("/>")) {
205
+ // Self-closing with attrs
206
+ const attrStr = trimmed.slice(0, -2);
207
+ const attrs = parseAttributes(attrStr);
208
+ this.activeAttrs = attrs;
209
+ this.emitCustomBlock(this.activeTag, "", this.activeAttrs, true);
210
+ const handler = this.tags.get(this.activeTag);
211
+ handler?.onSelfClosing?.(this.activeAttrs);
212
+ this.attrBuf = "";
213
+ this.resetActive();
214
+ this.state = State.TEXT;
215
+ }
216
+ else {
217
+ // Opening tag with attrs complete
218
+ const attrStr = this.attrBuf.slice(0, -1); // Remove '>'
219
+ this.activeAttrs = parseAttributes(attrStr);
220
+ this.contentBuf = "";
221
+ this.emitBlockStart(this.activeTag, this.activeAttrs);
222
+ this.tags.get(this.activeTag)?.onStart?.(this.activeAttrs);
223
+ this.attrBuf = "";
224
+ this.state = State.CONTENT;
225
+ }
226
+ }
227
+ break;
228
+ }
229
+ case State.CONTENT:
230
+ if (ch === "<") {
231
+ this.state = State.CONTENT_OPEN_ANGLE;
232
+ }
233
+ else {
234
+ this.contentBuf += ch;
235
+ this.emitBlockDelta(this.activeTag, ch);
236
+ }
237
+ break;
238
+ case State.CONTENT_OPEN_ANGLE:
239
+ if (ch === "/") {
240
+ this.state = State.CONTENT_CLOSE_SLASH;
241
+ }
242
+ else {
243
+ // '<' inside content but not a close tag
244
+ this.contentBuf += "<" + ch;
245
+ this.emitBlockDelta(this.activeTag, "<" + ch);
246
+ this.state = State.CONTENT;
247
+ }
248
+ break;
249
+ case State.CONTENT_CLOSE_SLASH:
250
+ // Start reading close tag name
251
+ if (isNameStartChar(ch)) {
252
+ this.closeNameBuf = ch;
253
+ this.state = State.CLOSE_TAG_NAME;
254
+ }
255
+ else {
256
+ // '</' followed by non-name — just content
257
+ this.contentBuf += "</" + ch;
258
+ this.emitBlockDelta(this.activeTag, "</" + ch);
259
+ this.state = State.CONTENT;
260
+ }
261
+ break;
262
+ case State.CLOSE_TAG_NAME:
263
+ if (isNameContinueChar(ch)) {
264
+ this.closeNameBuf += ch;
265
+ }
266
+ else if (ch === ">") {
267
+ if (this.closeNameBuf === this.activeTag) {
268
+ // Matched close tag!
269
+ this.emitBlockEnd(this.activeTag);
270
+ this.emitCustomBlock(this.activeTag, this.contentBuf, this.activeAttrs);
271
+ this.callHandler(this.activeTag, this.contentBuf, this.activeAttrs);
272
+ this.closeNameBuf = "";
273
+ this.resetActive();
274
+ this.state = State.TEXT;
275
+ }
276
+ else {
277
+ // Non-matching close tag — it's content
278
+ const text = "</" + this.closeNameBuf + ">";
279
+ this.contentBuf += text;
280
+ this.emitBlockDelta(this.activeTag, text);
281
+ this.closeNameBuf = "";
282
+ this.state = State.CONTENT;
283
+ }
284
+ }
285
+ else {
286
+ // Name ended by non-'>' char — not a valid close tag, content
287
+ const text = "</" + this.closeNameBuf + ch;
288
+ this.contentBuf += text;
289
+ this.emitBlockDelta(this.activeTag, text);
290
+ this.closeNameBuf = "";
291
+ this.state = State.CONTENT;
292
+ }
293
+ break;
294
+ case State.CLOSE_TAG_END:
295
+ // Should not normally reach here, but handle gracefully
296
+ if (ch === ">") {
297
+ this.emitBlockEnd(this.activeTag);
298
+ this.emitCustomBlock(this.activeTag, this.contentBuf, this.activeAttrs);
299
+ this.callHandler(this.activeTag, this.contentBuf, this.activeAttrs);
300
+ this.closeNameBuf = "";
301
+ this.resetActive();
302
+ this.state = State.TEXT;
303
+ }
304
+ break;
305
+ }
306
+ }
307
+ // ---- Emission helpers ----
308
+ flushText() {
309
+ if (this.textBuf) {
310
+ this.output.push({ type: "text", delta: this.textBuf });
311
+ this.textBuf = "";
312
+ }
313
+ }
314
+ emitBlockStart(tag, attrs) {
315
+ this.flushContentDelta();
316
+ this.output.push({
317
+ type: "custom_block_start",
318
+ tag,
319
+ attrs: { ...attrs },
320
+ });
321
+ }
322
+ emitBlockDelta(tag, delta) {
323
+ // Batch content deltas within a single process() call
324
+ if (this.pendingContentTag === tag) {
325
+ this.pendingContentDelta += delta;
326
+ }
327
+ else {
328
+ this.flushContentDelta();
329
+ this.pendingContentTag = tag;
330
+ this.pendingContentDelta = delta;
331
+ }
332
+ }
333
+ flushContentDelta() {
334
+ if (this.pendingContentDelta) {
335
+ this.output.push({
336
+ type: "custom_block_delta",
337
+ tag: this.pendingContentTag,
338
+ delta: this.pendingContentDelta,
339
+ });
340
+ this.pendingContentDelta = "";
341
+ this.pendingContentTag = "";
342
+ }
343
+ }
344
+ emitBlockEnd(tag) {
345
+ this.flushContentDelta();
346
+ this.output.push({
347
+ type: "custom_block_end",
348
+ tag,
349
+ });
350
+ }
351
+ emitCustomBlock(tag, content, attrs, selfClosing) {
352
+ this.output.push({
353
+ type: "custom_block",
354
+ tag,
355
+ content,
356
+ attrs: { ...attrs },
357
+ ...(selfClosing ? { selfClosing: true } : {}),
358
+ });
359
+ }
360
+ callHandler(tag, content, attrs) {
361
+ const handler = this.tags.get(tag);
362
+ handler?.onContent?.(content, attrs);
363
+ }
364
+ resetActive() {
365
+ this.activeTag = "";
366
+ this.activeAttrs = {};
367
+ this.contentBuf = "";
368
+ }
369
+ }
370
+ /**
371
+ * Parse an attribute string like `for="block-123" confidence="high"`.
372
+ */
373
+ function parseAttributes(str) {
374
+ const attrs = {};
375
+ let i = 0;
376
+ const s = str.trim();
377
+ while (i < s.length) {
378
+ // Skip whitespace
379
+ while (i < s.length && isWhitespace(s[i]))
380
+ i++;
381
+ if (i >= s.length)
382
+ break;
383
+ // Skip '/' (from self-closing tag remnants)
384
+ if (s[i] === "/") {
385
+ i++;
386
+ continue;
387
+ }
388
+ // Read attribute name
389
+ if (!isNameStartChar(s[i])) {
390
+ i++;
391
+ continue;
392
+ }
393
+ const nameStart = i;
394
+ while (i < s.length && isNameContinueChar(s[i]))
395
+ i++;
396
+ const name = s.slice(nameStart, i);
397
+ // Skip whitespace
398
+ while (i < s.length && isWhitespace(s[i]))
399
+ i++;
400
+ if (i >= s.length || s[i] !== "=") {
401
+ // Boolean attribute
402
+ attrs[name] = "";
403
+ continue;
404
+ }
405
+ i++; // skip '='
406
+ // Skip whitespace
407
+ while (i < s.length && isWhitespace(s[i]))
408
+ i++;
409
+ if (i >= s.length) {
410
+ attrs[name] = "";
411
+ break;
412
+ }
413
+ // Read value
414
+ const quote = s[i];
415
+ if (quote === '"' || quote === "'") {
416
+ i++; // skip opening quote
417
+ const valueStart = i;
418
+ while (i < s.length && s[i] !== quote)
419
+ i++;
420
+ attrs[name] = s.slice(valueStart, i);
421
+ if (i < s.length)
422
+ i++; // skip closing quote
423
+ }
424
+ else {
425
+ // Unquoted value
426
+ const valueStart = i;
427
+ while (i < s.length && !isWhitespace(s[i]) && s[i] !== ">" && s[i] !== "/")
428
+ i++;
429
+ attrs[name] = s.slice(valueStart, i);
430
+ }
431
+ }
432
+ return attrs;
433
+ }
434
+ function isNameStartChar(ch) {
435
+ return (ch >= "a" && ch <= "z") || (ch >= "A" && ch <= "Z") || ch === "_";
436
+ }
437
+ function isNameContinueChar(ch) {
438
+ return isNameStartChar(ch) || (ch >= "0" && ch <= "9") || ch === "-";
439
+ }
440
+ function isWhitespace(ch) {
441
+ return ch === " " || ch === "\t" || ch === "\n" || ch === "\r";
442
+ }
443
+ //# sourceMappingURL=stream-tag-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream-tag-parser.js","sourceRoot":"","sources":["../../src/model/stream-tag-parser.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentick/core",
3
- "version": "0.12.2",
3
+ "version": "0.12.3",
4
4
  "description": "Core engine for Agentick",
5
5
  "keywords": [
6
6
  "agent",
@@ -122,8 +122,8 @@
122
122
  "react-reconciler": "^0.33.0",
123
123
  "zod": "^4.3.6",
124
124
  "zod-to-json-schema": "^3.25.1",
125
- "@agentick/kernel": "0.12.2",
126
- "@agentick/shared": "0.12.2"
125
+ "@agentick/kernel": "0.12.3",
126
+ "@agentick/shared": "0.12.3"
127
127
  },
128
128
  "devDependencies": {
129
129
  "@types/react": "^19.2.13",