@contractspec/example.ai-support-bot 1.46.1 → 1.47.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.
@@ -1,5 +1,5 @@
1
1
  $ tsdown
2
- ℹ tsdown v0.18.3 powered by rolldown v1.0.0-beta.57
2
+ ℹ tsdown v0.19.0 powered by rolldown v1.0.0-beta.59
3
3
  ℹ config file: /home/runner/work/contractspec/contractspec/packages/examples/ai-support-bot/tsdown.config.js
4
4
  ℹ entry: src/example.ts, src/index.ts, src/setup.ts, src/docs/ai-support-bot.docblock.ts, src/docs/index.ts
5
5
  ℹ target: esnext
@@ -8,18 +8,18 @@ $ tsdown
8
8
  ℹ Cleaning 16 files
9
9
  ℹ dist/setup.js 1.53 kB │ gzip: 0.75 kB
10
10
  ℹ dist/docs/ai-support-bot.docblock.js 1.35 kB │ gzip: 0.66 kB
11
- ℹ dist/example.js 0.92 kB │ gzip: 0.49 kB
11
+ ℹ dist/example.js 1.00 kB │ gzip: 0.52 kB
12
12
  ℹ dist/index.js 0.19 kB │ gzip: 0.12 kB
13
13
  ℹ dist/docs/index.js 0.04 kB │ gzip: 0.06 kB
14
- ℹ dist/setup.js.map 2.70 kB │ gzip: 1.18 kB
14
+ ℹ dist/setup.js.map 2.68 kB │ gzip: 1.18 kB
15
15
  ℹ dist/docs/ai-support-bot.docblock.js.map 1.84 kB │ gzip: 0.85 kB
16
- ℹ dist/example.js.map 1.45 kB │ gzip: 0.70 kB
16
+ ℹ dist/example.js.map 1.44 kB │ gzip: 0.70 kB
17
+ ℹ dist/example.d.ts.map 0.14 kB │ gzip: 0.13 kB
17
18
  ℹ dist/setup.d.ts.map 0.13 kB │ gzip: 0.13 kB
18
- ℹ dist/example.d.ts.map 0.12 kB │ gzip: 0.12 kB
19
- ℹ dist/example.d.ts 0.20 kB │ gzip: 0.16 kB
19
+ ℹ dist/example.d.ts 0.25 kB │ gzip: 0.17 kB
20
20
  ℹ dist/setup.d.ts 0.17 kB │ gzip: 0.14 kB
21
21
  ℹ dist/index.d.ts 0.13 kB │ gzip: 0.09 kB
22
22
  ℹ dist/docs/ai-support-bot.docblock.d.ts 0.01 kB │ gzip: 0.03 kB
23
23
  ℹ dist/docs/index.d.ts 0.01 kB │ gzip: 0.03 kB
24
- ℹ 15 files, total: 10.80 kB
25
- ✔ Build complete in 15453ms
24
+ ℹ 15 files, total: 10.90 kB
25
+ ✔ Build complete in 19901ms
@@ -1,7 +1,7 @@
1
1
  $ bun build:types && bun build:bundle
2
2
  $ tsc --noEmit
3
3
  $ tsdown
4
- ℹ tsdown v0.18.3 powered by rolldown v1.0.0-beta.57
4
+ ℹ tsdown v0.19.0 powered by rolldown v1.0.0-beta.59
5
5
  ℹ config file: /home/runner/work/contractspec/contractspec/packages/examples/ai-support-bot/tsdown.config.js
6
6
  ℹ entry: src/example.ts, src/index.ts, src/setup.ts, src/docs/ai-support-bot.docblock.ts, src/docs/index.ts
7
7
  ℹ target: esnext
@@ -9,18 +9,18 @@ $ tsdown
9
9
  ℹ Build start
10
10
  ℹ dist/setup.js 1.53 kB │ gzip: 0.75 kB
11
11
  ℹ dist/docs/ai-support-bot.docblock.js 1.35 kB │ gzip: 0.66 kB
12
- ℹ dist/example.js 0.92 kB │ gzip: 0.49 kB
12
+ ℹ dist/example.js 1.00 kB │ gzip: 0.52 kB
13
13
  ℹ dist/index.js 0.19 kB │ gzip: 0.12 kB
14
14
  ℹ dist/docs/index.js 0.04 kB │ gzip: 0.06 kB
15
- ℹ dist/setup.js.map 2.70 kB │ gzip: 1.18 kB
15
+ ℹ dist/setup.js.map 2.68 kB │ gzip: 1.18 kB
16
16
  ℹ dist/docs/ai-support-bot.docblock.js.map 1.84 kB │ gzip: 0.85 kB
17
- ℹ dist/example.js.map 1.45 kB │ gzip: 0.70 kB
17
+ ℹ dist/example.js.map 1.44 kB │ gzip: 0.70 kB
18
+ ℹ dist/example.d.ts.map 0.14 kB │ gzip: 0.13 kB
18
19
  ℹ dist/setup.d.ts.map 0.13 kB │ gzip: 0.13 kB
19
- ℹ dist/example.d.ts.map 0.12 kB │ gzip: 0.12 kB
20
- ℹ dist/example.d.ts 0.20 kB │ gzip: 0.16 kB
20
+ ℹ dist/example.d.ts 0.25 kB │ gzip: 0.17 kB
21
21
  ℹ dist/setup.d.ts 0.17 kB │ gzip: 0.14 kB
22
22
  ℹ dist/index.d.ts 0.13 kB │ gzip: 0.09 kB
23
23
  ℹ dist/docs/ai-support-bot.docblock.d.ts 0.01 kB │ gzip: 0.03 kB
24
24
  ℹ dist/docs/index.d.ts 0.01 kB │ gzip: 0.03 kB
25
- ℹ 15 files, total: 10.80 kB
26
- ✔ Build complete in 12315ms
25
+ ℹ 15 files, total: 10.90 kB
26
+ ✔ Build complete in 22922ms
package/CHANGELOG.md CHANGED
@@ -1,5 +1,40 @@
1
1
  # @contractspec/example.ai-support-bot
2
2
 
3
+ ## 1.47.0
4
+
5
+ ### Minor Changes
6
+
7
+ - caf8701: feat: add cli vibe command to run workflow
8
+ - c69b849: feat: add api web services (mcp & website)
9
+ - 42b8d78: feat: add cli `contractspec vibe` workflow to simplify usage
10
+ - fd38e85: feat: auto-fix contractspec issues
11
+
12
+ ### Patch Changes
13
+
14
+ - e7ded36: feat: improve stability (adding ts-morph)
15
+ - c231a8b: test: improve workspace stability
16
+ - Updated dependencies [e7ded36]
17
+ - Updated dependencies [caf8701]
18
+ - Updated dependencies [c69b849]
19
+ - Updated dependencies [c231a8b]
20
+ - Updated dependencies [42b8d78]
21
+ - Updated dependencies [fd38e85]
22
+ - @contractspec/lib.support-bot@1.47.0
23
+ - @contractspec/lib.contracts@1.47.0
24
+ - @contractspec/lib.knowledge@1.47.0
25
+ - @contractspec/lib.logger@1.47.0
26
+
27
+ ## 1.46.2
28
+
29
+ ### Patch Changes
30
+
31
+ - 7e21625: feat: library services (landing page & api)
32
+ - Updated dependencies [7e21625]
33
+ - @contractspec/lib.support-bot@1.46.2
34
+ - @contractspec/lib.contracts@1.46.2
35
+ - @contractspec/lib.knowledge@1.46.2
36
+ - @contractspec/lib.logger@1.46.2
37
+
3
38
  ## 1.46.1
4
39
 
5
40
  ### Patch Changes
package/dist/example.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- import { ExampleSpec } from "@contractspec/lib.contracts";
1
+ import * as _contractspec_lib_contracts0 from "@contractspec/lib.contracts";
2
2
 
3
3
  //#region src/example.d.ts
4
- declare const example: ExampleSpec;
4
+ declare const example: _contractspec_lib_contracts0.ExampleSpec;
5
5
  //#endregion
6
6
  export { example as default };
7
7
  //# sourceMappingURL=example.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"example.d.ts","names":[],"sources":["../src/example.ts"],"sourcesContent":[],"mappings":";;;cAEM,SAAS"}
1
+ {"version":3,"file":"example.d.ts","names":[],"sources":["../src/example.ts"],"sourcesContent":[],"mappings":";;;cAEM,SA2BJ,4BAAA,CA3BW"}
package/dist/example.js CHANGED
@@ -1,5 +1,7 @@
1
+ import { defineExample } from "@contractspec/lib.contracts";
2
+
1
3
  //#region src/example.ts
2
- const example = {
4
+ const example = defineExample({
3
5
  meta: {
4
6
  key: "ai-support-bot",
5
7
  version: "1.0.0",
@@ -36,7 +38,7 @@ const example = {
36
38
  },
37
39
  mcp: { enabled: true }
38
40
  }
39
- };
41
+ });
40
42
  var example_default = example;
41
43
 
42
44
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"example.js","names":["example: ExampleSpec"],"sources":["../src/example.ts"],"sourcesContent":["import type { ExampleSpec } from '@contractspec/lib.contracts';\n\nconst example: ExampleSpec = {\n meta: {\n key: 'ai-support-bot',\n version: '1.0.0',\n title: 'AI Support Bot',\n description:\n 'Classify and resolve a support ticket (with a drafted response) using the support-bot and knowledge libraries.',\n kind: 'script',\n visibility: 'public',\n stability: 'experimental',\n owners: ['@platform.core'],\n tags: ['support', 'ai', 'tickets', 'knowledge'],\n },\n docs: {\n rootDocId: 'docs.examples.ai-support-bot',\n usageDocId: 'docs.examples.ai-support-bot.usage',\n },\n entrypoints: {\n packageName: '@contractspec/example.ai-support-bot',\n docs: './docs',\n },\n surfaces: {\n templates: true,\n sandbox: { enabled: true, modes: ['markdown'] },\n studio: { enabled: true, installable: true },\n mcp: { enabled: true },\n },\n};\n\nexport default example;\n"],"mappings":";AAEA,MAAMA,UAAuB;CAC3B,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aACE;EACF,MAAM;EACN,YAAY;EACZ,WAAW;EACX,QAAQ,CAAC,iBAAiB;EAC1B,MAAM;GAAC;GAAW;GAAM;GAAW;GAAY;EAChD;CACD,MAAM;EACJ,WAAW;EACX,YAAY;EACb;CACD,aAAa;EACX,aAAa;EACb,MAAM;EACP;CACD,UAAU;EACR,WAAW;EACX,SAAS;GAAE,SAAS;GAAM,OAAO,CAAC,WAAW;GAAE;EAC/C,QAAQ;GAAE,SAAS;GAAM,aAAa;GAAM;EAC5C,KAAK,EAAE,SAAS,MAAM;EACvB;CACF;AAED,sBAAe"}
1
+ {"version":3,"file":"example.js","names":[],"sources":["../src/example.ts"],"sourcesContent":["import { defineExample } from '@contractspec/lib.contracts';\n\nconst example = defineExample({\n meta: {\n key: 'ai-support-bot',\n version: '1.0.0',\n title: 'AI Support Bot',\n description:\n 'Classify and resolve a support ticket (with a drafted response) using the support-bot and knowledge libraries.',\n kind: 'script',\n visibility: 'public',\n stability: 'experimental',\n owners: ['@platform.core'],\n tags: ['support', 'ai', 'tickets', 'knowledge'],\n },\n docs: {\n rootDocId: 'docs.examples.ai-support-bot',\n usageDocId: 'docs.examples.ai-support-bot.usage',\n },\n entrypoints: {\n packageName: '@contractspec/example.ai-support-bot',\n docs: './docs',\n },\n surfaces: {\n templates: true,\n sandbox: { enabled: true, modes: ['markdown'] },\n studio: { enabled: true, installable: true },\n mcp: { enabled: true },\n },\n});\n\nexport default example;\n"],"mappings":";;;AAEA,MAAM,UAAU,cAAc;CAC5B,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aACE;EACF,MAAM;EACN,YAAY;EACZ,WAAW;EACX,QAAQ,CAAC,iBAAiB;EAC1B,MAAM;GAAC;GAAW;GAAM;GAAW;GAAY;EAChD;CACD,MAAM;EACJ,WAAW;EACX,YAAY;EACb;CACD,aAAa;EACX,aAAa;EACb,MAAM;EACP;CACD,UAAU;EACR,WAAW;EACX,SAAS;GAAE,SAAS;GAAM,OAAO,CAAC,WAAW;GAAE;EAC/C,QAAQ;GAAE,SAAS;GAAM,aAAa;GAAM;EAC5C,KAAK,EAAE,SAAS,MAAM;EACvB;CACF,CAAC;AAEF,sBAAe"}
package/dist/setup.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","names":["ticket: SupportTicket"],"sources":["../src/setup.ts"],"sourcesContent":["import { TicketResolver } from '@contractspec/lib.support-bot/rag';\nimport { TicketClassifier } from '@contractspec/lib.support-bot/tickets';\nimport { AutoResponder } from '@contractspec/lib.support-bot/bot';\nimport type { KnowledgeAnswer } from '@contractspec/lib.knowledge/query/service';\nimport type { SupportTicket } from '@contractspec/lib.support-bot/types';\nimport { Logger, LogLevel } from '@contractspec/lib.logger';\nimport type { LoggerConfig } from '@contractspec/lib.logger/types';\n\nconst logger = new Logger({\n level: process.env.NODE_ENV === 'production' ? LogLevel.INFO : LogLevel.DEBUG,\n environment:\n (process.env.NODE_ENV as LoggerConfig['environment']) || 'development',\n enableColors: process.env.NODE_ENV !== 'production',\n});\n\nexport async function runAiSupportBotExample(): Promise<void> {\n const knowledge = {\n async query(question: string): Promise<KnowledgeAnswer> {\n return {\n answer: `The payout will retrigger automatically. (${question.slice(0, 40)}…)`,\n references: [],\n };\n },\n };\n\n const resolver = new TicketResolver({ knowledge });\n const classifier = new TicketClassifier();\n const responder = new AutoResponder();\n\n const ticket: SupportTicket = {\n id: 'TIC-42',\n subject: 'Payout failed',\n body: 'Hello, our supplier payout failed twice yesterday. Can you confirm status? It is urgent.',\n channel: 'email',\n customerName: 'Ivy',\n metadata: { accountId: 'acct_789' },\n };\n\n const classification = await classifier.classify(ticket);\n const resolution = await resolver.resolve(ticket);\n const draft = await responder.draft(ticket, resolution, classification);\n\n logger.info('Support bot run completed', {\n ticketId: ticket.id,\n classification,\n resolution,\n emailDraft: { subject: draft.subject, body: draft.body },\n });\n}\n"],"mappings":";;;;;;AAQA,MAAM,SAAS,IAAI,OAAO;CACxB,OAAO,QAAQ,IAAI,aAAa,eAAe,SAAS,OAAO,SAAS;CACxE,aACG,QAAQ,IAAI,YAA4C;CAC3D,cAAc,QAAQ,IAAI,aAAa;CACxC,CAAC;AAEF,eAAsB,yBAAwC;CAU5D,MAAM,WAAW,IAAI,eAAe,EAAE,WATpB,EAChB,MAAM,MAAM,UAA4C;AACtD,SAAO;GACL,QAAQ,6CAA6C,SAAS,MAAM,GAAG,GAAG,CAAC;GAC3E,YAAY,EAAE;GACf;IAEJ,EAEgD,CAAC;CAClD,MAAM,aAAa,IAAI,kBAAkB;CACzC,MAAM,YAAY,IAAI,eAAe;CAErC,MAAMA,SAAwB;EAC5B,IAAI;EACJ,SAAS;EACT,MAAM;EACN,SAAS;EACT,cAAc;EACd,UAAU,EAAE,WAAW,YAAY;EACpC;CAED,MAAM,iBAAiB,MAAM,WAAW,SAAS,OAAO;CACxD,MAAM,aAAa,MAAM,SAAS,QAAQ,OAAO;CACjD,MAAM,QAAQ,MAAM,UAAU,MAAM,QAAQ,YAAY,eAAe;AAEvE,QAAO,KAAK,6BAA6B;EACvC,UAAU,OAAO;EACjB;EACA;EACA,YAAY;GAAE,SAAS,MAAM;GAAS,MAAM,MAAM;GAAM;EACzD,CAAC"}
1
+ {"version":3,"file":"setup.js","names":[],"sources":["../src/setup.ts"],"sourcesContent":["import { TicketResolver } from '@contractspec/lib.support-bot/rag';\nimport { TicketClassifier } from '@contractspec/lib.support-bot/tickets';\nimport { AutoResponder } from '@contractspec/lib.support-bot/bot';\nimport type { KnowledgeAnswer } from '@contractspec/lib.knowledge/query/service';\nimport type { SupportTicket } from '@contractspec/lib.support-bot/types';\nimport { Logger, LogLevel } from '@contractspec/lib.logger';\nimport type { LoggerConfig } from '@contractspec/lib.logger/types';\n\nconst logger = new Logger({\n level: process.env.NODE_ENV === 'production' ? LogLevel.INFO : LogLevel.DEBUG,\n environment:\n (process.env.NODE_ENV as LoggerConfig['environment']) || 'development',\n enableColors: process.env.NODE_ENV !== 'production',\n});\n\nexport async function runAiSupportBotExample(): Promise<void> {\n const knowledge = {\n async query(question: string): Promise<KnowledgeAnswer> {\n return {\n answer: `The payout will retrigger automatically. (${question.slice(0, 40)}…)`,\n references: [],\n };\n },\n };\n\n const resolver = new TicketResolver({ knowledge });\n const classifier = new TicketClassifier();\n const responder = new AutoResponder();\n\n const ticket: SupportTicket = {\n id: 'TIC-42',\n subject: 'Payout failed',\n body: 'Hello, our supplier payout failed twice yesterday. Can you confirm status? It is urgent.',\n channel: 'email',\n customerName: 'Ivy',\n metadata: { accountId: 'acct_789' },\n };\n\n const classification = await classifier.classify(ticket);\n const resolution = await resolver.resolve(ticket);\n const draft = await responder.draft(ticket, resolution, classification);\n\n logger.info('Support bot run completed', {\n ticketId: ticket.id,\n classification,\n resolution,\n emailDraft: { subject: draft.subject, body: draft.body },\n });\n}\n"],"mappings":";;;;;;AAQA,MAAM,SAAS,IAAI,OAAO;CACxB,OAAO,QAAQ,IAAI,aAAa,eAAe,SAAS,OAAO,SAAS;CACxE,aACG,QAAQ,IAAI,YAA4C;CAC3D,cAAc,QAAQ,IAAI,aAAa;CACxC,CAAC;AAEF,eAAsB,yBAAwC;CAU5D,MAAM,WAAW,IAAI,eAAe,EAAE,WATpB,EAChB,MAAM,MAAM,UAA4C;AACtD,SAAO;GACL,QAAQ,6CAA6C,SAAS,MAAM,GAAG,GAAG,CAAC;GAC3E,YAAY,EAAE;GACf;IAEJ,EAEgD,CAAC;CAClD,MAAM,aAAa,IAAI,kBAAkB;CACzC,MAAM,YAAY,IAAI,eAAe;CAErC,MAAM,SAAwB;EAC5B,IAAI;EACJ,SAAS;EACT,MAAM;EACN,SAAS;EACT,cAAc;EACd,UAAU,EAAE,WAAW,YAAY;EACpC;CAED,MAAM,iBAAiB,MAAM,WAAW,SAAS,OAAO;CACxD,MAAM,aAAa,MAAM,SAAS,QAAQ,OAAO;CACjD,MAAM,QAAQ,MAAM,UAAU,MAAM,QAAQ,YAAY,eAAe;AAEvE,QAAO,KAAK,6BAA6B;EACvC,UAAU,OAAO;EACjB;EACA;EACA,YAAY;GAAE,SAAS,MAAM;GAAS,MAAM,MAAM;GAAM;EACzD,CAAC"}
package/package.json CHANGED
@@ -1,9 +1,8 @@
1
1
  {
2
2
  "name": "@contractspec/example.ai-support-bot",
3
- "version": "1.46.1",
3
+ "version": "1.47.0",
4
4
  "description": "AI support bot example: classify and resolve a support ticket using @contractspec/lib.support-bot.",
5
5
  "type": "module",
6
- "main": "./dist/index.js",
7
6
  "types": "./dist/index.d.ts",
8
7
  "exports": {
9
8
  ".": "./dist/index.js",
@@ -27,15 +26,15 @@
27
26
  "test": "bun test"
28
27
  },
29
28
  "dependencies": {
30
- "@contractspec/lib.support-bot": "1.46.1",
31
- "@contractspec/lib.knowledge": "1.46.1",
32
- "@contractspec/lib.contracts": "1.46.1",
33
- "@contractspec/lib.logger": "1.46.1"
29
+ "@contractspec/lib.support-bot": "1.47.0",
30
+ "@contractspec/lib.knowledge": "1.47.0",
31
+ "@contractspec/lib.contracts": "1.47.0",
32
+ "@contractspec/lib.logger": "1.47.0"
34
33
  },
35
34
  "devDependencies": {
36
- "@contractspec/tool.tsdown": "1.46.1",
37
- "@contractspec/tool.typescript": "1.46.1",
38
- "tsdown": "^0.18.3",
35
+ "@contractspec/tool.tsdown": "1.47.0",
36
+ "@contractspec/tool.typescript": "1.47.0",
37
+ "tsdown": "^0.19.0",
39
38
  "typescript": "^5.9.3"
40
39
  },
41
40
  "publishConfig": {
@@ -50,7 +49,6 @@
50
49
  },
51
50
  "registry": "https://registry.npmjs.org/"
52
51
  },
53
- "module": "./dist/index.js",
54
52
  "license": "MIT",
55
53
  "repository": {
56
54
  "type": "git",
package/src/example.ts CHANGED
@@ -1,6 +1,6 @@
1
- import type { ExampleSpec } from '@contractspec/lib.contracts';
1
+ import { defineExample } from '@contractspec/lib.contracts';
2
2
 
3
- const example: ExampleSpec = {
3
+ const example = defineExample({
4
4
  meta: {
5
5
  key: 'ai-support-bot',
6
6
  version: '1.0.0',
@@ -27,6 +27,6 @@ const example: ExampleSpec = {
27
27
  studio: { enabled: true, installable: true },
28
28
  mcp: { enabled: true },
29
29
  },
30
- };
30
+ });
31
31
 
32
32
  export default example;