@lssm/example.ai-support-bot 0.0.0-canary-20251217080011 → 1.41.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/.turbo/turbo-build.log +16 -18
- package/dist/docs/ai-support-bot.docblock.js +12 -27
- package/dist/docs/index.js +1 -1
- package/dist/example.js +1 -38
- package/dist/index.js +1 -5
- package/dist/setup.js +1 -47
- package/package.json +12 -15
- package/tsconfig.tsbuildinfo +1 -1
- package/.turbo/turbo-build$colon$bundle.log +0 -74
- package/CHANGELOG.md +0 -16
- package/dist/docs/ai-support-bot.docblock.d.ts +0 -1
- package/dist/docs/index.d.ts +0 -1
- package/dist/example.d.ts +0 -33
- package/dist/index.d.ts +0 -3
- package/dist/libs/contracts/dist/docs/PUBLISHING.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/accessibility_wcag_compliance_specs.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/index.js +0 -29
- package/dist/libs/contracts/dist/docs/presentations.js +0 -71
- package/dist/libs/contracts/dist/docs/registry.js +0 -44
- package/dist/libs/contracts/dist/docs/tech/PHASE_1_QUICKSTART.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/tech/PHASE_2_AI_NATIVE_OPERATIONS.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/tech/PHASE_3_AUTO_EVOLUTION.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/tech/PHASE_4_PERSONALIZATION_ENGINE.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/tech/PHASE_5_ZERO_TOUCH_OPERATIONS.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/tech/auth/better-auth-nextjs.docblock.js +0 -80
- package/dist/libs/contracts/dist/docs/tech/contracts/openapi-export.docblock.js +0 -57
- package/dist/libs/contracts/dist/docs/tech/lifecycle-stage-system.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/tech/llm/llm-integration.docblock.js +0 -357
- package/dist/libs/contracts/dist/docs/tech/mcp-endpoints.docblock.js +0 -37
- package/dist/libs/contracts/dist/docs/tech/presentation-runtime.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/tech/schema/README.docblock.js +0 -20
- package/dist/libs/contracts/dist/docs/tech/studio/learning-events.docblock.js +0 -48
- package/dist/libs/contracts/dist/docs/tech/studio/learning-journeys.docblock.js +0 -79
- package/dist/libs/contracts/dist/docs/tech/studio/platform-admin-panel.docblock.js +0 -84
- package/dist/libs/contracts/dist/docs/tech/studio/project-access-teams.docblock.js +0 -45
- package/dist/libs/contracts/dist/docs/tech/studio/project-routing.docblock.js +0 -67
- package/dist/libs/contracts/dist/docs/tech/studio/sandbox-unlogged.docblock.js +0 -40
- package/dist/libs/contracts/dist/docs/tech/studio/team-invitations.docblock.js +0 -69
- package/dist/libs/contracts/dist/docs/tech/studio/workspace-ops.docblock.js +0 -47
- package/dist/libs/contracts/dist/docs/tech/studio/workspaces.docblock.js +0 -62
- package/dist/libs/contracts/dist/docs/tech/telemetry-ingest.docblock.js +0 -155
- package/dist/libs/contracts/dist/docs/tech/templates/runtime.docblock.js +0 -20
- package/dist/libs/contracts/dist/docs/tech/vscode-extension.docblock.js +0 -101
- package/dist/libs/contracts/dist/docs/tech/workflows/overview.docblock.js +0 -20
- package/dist/libs/logger/dist/context.node.js +0 -78
- package/dist/libs/logger/dist/elysia-plugin.js +0 -3
- package/dist/libs/logger/dist/formatters.js +0 -163
- package/dist/libs/logger/dist/index.js +0 -7
- package/dist/libs/logger/dist/logger.node.js +0 -189
- package/dist/libs/logger/dist/timer.js +0 -126
- package/dist/libs/logger/dist/tracer.node.js +0 -115
- package/dist/libs/logger/dist/types.js +0 -13
- package/dist/libs/support-bot/dist/bot/auto-responder.js +0 -83
- package/dist/libs/support-bot/dist/bot/index.js +0 -2
- package/dist/libs/support-bot/dist/bot/tools.js +0 -71
- package/dist/libs/support-bot/dist/rag/ticket-resolver.js +0 -63
- package/dist/libs/support-bot/dist/tickets/classifier.js +0 -198
- package/dist/setup.d.ts +0 -4
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,18 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
[
|
|
4
|
-
[34mℹ[39m
|
|
5
|
-
[34mℹ[39m
|
|
6
|
-
[34mℹ[39m
|
|
7
|
-
[34mℹ[39m
|
|
8
|
-
[34mℹ[39m
|
|
9
|
-
[34mℹ[39m
|
|
10
|
-
[34mℹ[39m
|
|
11
|
-
[34mℹ[39m [2mdist/[22m[
|
|
12
|
-
[34mℹ[39m [2mdist/[22m[
|
|
13
|
-
[34mℹ[39m [2mdist/[22m[
|
|
14
|
-
[34mℹ[39m
|
|
15
|
-
[
|
|
16
|
-
|
|
17
|
-
[32m✔[39m Build complete in [32m87ms[39m
|
|
18
|
-
[0m[2m[35m$[0m [2m[1mtsc --noEmit[0m
|
|
1
|
+
$ bun build:bundle && bun build:types
|
|
2
|
+
$ tsdown
|
|
3
|
+
[34mℹ[39m tsdown [2mv0.17.4[22m powered by rolldown [2mv1.0.0-beta.53[22m
|
|
4
|
+
[34mℹ[39m config file: [4m/home/runner/work/contractspec/contractspec/packages/examples/ai-support-bot/tsdown.config.js[24m
|
|
5
|
+
[34mℹ[39m entry: [34msrc/example.ts, src/index.ts, src/setup.ts, src/docs/ai-support-bot.docblock.ts, src/docs/index.ts[39m
|
|
6
|
+
[34mℹ[39m target: [34mesnext[39m
|
|
7
|
+
[34mℹ[39m tsconfig: [34mtsconfig.json[39m
|
|
8
|
+
[34mℹ[39m Build start
|
|
9
|
+
[34mℹ[39m [2mdist/[22m[1mdocs/ai-support-bot.docblock.js[22m [2m1.14 kB[22m [2m│ gzip: 0.59 kB[22m
|
|
10
|
+
[34mℹ[39m [2mdist/[22m[1msetup.js[22m [2m1.01 kB[22m [2m│ gzip: 0.61 kB[22m
|
|
11
|
+
[34mℹ[39m [2mdist/[22m[1mexample.js[22m [2m0.55 kB[22m [2m│ gzip: 0.34 kB[22m
|
|
12
|
+
[34mℹ[39m [2mdist/[22m[1mindex.js[22m [2m0.15 kB[22m [2m│ gzip: 0.11 kB[22m
|
|
13
|
+
[34mℹ[39m [2mdist/[22m[1mdocs/index.js[22m [2m0.04 kB[22m [2m│ gzip: 0.05 kB[22m
|
|
14
|
+
[34mℹ[39m 5 files, total: 2.89 kB
|
|
15
|
+
[32m✔[39m Build complete in [32m38ms[39m
|
|
16
|
+
$ tsc --noEmit
|
|
@@ -1,29 +1,14 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import{registerDocBlocks as e}from"@lssm/lib.contracts/docs";e([{id:`docs.examples.ai-support-bot`,title:`AI Support Bot (example)`,summary:`Ticket classification + knowledge-grounded resolution + response drafting.`,kind:`reference`,visibility:`public`,route:`/docs/examples/ai-support-bot`,tags:[`support`,`ai`,`example`],body:`## What this example shows
|
|
2
|
+
- Classify a ticket into a support category.
|
|
3
|
+
- Use a knowledge port to generate a grounded resolution.
|
|
4
|
+
- Draft a response (email body) from the resolution.
|
|
3
5
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
kind: "reference",
|
|
10
|
-
visibility: "public",
|
|
11
|
-
route: "/docs/examples/ai-support-bot",
|
|
12
|
-
tags: [
|
|
13
|
-
"support",
|
|
14
|
-
"ai",
|
|
15
|
-
"example"
|
|
16
|
-
],
|
|
17
|
-
body: `## What this example shows\n- Classify a ticket into a support category.\n- Use a knowledge port to generate a grounded resolution.\n- Draft a response (email body) from the resolution.\n\n## Guardrails\n- Avoid logging raw ticket bodies/PII; prefer structured summaries.\n- Keep knowledge and ticket adapters explicit and testable.`
|
|
18
|
-
}, {
|
|
19
|
-
id: "docs.examples.ai-support-bot.usage",
|
|
20
|
-
title: "AI Support Bot — Usage",
|
|
21
|
-
summary: "How to run the example and swap the knowledge adapter.",
|
|
22
|
-
kind: "usage",
|
|
23
|
-
visibility: "public",
|
|
24
|
-
route: "/docs/examples/ai-support-bot/usage",
|
|
25
|
-
tags: ["support", "usage"],
|
|
26
|
-
body: `## Usage\n- Call \`runAiSupportBotExample()\`.\n- Replace the \`knowledge.query\` implementation with a real knowledge service.\n\n## Notes\n- Keep outputs structured.\n- Use policy gates before exposing drafted replies to end-users.`
|
|
27
|
-
}]);
|
|
6
|
+
## Guardrails
|
|
7
|
+
- Avoid logging raw ticket bodies/PII; prefer structured summaries.
|
|
8
|
+
- Keep knowledge and ticket adapters explicit and testable.`},{id:`docs.examples.ai-support-bot.usage`,title:`AI Support Bot — Usage`,summary:`How to run the example and swap the knowledge adapter.`,kind:`usage`,visibility:`public`,route:`/docs/examples/ai-support-bot/usage`,tags:[`support`,`usage`],body:`## Usage
|
|
9
|
+
- Call \`runAiSupportBotExample()\`.
|
|
10
|
+
- Replace the \`knowledge.query\` implementation with a real knowledge service.
|
|
28
11
|
|
|
29
|
-
|
|
12
|
+
## Notes
|
|
13
|
+
- Keep outputs structured.
|
|
14
|
+
- Use policy gates before exposing drafted replies to end-users.`}]);
|
package/dist/docs/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import
|
|
1
|
+
import"./ai-support-bot.docblock.js";
|
package/dist/example.js
CHANGED
|
@@ -1,38 +1 @@
|
|
|
1
|
-
|
|
2
|
-
const example = {
|
|
3
|
-
id: "ai-support-bot",
|
|
4
|
-
title: "AI Support Bot",
|
|
5
|
-
summary: "Classify and resolve a support ticket (with a drafted response) using the support-bot and knowledge libraries.",
|
|
6
|
-
tags: [
|
|
7
|
-
"support",
|
|
8
|
-
"ai",
|
|
9
|
-
"tickets",
|
|
10
|
-
"knowledge"
|
|
11
|
-
],
|
|
12
|
-
kind: "script",
|
|
13
|
-
visibility: "public",
|
|
14
|
-
docs: {
|
|
15
|
-
rootDocId: "docs.examples.ai-support-bot",
|
|
16
|
-
usageDocId: "docs.examples.ai-support-bot.usage"
|
|
17
|
-
},
|
|
18
|
-
entrypoints: {
|
|
19
|
-
packageName: "@lssm/example.ai-support-bot",
|
|
20
|
-
docs: "./docs"
|
|
21
|
-
},
|
|
22
|
-
surfaces: {
|
|
23
|
-
templates: true,
|
|
24
|
-
sandbox: {
|
|
25
|
-
enabled: true,
|
|
26
|
-
modes: ["markdown"]
|
|
27
|
-
},
|
|
28
|
-
studio: {
|
|
29
|
-
enabled: true,
|
|
30
|
-
installable: true
|
|
31
|
-
},
|
|
32
|
-
mcp: { enabled: true }
|
|
33
|
-
}
|
|
34
|
-
};
|
|
35
|
-
var example_default = example;
|
|
36
|
-
|
|
37
|
-
//#endregion
|
|
38
|
-
export { example_default as default };
|
|
1
|
+
var e={id:`ai-support-bot`,title:`AI Support Bot`,summary:`Classify and resolve a support ticket (with a drafted response) using the support-bot and knowledge libraries.`,tags:[`support`,`ai`,`tickets`,`knowledge`],kind:`script`,visibility:`public`,docs:{rootDocId:`docs.examples.ai-support-bot`,usageDocId:`docs.examples.ai-support-bot.usage`},entrypoints:{packageName:`@lssm/example.ai-support-bot`,docs:`./docs`},surfaces:{templates:!0,sandbox:{enabled:!0,modes:[`markdown`]},studio:{enabled:!0,installable:!0},mcp:{enabled:!0}}};export{e as default};
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { runAiSupportBotExample } from "./setup.js";
|
|
3
|
-
import "./docs/index.js";
|
|
4
|
-
|
|
5
|
-
export { example_default as example, runAiSupportBotExample };
|
|
1
|
+
import e from"./example.js";import{runAiSupportBotExample as t}from"./setup.js";import"./docs/index.js";export{e as example,t as runAiSupportBotExample};
|
package/dist/setup.js
CHANGED
|
@@ -1,47 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { TicketClassifier } from "./libs/support-bot/dist/tickets/classifier.js";
|
|
3
|
-
import { AutoResponder } from "./libs/support-bot/dist/bot/auto-responder.js";
|
|
4
|
-
import "./libs/support-bot/dist/bot/index.js";
|
|
5
|
-
import { LogLevel } from "./libs/logger/dist/types.js";
|
|
6
|
-
import { Logger } from "./libs/logger/dist/logger.node.js";
|
|
7
|
-
import "./libs/logger/dist/index.js";
|
|
8
|
-
|
|
9
|
-
//#region src/setup.ts
|
|
10
|
-
const logger = new Logger({
|
|
11
|
-
level: process.env.NODE_ENV === "production" ? LogLevel.INFO : LogLevel.DEBUG,
|
|
12
|
-
environment: process.env.NODE_ENV || "development",
|
|
13
|
-
enableColors: process.env.NODE_ENV !== "production"
|
|
14
|
-
});
|
|
15
|
-
async function runAiSupportBotExample() {
|
|
16
|
-
const resolver = new TicketResolver({ knowledge: { async query(question) {
|
|
17
|
-
return {
|
|
18
|
-
answer: `The payout will retrigger automatically. (${question.slice(0, 40)}…)`,
|
|
19
|
-
references: []
|
|
20
|
-
};
|
|
21
|
-
} } });
|
|
22
|
-
const classifier = new TicketClassifier();
|
|
23
|
-
const responder = new AutoResponder();
|
|
24
|
-
const ticket = {
|
|
25
|
-
id: "TIC-42",
|
|
26
|
-
subject: "Payout failed",
|
|
27
|
-
body: "Hello, our supplier payout failed twice yesterday. Can you confirm status? It is urgent.",
|
|
28
|
-
channel: "email",
|
|
29
|
-
customerName: "Ivy",
|
|
30
|
-
metadata: { accountId: "acct_789" }
|
|
31
|
-
};
|
|
32
|
-
const classification = await classifier.classify(ticket);
|
|
33
|
-
const resolution = await resolver.resolve(ticket);
|
|
34
|
-
const draft = await responder.draft(ticket, resolution, classification);
|
|
35
|
-
logger.info("Support bot run completed", {
|
|
36
|
-
ticketId: ticket.id,
|
|
37
|
-
classification,
|
|
38
|
-
resolution,
|
|
39
|
-
emailDraft: {
|
|
40
|
-
subject: draft.subject,
|
|
41
|
-
body: draft.body
|
|
42
|
-
}
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
//#endregion
|
|
47
|
-
export { runAiSupportBotExample };
|
|
1
|
+
import{TicketResolver as e}from"@lssm/lib.support-bot/rag";import{TicketClassifier as t}from"@lssm/lib.support-bot/tickets";import{AutoResponder as n}from"@lssm/lib.support-bot/bot";import{LogLevel as r,Logger as i}from"@lssm/lib.logger";const a=new i({level:process.env.NODE_ENV===`production`?r.INFO:r.DEBUG,environment:process.env.NODE_ENV||`development`,enableColors:process.env.NODE_ENV!==`production`});async function o(){let r=new e({knowledge:{async query(e){return{answer:`The payout will retrigger automatically. (${e.slice(0,40)}…)`,references:[]}}}}),i=new t,o=new n,s={id:`TIC-42`,subject:`Payout failed`,body:`Hello, our supplier payout failed twice yesterday. Can you confirm status? It is urgent.`,channel:`email`,customerName:`Ivy`,metadata:{accountId:`acct_789`}},c=await i.classify(s),l=await r.resolve(s),u=await o.draft(s,l,c);a.info(`Support bot run completed`,{ticketId:s.id,classification:c,resolution:l,emailDraft:{subject:u.subject,body:u.body}})}export{o as runAiSupportBotExample};
|
package/package.json
CHANGED
|
@@ -1,21 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lssm/example.ai-support-bot",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "1.41.0",
|
|
4
4
|
"description": "AI support bot example: classify and resolve a support ticket using @lssm/lib.support-bot.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
7
7
|
"types": "./dist/index.d.ts",
|
|
8
8
|
"exports": {
|
|
9
|
-
".": "./
|
|
10
|
-
"./docs": "./
|
|
11
|
-
"./docs/ai-support-bot.docblock": "./
|
|
12
|
-
"./example": "./
|
|
13
|
-
"./setup": "./
|
|
9
|
+
".": "./src/index.ts",
|
|
10
|
+
"./docs": "./src/docs/index.ts",
|
|
11
|
+
"./docs/ai-support-bot.docblock": "./src/docs/ai-support-bot.docblock.ts",
|
|
12
|
+
"./example": "./src/example.ts",
|
|
13
|
+
"./setup": "./src/setup.ts",
|
|
14
14
|
"./*": "./*"
|
|
15
15
|
},
|
|
16
16
|
"scripts": {
|
|
17
|
-
"publish:pkg": "bun publish --tolerate-republish --ignore-scripts --verbose",
|
|
18
|
-
"publish:pkg:canary": "bun publish:pkg --tag canary",
|
|
19
17
|
"build": "bun build:bundle && bun build:types",
|
|
20
18
|
"build:bundle": "tsdown",
|
|
21
19
|
"build:types": "tsc --noEmit",
|
|
@@ -27,15 +25,14 @@
|
|
|
27
25
|
"test": "bun test"
|
|
28
26
|
},
|
|
29
27
|
"dependencies": {
|
|
30
|
-
"@lssm/lib.support-bot": "
|
|
31
|
-
"@lssm/lib.knowledge": "
|
|
32
|
-
"@lssm/lib.
|
|
33
|
-
"@lssm/lib.
|
|
34
|
-
"@lssm/lib.logger": "0.0.0-canary-20251217080011"
|
|
28
|
+
"@lssm/lib.support-bot": "workspace:*",
|
|
29
|
+
"@lssm/lib.knowledge": "workspace:*",
|
|
30
|
+
"@lssm/lib.contracts": "workspace:*",
|
|
31
|
+
"@lssm/lib.logger": "workspace:*"
|
|
35
32
|
},
|
|
36
33
|
"devDependencies": {
|
|
37
|
-
"@lssm/tool.tsdown": "
|
|
38
|
-
"@lssm/tool.typescript": "
|
|
34
|
+
"@lssm/tool.tsdown": "workspace:*",
|
|
35
|
+
"@lssm/tool.typescript": "workspace:*",
|
|
39
36
|
"tsdown": "^0.17.4",
|
|
40
37
|
"typescript": "^5.9.3"
|
|
41
38
|
},
|