@hahnfeld/teams-adapter 1.1.1 → 1.3.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.
Files changed (71) hide show
  1. package/README.md +81 -28
  2. package/dist/activity.d.ts +0 -20
  3. package/dist/activity.d.ts.map +1 -1
  4. package/dist/adapter.d.ts +15 -24
  5. package/dist/adapter.d.ts.map +1 -1
  6. package/dist/adapter.js +161 -222
  7. package/dist/adapter.js.map +1 -1
  8. package/dist/assistant.d.ts +0 -1
  9. package/dist/assistant.d.ts.map +1 -1
  10. package/dist/assistant.js +0 -3
  11. package/dist/assistant.js.map +1 -1
  12. package/dist/commands/agents.d.ts +0 -1
  13. package/dist/commands/agents.d.ts.map +1 -1
  14. package/dist/commands/agents.js +0 -3
  15. package/dist/commands/agents.js.map +1 -1
  16. package/dist/commands/doctor.d.ts +0 -1
  17. package/dist/commands/doctor.d.ts.map +1 -1
  18. package/dist/commands/doctor.js +0 -3
  19. package/dist/commands/doctor.js.map +1 -1
  20. package/dist/commands/integrate.d.ts +0 -1
  21. package/dist/commands/integrate.d.ts.map +1 -1
  22. package/dist/commands/integrate.js +0 -3
  23. package/dist/commands/integrate.js.map +1 -1
  24. package/dist/commands/menu.d.ts +0 -1
  25. package/dist/commands/menu.d.ts.map +1 -1
  26. package/dist/commands/menu.js +0 -3
  27. package/dist/commands/menu.js.map +1 -1
  28. package/dist/commands/new-session.d.ts +0 -1
  29. package/dist/commands/new-session.d.ts.map +1 -1
  30. package/dist/commands/new-session.js +0 -3
  31. package/dist/commands/new-session.js.map +1 -1
  32. package/dist/commands/session.d.ts +0 -1
  33. package/dist/commands/session.d.ts.map +1 -1
  34. package/dist/commands/session.js +0 -3
  35. package/dist/commands/session.js.map +1 -1
  36. package/dist/commands/settings.d.ts +0 -1
  37. package/dist/commands/settings.d.ts.map +1 -1
  38. package/dist/commands/settings.js +0 -3
  39. package/dist/commands/settings.js.map +1 -1
  40. package/dist/formatting.d.ts +0 -62
  41. package/dist/formatting.d.ts.map +1 -1
  42. package/dist/formatting.js +0 -190
  43. package/dist/formatting.js.map +1 -1
  44. package/dist/index.d.ts +2 -2
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +2 -1
  47. package/dist/index.js.map +1 -1
  48. package/dist/message-composer.d.ts +94 -0
  49. package/dist/message-composer.d.ts.map +1 -0
  50. package/dist/message-composer.js +331 -0
  51. package/dist/message-composer.js.map +1 -0
  52. package/dist/plugin.d.ts.map +1 -1
  53. package/dist/plugin.js +33 -6
  54. package/dist/plugin.js.map +1 -1
  55. package/dist/rate-limiter.d.ts +17 -0
  56. package/dist/rate-limiter.d.ts.map +1 -0
  57. package/dist/rate-limiter.js +201 -0
  58. package/dist/rate-limiter.js.map +1 -0
  59. package/package.json +2 -2
  60. package/dist/draft-manager.d.ts +0 -56
  61. package/dist/draft-manager.d.ts.map +0 -1
  62. package/dist/draft-manager.js +0 -268
  63. package/dist/draft-manager.js.map +0 -1
  64. package/dist/renderer.d.ts +0 -49
  65. package/dist/renderer.d.ts.map +0 -1
  66. package/dist/renderer.js +0 -55
  67. package/dist/renderer.js.map +0 -1
  68. package/dist/task-modules.d.ts +0 -34
  69. package/dist/task-modules.d.ts.map +0 -1
  70. package/dist/task-modules.js +0 -136
  71. package/dist/task-modules.js.map +0 -1
@@ -56,66 +56,4 @@ export declare function formatUsage(usage: {
56
56
  contextSize?: number;
57
57
  cost?: number;
58
58
  }, verbosity?: "low" | "medium" | "high"): string;
59
- interface UsageData {
60
- tokensUsed?: number;
61
- contextSize?: number;
62
- cost?: number;
63
- duration?: number;
64
- }
65
- /** Structured usage card with FactSet and visual progress indicator */
66
- export declare function renderUsageCard(usage: UsageData, mode: "low" | "medium" | "high"): {
67
- body: unknown[];
68
- };
69
- interface ToolCallCardMeta {
70
- id: string;
71
- name: string;
72
- kind?: string;
73
- status?: string;
74
- rawInput?: unknown;
75
- content?: unknown;
76
- displaySummary?: string;
77
- displayTitle?: string;
78
- displayKind?: string;
79
- viewerLinks?: {
80
- file?: string;
81
- diff?: string;
82
- };
83
- viewerFilePath?: string;
84
- }
85
- /** Structured tool call card with icon, name, status, and optional details */
86
- export declare function renderToolCallCard(tool: ToolCallCardMeta, verbosity: "low" | "medium" | "high"): {
87
- body: unknown[];
88
- actions?: unknown[];
89
- };
90
- /** Structured plan card with status-colored rows */
91
- export declare function renderPlanCard(entries: {
92
- content: string;
93
- status: string;
94
- }[], verbosity: "low" | "medium" | "high"): {
95
- body: unknown[];
96
- };
97
- interface CitationSource {
98
- /** File path or tool name */
99
- name: string;
100
- /** URL to view the file or diff */
101
- url: string;
102
- /** Short description or content snippet */
103
- abstract?: string;
104
- /** Icon type: "Source Code", "PDF", "Image", etc. */
105
- iconType?: string;
106
- }
107
- /**
108
- * Build Teams citation entities from file references.
109
- *
110
- * Teams displays citations as numbered in-text references [1] with hover popups
111
- * showing the source name, description, and link. Max 20 per message.
112
- *
113
- * @see https://learn.microsoft.com/en-us/microsoftteams/platform/bots/how-to/bot-messages-ai-generated-content
114
- */
115
- export declare function buildCitationEntities(sources: CitationSource[]): unknown[];
116
- /**
117
- * Build citation text references like "[1]" to insert into message text.
118
- * Returns a suffix string to append to the message.
119
- */
120
- export declare function buildCitationSuffix(sources: CitationSource[]): string;
121
59
  //# sourceMappingURL=formatting.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"formatting.d.ts","sourceRoot":"","sources":["../src/formatting.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"formatting.d.ts","sourceRoot":"","sources":["../src/formatting.ts"],"names":[],"mappings":"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"}
@@ -199,194 +199,4 @@ export function formatUsage(usage, verbosity = "medium") {
199
199
  text += `\n💰 $${cost.toFixed(2)}`;
200
200
  return text;
201
201
  }
202
- /** Structured usage card with FactSet and visual progress indicator */
203
- export function renderUsageCard(usage, mode) {
204
- const { tokensUsed, contextSize, cost, duration } = usage;
205
- if (tokensUsed == null) {
206
- return { body: [{ type: "TextBlock", text: "📊 Usage data unavailable", wrap: true, isSubtle: true }] };
207
- }
208
- if (mode === "low") {
209
- return { body: [{ type: "TextBlock", text: `📊 ${formatTokens(tokensUsed)} tokens`, wrap: true }] };
210
- }
211
- const body = [];
212
- // Header
213
- const pct = contextSize ? Math.round((tokensUsed / contextSize) * 100) : null;
214
- const headerColor = pct != null && pct >= 85 ? "Attention" : "Default";
215
- body.push({ type: "TextBlock", text: "📊 Usage Summary", weight: "Bolder", size: "Medium", color: headerColor });
216
- // Facts
217
- const facts = [
218
- { title: "Tokens", value: formatTokens(tokensUsed) },
219
- ];
220
- if (contextSize)
221
- facts.push({ title: "Context", value: `${formatTokens(contextSize)} (${pct}%)` });
222
- if (cost != null)
223
- facts.push({ title: "Cost", value: `$${cost.toFixed(4)}` });
224
- if (duration != null)
225
- facts.push({ title: "Duration", value: `${(duration / 1000).toFixed(1)}s` });
226
- body.push({ type: "FactSet", facts, separator: true });
227
- // Visual progress bar (context usage)
228
- if (contextSize && mode === "high") {
229
- body.push({
230
- type: "TextBlock",
231
- text: `\`${progressBar(tokensUsed / contextSize, 20)}\` ${pct}%`,
232
- fontType: "Monospace",
233
- size: "Small",
234
- isSubtle: true,
235
- });
236
- }
237
- return { body };
238
- }
239
- /** Structured tool call card with icon, name, status, and optional details */
240
- export function renderToolCallCard(tool, verbosity) {
241
- const icon = resolveToolIcon(tool.kind ?? "", tool.displayKind, tool.status);
242
- const name = tool.name || "Tool";
243
- const label = verbosity === "low"
244
- ? formatToolTitle(name, tool.rawInput, tool.displayTitle)
245
- : formatToolSummary(name, tool.rawInput, tool.displaySummary);
246
- const statusColor = tool.status === "completed" ? "Good" : tool.status === "error" ? "Attention" : "Default";
247
- const body = [];
248
- // Header row: icon + tool name + status
249
- body.push({
250
- type: "ColumnSet",
251
- columns: [
252
- {
253
- type: "Column",
254
- width: "auto",
255
- items: [{ type: "TextBlock", text: icon, size: "Medium" }],
256
- },
257
- {
258
- type: "Column",
259
- width: "stretch",
260
- items: [
261
- { type: "TextBlock", text: `**${label}**`, wrap: true },
262
- ...(tool.status ? [{ type: "TextBlock", text: tool.status, size: "Small", isSubtle: true, color: statusColor, spacing: "None" }] : []),
263
- ],
264
- },
265
- ],
266
- });
267
- // High verbosity: show input/output
268
- if (verbosity === "high") {
269
- const maxLen = 400;
270
- if (tool.rawInput) {
271
- const inputStr = typeof tool.rawInput === "string" ? tool.rawInput : JSON.stringify(tool.rawInput, null, 2);
272
- if (inputStr && inputStr !== "{}") {
273
- body.push({ type: "TextBlock", text: "**Input:**", size: "Small", spacing: "Medium" });
274
- body.push({ type: "TextBlock", text: `\`\`\`\n${truncateContent(inputStr, maxLen)}\n\`\`\``, wrap: true, fontType: "Monospace", size: "Small" });
275
- }
276
- }
277
- const contentText = stripCodeFences(extractContentText(tool.content));
278
- if (contentText) {
279
- body.push({ type: "TextBlock", text: "**Output:**", size: "Small", spacing: "Medium" });
280
- body.push({ type: "TextBlock", text: `\`\`\`\n${truncateContent(contentText, maxLen)}\n\`\`\``, wrap: true, fontType: "Monospace", size: "Small" });
281
- }
282
- }
283
- // Actions: viewer links
284
- const actions = [];
285
- if (tool.viewerLinks) {
286
- const fn = tool.viewerFilePath?.split("/").pop() || "file";
287
- if (tool.viewerLinks.file) {
288
- actions.push({ type: "Action.OpenUrl", title: `View ${fn}`, url: tool.viewerLinks.file });
289
- }
290
- if (tool.viewerLinks.diff) {
291
- actions.push({ type: "Action.OpenUrl", title: `View diff`, url: tool.viewerLinks.diff });
292
- }
293
- }
294
- return { body, ...(actions.length > 0 ? { actions } : {}) };
295
- }
296
- /** Structured plan card with status-colored rows */
297
- export function renderPlanCard(entries, verbosity) {
298
- const done = entries.filter((e) => e.status === "completed").length;
299
- const total = entries.length;
300
- const body = [];
301
- // Header with progress
302
- body.push({
303
- type: "ColumnSet",
304
- columns: [
305
- { type: "Column", width: "stretch", items: [{ type: "TextBlock", text: "📋 **Plan**", weight: "Bolder" }] },
306
- { type: "Column", width: "auto", items: [{ type: "TextBlock", text: `${done}/${total}`, isSubtle: true }] },
307
- ],
308
- });
309
- if (verbosity === "medium" && total > 5) {
310
- // Compact summary for medium verbosity with many steps
311
- body.push({ type: "TextBlock", text: `${done} of ${total} steps completed`, isSubtle: true });
312
- return { body };
313
- }
314
- // Step rows with status colors
315
- const statusColors = {
316
- completed: "Good", in_progress: "Accent", pending: "Default",
317
- };
318
- const statusIcons = {
319
- completed: "✅", in_progress: "🔄", pending: "⬜",
320
- };
321
- for (let i = 0; i < entries.length; i++) {
322
- const e = entries[i];
323
- const icon = statusIcons[e.status] || "⬜";
324
- const color = statusColors[e.status] || "Default";
325
- body.push({
326
- type: "ColumnSet",
327
- spacing: "Small",
328
- columns: [
329
- { type: "Column", width: "auto", items: [{ type: "TextBlock", text: icon }] },
330
- { type: "Column", width: "stretch", items: [{ type: "TextBlock", text: `${i + 1}. ${e.content}`, wrap: true, color }] },
331
- ],
332
- });
333
- }
334
- return { body };
335
- }
336
- /**
337
- * Build Teams citation entities from file references.
338
- *
339
- * Teams displays citations as numbered in-text references [1] with hover popups
340
- * showing the source name, description, and link. Max 20 per message.
341
- *
342
- * @see https://learn.microsoft.com/en-us/microsoftteams/platform/bots/how-to/bot-messages-ai-generated-content
343
- */
344
- export function buildCitationEntities(sources) {
345
- if (sources.length === 0)
346
- return [];
347
- return [{
348
- type: "https://schema.org/Message",
349
- "@type": "Message",
350
- "@context": "https://schema.org",
351
- additionalType: ["AIGeneratedContent"],
352
- citation: sources.slice(0, 20).map((source, i) => ({
353
- "@type": "Claim",
354
- position: i + 1,
355
- appearance: {
356
- "@type": "DigitalDocument",
357
- name: source.name.slice(0, 80),
358
- url: source.url,
359
- ...(source.abstract ? { abstract: source.abstract.slice(0, 160) } : {}),
360
- image: { "@type": "ImageObject", name: source.iconType ?? guessIconType(source.name) },
361
- },
362
- })),
363
- }];
364
- }
365
- /**
366
- * Build citation text references like "[1]" to insert into message text.
367
- * Returns a suffix string to append to the message.
368
- */
369
- export function buildCitationSuffix(sources) {
370
- if (sources.length === 0)
371
- return "";
372
- return "\n\n" + sources.slice(0, 20).map((s, i) => `[${i + 1}] ${s.name}`).join("\n");
373
- }
374
- /** Guess the Teams citation icon type from a file extension */
375
- function guessIconType(name) {
376
- const ext = name.split(".").pop()?.toLowerCase() ?? "";
377
- const codeExts = new Set(["ts", "js", "tsx", "jsx", "py", "rs", "go", "java", "c", "cpp", "h", "cs", "rb", "swift", "kt", "sh", "yaml", "yml", "json", "toml", "xml", "html", "css", "scss", "sql", "md"]);
378
- if (codeExts.has(ext))
379
- return "Source Code";
380
- if (ext === "pdf")
381
- return "PDF";
382
- if (["png", "jpg", "jpeg", "gif", "svg", "webp"].includes(ext))
383
- return "Image";
384
- if (["doc", "docx"].includes(ext))
385
- return "Microsoft Word";
386
- if (["xls", "xlsx"].includes(ext))
387
- return "Microsoft Excel";
388
- if (["ppt", "pptx"].includes(ext))
389
- return "Microsoft PowerPoint";
390
- return "Source Code";
391
- }
392
202
  //# sourceMappingURL=formatting.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"formatting.js","sourceRoot":"","sources":["../src/formatting.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"formatting.js","sourceRoot":"","sources":["../src/formatting.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -3,12 +3,12 @@ export { createTeamsPlugin };
3
3
  declare const _default: import("@openacp/cli").OpenACPPlugin;
4
4
  export default _default;
5
5
  export { TeamsAdapter } from "./adapter.js";
6
- export { TeamsRenderer } from "./renderer.js";
7
6
  export type { TeamsChannelConfig, TeamsPlatformData } from "./types.js";
8
7
  export { DEFAULT_BOT_PORT } from "./types.js";
9
8
  export type { ToolCardSnapshot, ToolDisplaySpec } from "./activity.js";
10
9
  export type { OutputMode } from "./activity.js";
11
- export type { TeamsDraftManager, TeamsMessageDraft } from "./draft-manager.js";
10
+ export { SessionMessageManager } from "./message-composer.js";
11
+ export { ConversationRateLimiter } from "./rate-limiter.js";
12
12
  export type { PermissionHandler } from "./permissions.js";
13
13
  export { SLASH_COMMANDS } from "./commands/index.js";
14
14
  export { GraphFileClient } from "./graph.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,CAAC;;AAC7B,wBAAmC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACvE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC/E,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,wBAAwB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,CAAC;;AAC7B,wBAAmC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACvE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,wBAAwB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC"}
package/dist/index.js CHANGED
@@ -2,8 +2,9 @@ import createTeamsPlugin from "./plugin.js";
2
2
  export { createTeamsPlugin };
3
3
  export default createTeamsPlugin();
4
4
  export { TeamsAdapter } from "./adapter.js";
5
- export { TeamsRenderer } from "./renderer.js";
6
5
  export { DEFAULT_BOT_PORT } from "./types.js";
6
+ export { SessionMessageManager } from "./message-composer.js";
7
+ export { ConversationRateLimiter } from "./rate-limiter.js";
7
8
  export { SLASH_COMMANDS } from "./commands/index.js";
8
9
  export { GraphFileClient } from "./graph.js";
9
10
  export { validateBotCredentials, validateTenant, discoverTeamsAndChannels, parseTeamsLink } from "./validators.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAC7B,eAAe,iBAAiB,EAAE,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAK9C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,wBAAwB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAC7B,eAAe,iBAAiB,EAAE,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAG9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,wBAAwB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,94 @@
1
+ /**
2
+ * Message composer — manages a single "main message" per session in Teams.
3
+ *
4
+ * The main message has four zones:
5
+ * TITLE (persistent, bold) — session name, survives finalize
6
+ * HEADER (ephemeral, italic) — tool_call, tool_update, thought
7
+ * BODY (persistent, streamed) — text, attachments
8
+ * FOOTER (persistent, italic) — usage, session_end
9
+ *
10
+ * All zones are composed into a single markdown string and sent/updated
11
+ * as one Teams message via the rate limiter.
12
+ */
13
+ import type { TurnContext } from "@microsoft/agents-hosting";
14
+ import type { ConversationRateLimiter } from "./rate-limiter.js";
15
+ export interface MessageRef {
16
+ activityId: string;
17
+ conversationId: string;
18
+ serviceUrl: string;
19
+ }
20
+ export type AcquireBotToken = () => Promise<string | null>;
21
+ /**
22
+ * A single main message with title/header/body/footer zones.
23
+ */
24
+ export declare class SessionMessage {
25
+ private context;
26
+ private conversationId;
27
+ private sessionId;
28
+ private rateLimiter;
29
+ private acquireBotToken;
30
+ private title;
31
+ private header;
32
+ private body;
33
+ private footer;
34
+ private ref;
35
+ private lastSent;
36
+ private stallTimer?;
37
+ constructor(context: TurnContext, conversationId: string, sessionId: string, rateLimiter: ConversationRateLimiter, acquireBotToken: AcquireBotToken);
38
+ updateContext(context: TurnContext): void;
39
+ getRef(): MessageRef | null;
40
+ getBody(): string;
41
+ getFooter(): string | null;
42
+ /** Set the persistent session title (bold, survives finalize). */
43
+ setTitle(text: string): void;
44
+ /** Max header length — keeps the message compact; tool diffs can be huge. */
45
+ private static readonly MAX_HEADER_LENGTH;
46
+ /** Replace the ephemeral header (tool_call, thought, etc.). */
47
+ setHeader(text: string): void;
48
+ /** Clear the ephemeral header and flush the update. */
49
+ clearHeader(): void;
50
+ /** Append text to the body (streaming text chunks). */
51
+ appendBody(text: string): void;
52
+ /** Set the persistent footer (usage, completion). */
53
+ setFooter(text: string): void;
54
+ /** Append to the existing footer (e.g., adding "Task completed" after usage). */
55
+ appendFooter(text: string): void;
56
+ /**
57
+ * Close any unclosed code fences in the body.
58
+ * If the body has an odd number of ``` markers, the footer would
59
+ * be swallowed into the code block — append a closing fence.
60
+ */
61
+ private static closeCodeFences;
62
+ /** Compose the four zones into a single markdown string. */
63
+ compose(): string;
64
+ /** Request a flush through the rate limiter. */
65
+ requestFlush(): void;
66
+ private flush;
67
+ private updateViaRest;
68
+ /** Split: finalize current message at body limit, start fresh. */
69
+ private split;
70
+ private resetStallTimer;
71
+ /** Finalize: clear stall timer, clear ephemeral header, do a last flush. */
72
+ finalize(): Promise<MessageRef | null>;
73
+ stripPattern(pattern: RegExp): Promise<void>;
74
+ }
75
+ /**
76
+ * Manages SessionMessage instances and plan refs across sessions.
77
+ */
78
+ export declare class SessionMessageManager {
79
+ private rateLimiter;
80
+ private acquireBotToken;
81
+ private messages;
82
+ private planRefs;
83
+ constructor(rateLimiter: ConversationRateLimiter, acquireBotToken: AcquireBotToken);
84
+ getOrCreate(sessionId: string, context: TurnContext): SessionMessage;
85
+ get(sessionId: string): SessionMessage | undefined;
86
+ has(sessionId: string): boolean;
87
+ /** Finalize and remove a session's message and plan ref. */
88
+ finalize(sessionId: string): Promise<MessageRef | null>;
89
+ /** Get or set the plan message ref for a session. */
90
+ getPlanRef(sessionId: string): MessageRef | undefined;
91
+ setPlanRef(sessionId: string, ref: MessageRef): void;
92
+ cleanup(sessionId: string): void;
93
+ }
94
+ //# sourceMappingURL=message-composer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-composer.d.ts","sourceRoot":"","sources":["../src/message-composer.ts"],"names":[],"mappings":"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"}