@contractspec/bundle.library 3.8.2 → 3.8.4

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 (36) hide show
  1. package/.turbo/turbo-build.log +6 -6
  2. package/CHANGELOG.md +74 -0
  3. package/dist/components/docs/generated/docs-index.generated.d.ts +6 -6
  4. package/dist/components/docs/index.js +23 -24
  5. package/dist/components/docs/libraries/LibrariesAiAgentPage.js +22 -22
  6. package/dist/components/docs/libraries/LibrariesSupportBotPage.js +1 -2
  7. package/dist/components/docs/libraries/index.js +23 -24
  8. package/dist/components/templates/engine/index.d.ts +1 -1
  9. package/dist/components/templates/engine/index.js +1 -1
  10. package/dist/index.js +23 -24
  11. package/dist/node/components/docs/index.js +23 -24
  12. package/dist/node/components/docs/libraries/LibrariesAiAgentPage.js +22 -22
  13. package/dist/node/components/docs/libraries/LibrariesSupportBotPage.js +1 -2
  14. package/dist/node/components/docs/libraries/index.js +23 -24
  15. package/dist/node/components/templates/engine/index.js +1 -1
  16. package/dist/node/index.js +23 -24
  17. package/package.json +24 -23
  18. package/src/components/docs/generated/docs-index._common.json +1 -1
  19. package/src/components/docs/generated/docs-index.ai-chat-assistant.json +8 -0
  20. package/src/components/docs/generated/docs-index.artisan-knowledge-product.json +18 -0
  21. package/src/components/docs/generated/docs-index.artisan-payments-stripe.json +34 -0
  22. package/src/components/docs/generated/docs-index.data-grid-showcase.json +18 -0
  23. package/src/components/docs/generated/docs-index.generated.ts +6 -6
  24. package/src/components/docs/generated/docs-index.harness-lab.json +10 -0
  25. package/src/components/docs/generated/docs-index.locale-jurisdiction-gate.json +8 -0
  26. package/src/components/docs/generated/docs-index.manifest.json +50 -5
  27. package/src/components/docs/generated/docs-index.messaging-agent-actions.json +18 -0
  28. package/src/components/docs/generated/docs-index.mobile-demo-tasks.json +34 -0
  29. package/src/components/docs/generated/docs-index.opencode-cli.json +2 -2
  30. package/src/components/docs/generated/docs-index.platform-control-plane.json +250 -0
  31. package/src/components/docs/generated/docs-index.platform-harness.json +178 -0
  32. package/src/components/docs/generated/docs-index.platform-integrations.json +22 -14
  33. package/src/components/docs/generated/docs-index.visualization-showcase.json +18 -0
  34. package/src/components/docs/libraries/LibrariesAiAgentPage.tsx +20 -17
  35. package/src/components/docs/libraries/LibrariesSupportBotPage.tsx +1 -2
  36. package/src/components/templates/engine/index.ts +2 -2
@@ -41,10 +41,17 @@ function LibrariesAiAgentPage() {
41
41
  }),
42
42
  /* @__PURE__ */ jsx(CodeBlock, {
43
43
  language: "typescript",
44
- code: `import { defineAgent, AgentRegistry } from '@contractspec/lib.ai-agent';
44
+ code: `import { defineAgent, AgentRegistry } from '@contractspec/lib.contracts-spec/agent';
45
45
 
46
46
  const SupportBot = defineAgent({
47
- meta: { name: 'support.bot', version: '1.0.0' },
47
+ meta: {
48
+ key: 'support.bot',
49
+ version: '1.0.0',
50
+ description: 'Resolve tickets and escalate low-confidence decisions.',
51
+ owners: ['support'],
52
+ tags: ['support'],
53
+ stability: 'experimental',
54
+ },
48
55
  instructions: 'Resolve tickets. Escalate when confidence < 0.75.',
49
56
  tools: [{ name: 'support_resolve_ticket' }],
50
57
  policy: {
@@ -66,19 +73,17 @@ const registry = new AgentRegistry().register(SupportBot);`
66
73
  }),
67
74
  /* @__PURE__ */ jsx(CodeBlock, {
68
75
  language: "typescript",
69
- code: `import { AgentRunner, ToolExecutor, ApprovalWorkflow } from '@contractspec/lib.ai-agent';
76
+ code: `import { createUnifiedAgent, ApprovalWorkflow } from '@contractspec/lib.ai-agent';
70
77
 
71
- const runner = new AgentRunner({
72
- registry,
73
- llm: mistralProvider,
74
- toolExecutor: new ToolExecutor({ tools: supportTools }),
75
- approvalWorkflow: new ApprovalWorkflow(),
78
+ const approvals = new ApprovalWorkflow();
79
+ const agent = createUnifiedAgent(SupportBot, {
80
+ backend: 'ai-sdk',
81
+ tools: new Map([['support_resolve_ticket', async (input) => resolveTicket(input)]]),
76
82
  });
77
83
 
78
- const result = await runner.run({ agent: 'support.bot', input: ticket.body });
79
- if (result.approvalRequestId) {
80
- // show in ApprovalQueue UI
81
- }`
84
+ const result = await agent.run(ticket.body);
85
+ // Route low-confidence or manual-review flows through approvals when needed.
86
+ `
82
87
  })
83
88
  ]
84
89
  }),
@@ -95,26 +100,21 @@ if (result.approvalRequestId) {
95
100
  /* @__PURE__ */ jsxs("li", {
96
101
  children: [
97
102
  /* @__PURE__ */ jsx("code", {
98
- children: "defineAgent"
103
+ children: "createUnifiedAgent"
99
104
  }),
100
105
  ", ",
101
106
  /* @__PURE__ */ jsx("code", {
102
- children: "AgentRegistry"
107
+ children: "ContractSpecAgent"
103
108
  }),
104
109
  ",",
105
110
  " ",
106
111
  /* @__PURE__ */ jsx("code", {
107
- children: "AgentRunner"
112
+ children: "UnifiedAgent"
108
113
  })
109
114
  ]
110
115
  }),
111
- /* @__PURE__ */ jsxs("li", {
112
- children: [
113
- /* @__PURE__ */ jsx("code", {
114
- children: "ToolExecutor"
115
- }),
116
- " with schema-enforced tool definitions"
117
- ]
116
+ /* @__PURE__ */ jsx("li", {
117
+ children: "MCP, operation-backed, memory, and subagent tool adapters"
118
118
  }),
119
119
  /* @__PURE__ */ jsxs("li", {
120
120
  children: [
@@ -63,10 +63,9 @@ const draft = await responder.draft(ticket, resolution, classification);`
63
63
  /* @__PURE__ */ jsx(CodeBlock, {
64
64
  language: "typescript",
65
65
  code: `import { createSupportTools } from '@contractspec/lib.support-bot/bot';
66
- import { ToolExecutor } from '@contractspec/lib.ai-agent';
67
66
 
68
67
  const tools = createSupportTools({ resolver, classifier, responder });
69
- const executor = new ToolExecutor({ tools });`
68
+ // Pass these tools into your host runtime or agent adapter.`
70
69
  })
71
70
  ]
72
71
  }),
@@ -266,10 +266,17 @@ function LibrariesAiAgentPage() {
266
266
  }),
267
267
  /* @__PURE__ */ jsx2(CodeBlock2, {
268
268
  language: "typescript",
269
- code: `import { defineAgent, AgentRegistry } from '@contractspec/lib.ai-agent';
269
+ code: `import { defineAgent, AgentRegistry } from '@contractspec/lib.contracts-spec/agent';
270
270
 
271
271
  const SupportBot = defineAgent({
272
- meta: { name: 'support.bot', version: '1.0.0' },
272
+ meta: {
273
+ key: 'support.bot',
274
+ version: '1.0.0',
275
+ description: 'Resolve tickets and escalate low-confidence decisions.',
276
+ owners: ['support'],
277
+ tags: ['support'],
278
+ stability: 'experimental',
279
+ },
273
280
  instructions: 'Resolve tickets. Escalate when confidence < 0.75.',
274
281
  tools: [{ name: 'support_resolve_ticket' }],
275
282
  policy: {
@@ -291,19 +298,17 @@ const registry = new AgentRegistry().register(SupportBot);`
291
298
  }),
292
299
  /* @__PURE__ */ jsx2(CodeBlock2, {
293
300
  language: "typescript",
294
- code: `import { AgentRunner, ToolExecutor, ApprovalWorkflow } from '@contractspec/lib.ai-agent';
301
+ code: `import { createUnifiedAgent, ApprovalWorkflow } from '@contractspec/lib.ai-agent';
295
302
 
296
- const runner = new AgentRunner({
297
- registry,
298
- llm: mistralProvider,
299
- toolExecutor: new ToolExecutor({ tools: supportTools }),
300
- approvalWorkflow: new ApprovalWorkflow(),
303
+ const approvals = new ApprovalWorkflow();
304
+ const agent = createUnifiedAgent(SupportBot, {
305
+ backend: 'ai-sdk',
306
+ tools: new Map([['support_resolve_ticket', async (input) => resolveTicket(input)]]),
301
307
  });
302
308
 
303
- const result = await runner.run({ agent: 'support.bot', input: ticket.body });
304
- if (result.approvalRequestId) {
305
- // show in ApprovalQueue UI
306
- }`
309
+ const result = await agent.run(ticket.body);
310
+ // Route low-confidence or manual-review flows through approvals when needed.
311
+ `
307
312
  })
308
313
  ]
309
314
  }),
@@ -320,26 +325,21 @@ if (result.approvalRequestId) {
320
325
  /* @__PURE__ */ jsxs2("li", {
321
326
  children: [
322
327
  /* @__PURE__ */ jsx2("code", {
323
- children: "defineAgent"
328
+ children: "createUnifiedAgent"
324
329
  }),
325
330
  ", ",
326
331
  /* @__PURE__ */ jsx2("code", {
327
- children: "AgentRegistry"
332
+ children: "ContractSpecAgent"
328
333
  }),
329
334
  ",",
330
335
  " ",
331
336
  /* @__PURE__ */ jsx2("code", {
332
- children: "AgentRunner"
337
+ children: "UnifiedAgent"
333
338
  })
334
339
  ]
335
340
  }),
336
- /* @__PURE__ */ jsxs2("li", {
337
- children: [
338
- /* @__PURE__ */ jsx2("code", {
339
- children: "ToolExecutor"
340
- }),
341
- " with schema-enforced tool definitions"
342
- ]
341
+ /* @__PURE__ */ jsx2("li", {
342
+ children: "MCP, operation-backed, memory, and subagent tool adapters"
343
343
  }),
344
344
  /* @__PURE__ */ jsxs2("li", {
345
345
  children: [
@@ -3881,10 +3881,9 @@ const draft = await responder.draft(ticket, resolution, classification);`
3881
3881
  /* @__PURE__ */ jsx23(CodeBlock22, {
3882
3882
  language: "typescript",
3883
3883
  code: `import { createSupportTools } from '@contractspec/lib.support-bot/bot';
3884
- import { ToolExecutor } from '@contractspec/lib.ai-agent';
3885
3884
 
3886
3885
  const tools = createSupportTools({ resolver, classifier, responder });
3887
- const executor = new ToolExecutor({ tools });`
3886
+ // Pass these tools into your host runtime or agent adapter.`
3888
3887
  })
3889
3888
  ]
3890
3889
  }),
@@ -3,7 +3,7 @@ import {
3
3
  createDefaultTransformEngine,
4
4
  registerBasicValidation,
5
5
  registerDefaultReactRenderer
6
- } from "@contractspec/lib.contracts-spec/presentations/transform-engine";
6
+ } from "@contractspec/lib.contracts-runtime-client-react/transform-engine";
7
7
  function createTemplateTransformEngine() {
8
8
  const engine = createDefaultTransformEngine();
9
9
  registerDefaultReactRenderer(engine);
@@ -19328,10 +19328,17 @@ function LibrariesAiAgentPage() {
19328
19328
  }),
19329
19329
  /* @__PURE__ */ jsx76(CodeBlock35, {
19330
19330
  language: "typescript",
19331
- code: `import { defineAgent, AgentRegistry } from '@contractspec/lib.ai-agent';
19331
+ code: `import { defineAgent, AgentRegistry } from '@contractspec/lib.contracts-spec/agent';
19332
19332
 
19333
19333
  const SupportBot = defineAgent({
19334
- meta: { name: 'support.bot', version: '1.0.0' },
19334
+ meta: {
19335
+ key: 'support.bot',
19336
+ version: '1.0.0',
19337
+ description: 'Resolve tickets and escalate low-confidence decisions.',
19338
+ owners: ['support'],
19339
+ tags: ['support'],
19340
+ stability: 'experimental',
19341
+ },
19335
19342
  instructions: 'Resolve tickets. Escalate when confidence < 0.75.',
19336
19343
  tools: [{ name: 'support_resolve_ticket' }],
19337
19344
  policy: {
@@ -19353,19 +19360,17 @@ const registry = new AgentRegistry().register(SupportBot);`
19353
19360
  }),
19354
19361
  /* @__PURE__ */ jsx76(CodeBlock35, {
19355
19362
  language: "typescript",
19356
- code: `import { AgentRunner, ToolExecutor, ApprovalWorkflow } from '@contractspec/lib.ai-agent';
19363
+ code: `import { createUnifiedAgent, ApprovalWorkflow } from '@contractspec/lib.ai-agent';
19357
19364
 
19358
- const runner = new AgentRunner({
19359
- registry,
19360
- llm: mistralProvider,
19361
- toolExecutor: new ToolExecutor({ tools: supportTools }),
19362
- approvalWorkflow: new ApprovalWorkflow(),
19365
+ const approvals = new ApprovalWorkflow();
19366
+ const agent = createUnifiedAgent(SupportBot, {
19367
+ backend: 'ai-sdk',
19368
+ tools: new Map([['support_resolve_ticket', async (input) => resolveTicket(input)]]),
19363
19369
  });
19364
19370
 
19365
- const result = await runner.run({ agent: 'support.bot', input: ticket.body });
19366
- if (result.approvalRequestId) {
19367
- // show in ApprovalQueue UI
19368
- }`
19371
+ const result = await agent.run(ticket.body);
19372
+ // Route low-confidence or manual-review flows through approvals when needed.
19373
+ `
19369
19374
  })
19370
19375
  ]
19371
19376
  }),
@@ -19382,26 +19387,21 @@ if (result.approvalRequestId) {
19382
19387
  /* @__PURE__ */ jsxs76("li", {
19383
19388
  children: [
19384
19389
  /* @__PURE__ */ jsx76("code", {
19385
- children: "defineAgent"
19390
+ children: "createUnifiedAgent"
19386
19391
  }),
19387
19392
  ", ",
19388
19393
  /* @__PURE__ */ jsx76("code", {
19389
- children: "AgentRegistry"
19394
+ children: "ContractSpecAgent"
19390
19395
  }),
19391
19396
  ",",
19392
19397
  " ",
19393
19398
  /* @__PURE__ */ jsx76("code", {
19394
- children: "AgentRunner"
19399
+ children: "UnifiedAgent"
19395
19400
  })
19396
19401
  ]
19397
19402
  }),
19398
- /* @__PURE__ */ jsxs76("li", {
19399
- children: [
19400
- /* @__PURE__ */ jsx76("code", {
19401
- children: "ToolExecutor"
19402
- }),
19403
- " with schema-enforced tool definitions"
19404
- ]
19403
+ /* @__PURE__ */ jsx76("li", {
19404
+ children: "MCP, operation-backed, memory, and subagent tool adapters"
19405
19405
  }),
19406
19406
  /* @__PURE__ */ jsxs76("li", {
19407
19407
  children: [
@@ -22943,10 +22943,9 @@ const draft = await responder.draft(ticket, resolution, classification);`
22943
22943
  /* @__PURE__ */ jsx97(CodeBlock55, {
22944
22944
  language: "typescript",
22945
22945
  code: `import { createSupportTools } from '@contractspec/lib.support-bot/bot';
22946
- import { ToolExecutor } from '@contractspec/lib.ai-agent';
22947
22946
 
22948
22947
  const tools = createSupportTools({ resolver, classifier, responder });
22949
- const executor = new ToolExecutor({ tools });`
22948
+ // Pass these tools into your host runtime or agent adapter.`
22950
22949
  })
22951
22950
  ]
22952
22951
  }),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contractspec/bundle.library",
3
- "version": "3.8.2",
3
+ "version": "3.8.4",
4
4
  "type": "module",
5
5
  "scripts": {
6
6
  "clean": "rm -rf dist",
@@ -1826,23 +1826,23 @@
1826
1826
  "dependencies": {
1827
1827
  "@apollo/client": "^4.1.6",
1828
1828
  "@modelcontextprotocol/sdk": "^1.27.1",
1829
- "@contractspec/lib.ai-providers": "3.7.8",
1830
- "@contractspec/lib.contracts-spec": "4.1.2",
1831
- "@contractspec/lib.contracts-library": "3.7.10",
1832
- "@contractspec/lib.content-gen": "3.7.10",
1833
- "@contractspec/lib.contracts-runtime-server-mcp": "3.7.10",
1834
- "@contractspec/lib.design-system": "3.8.3",
1835
- "@contractspec/lib.surface-runtime": "0.5.10",
1836
- "@contractspec/lib.provider-ranking": "0.7.8",
1837
- "@contractspec/lib.example-shared-ui": "6.0.10",
1838
- "@contractspec/lib.knowledge": "3.7.10",
1839
- "@contractspec/lib.logger": "3.7.8",
1840
- "@contractspec/lib.runtime-sandbox": "2.7.9",
1841
- "@contractspec/lib.schema": "3.7.8",
1842
- "@contractspec/lib.ui-kit-web": "3.9.2",
1843
- "@contractspec/lib.ui-link": "3.7.8",
1844
- "@contractspec/module.context-storage": "0.7.10",
1845
- "@contractspec/module.examples": "3.8.2",
1829
+ "@contractspec/lib.ai-providers": "3.7.9",
1830
+ "@contractspec/lib.contracts-spec": "5.0.0",
1831
+ "@contractspec/lib.contracts-library": "3.7.12",
1832
+ "@contractspec/lib.content-gen": "3.7.12",
1833
+ "@contractspec/lib.contracts-runtime-server-mcp": "3.7.12",
1834
+ "@contractspec/lib.design-system": "3.8.5",
1835
+ "@contractspec/lib.surface-runtime": "0.5.12",
1836
+ "@contractspec/lib.provider-ranking": "0.7.9",
1837
+ "@contractspec/lib.example-shared-ui": "6.0.12",
1838
+ "@contractspec/lib.knowledge": "3.7.12",
1839
+ "@contractspec/lib.logger": "3.7.9",
1840
+ "@contractspec/lib.runtime-sandbox": "2.7.10",
1841
+ "@contractspec/lib.schema": "3.7.10",
1842
+ "@contractspec/lib.ui-kit-web": "3.9.4",
1843
+ "@contractspec/lib.ui-link": "3.7.9",
1844
+ "@contractspec/module.context-storage": "0.7.12",
1845
+ "@contractspec/module.examples": "3.8.4",
1846
1846
  "@dnd-kit/core": "^6.1.0",
1847
1847
  "@dnd-kit/sortable": "^10.0.0",
1848
1848
  "@dnd-kit/utilities": "^3.2.2",
@@ -1858,16 +1858,17 @@
1858
1858
  "posthog-react-native": "^4.37.4",
1859
1859
  "react-hook-form": "^7.71.2",
1860
1860
  "zod": "^4.3.5",
1861
- "@contractspec/lib.contracts-integrations": "3.8.2",
1862
- "@contractspec/lib.contracts-runtime-server-rest": "3.7.10",
1863
- "@contractspec/lib.contracts-runtime-server-graphql": "3.7.10"
1861
+ "@contractspec/lib.contracts-integrations": "3.8.4",
1862
+ "@contractspec/lib.contracts-runtime-server-rest": "3.7.12",
1863
+ "@contractspec/lib.contracts-runtime-server-graphql": "3.7.12",
1864
+ "@contractspec/lib.contracts-runtime-client-react": "3.8.0"
1864
1865
  },
1865
1866
  "devDependencies": {
1866
1867
  "@types/react": "~19.2.14",
1867
- "@contractspec/tool.typescript": "3.7.8",
1868
+ "@contractspec/tool.typescript": "3.7.9",
1868
1869
  "typescript": "^5.9.3",
1869
1870
  "@types/bun": "~1.3.11",
1870
- "@contractspec/tool.bun": "3.7.8"
1871
+ "@contractspec/tool.bun": "3.7.9"
1871
1872
  },
1872
1873
  "repository": {
1873
1874
  "type": "git",
@@ -1399,7 +1399,7 @@
1399
1399
  {
1400
1400
  "id": "docs.tech.presentation-runtime",
1401
1401
  "title": "Presentation Runtime",
1402
- "summary": "Cross-platform runtime for list pages and presentation flows.",
1402
+ "summary": "Cross-platform runtime for list pages, presentation flows, and headless ContractSpec tables.",
1403
1403
  "route": "/docs/tech/presentation-runtime",
1404
1404
  "source": "docblock",
1405
1405
  "contentPath": "docblocks/docs/tech/presentation-runtime.md",
@@ -1,4 +1,12 @@
1
1
  [
2
+ {
3
+ "id": "ai-chat-assistant/ai-chat-assistant",
4
+ "title": "ai-chat-assistant",
5
+ "summary": "Focused assistant example with chat UX and search-backed retrieval.\n- **Type**: feature\n- **Version**: 1.0.0\n- **Stability**: beta\n- **Owners**: @platform.core\n- **Tags**: ai, chat, assistant, example\n- **File**: `packages/examples/ai-chat-assistant/src/ai-chat-assistant.feature.ts`",
6
+ "route": "/docs/reference/ai-chat-assistant/ai-chat-assistant",
7
+ "source": "generated",
8
+ "contentPath": "ai-chat-assistant/ai-chat-assistant.md"
9
+ },
2
10
  {
3
11
  "id": "ai-chat-assistant/assistant.search",
4
12
  "title": "assistant.search",
@@ -0,0 +1,18 @@
1
+ [
2
+ {
3
+ "id": "artisan.knowledge.product/artisan.knowledge.product",
4
+ "title": "artisan.knowledge.product",
5
+ "summary": "Blueprint that surfaces canonical product knowledge to agents and workflows.\n- **Type**: app-config (app-config)\n- **Version**: 1.0.0\n- **Tags**: knowledge, product-canon\n- **File**: `packages/examples/knowledge-canon/src/blueprint.ts`",
6
+ "route": "/docs/reference/artisan.knowledge.product/artisan.knowledge.product",
7
+ "source": "generated",
8
+ "contentPath": "artisan.knowledge.product/artisan.knowledge.product.md"
9
+ },
10
+ {
11
+ "id": "artisan.knowledge.product/knowledge-canon",
12
+ "title": "knowledge-canon",
13
+ "summary": "Curated product knowledge space with blueprint, tenant config, and FAQ workflow\n- **Type**: feature\n- **Version**: 1.0.0\n- **Stability**: experimental\n- **Owners**: @examples\n- **Tags**: knowledge, canon, faq",
14
+ "route": "/docs/reference/artisan.knowledge.product/knowledge-canon",
15
+ "source": "generated",
16
+ "contentPath": "artisan.knowledge.product/knowledge-canon.md"
17
+ }
18
+ ]
@@ -0,0 +1,34 @@
1
+ [
2
+ {
3
+ "id": "artisan.payments.stripe/artisan.payments.stripe",
4
+ "title": "artisan.payments.stripe",
5
+ "summary": "Blueprint enabling card payments for ArtisanOS merchants via the Stripe integration.\n- **Type**: app-config (app-config)\n- **Version**: 1.0.0\n- **Tags**: stripe, payments\n- **File**: `packages/examples/integration-stripe/src/blueprint.ts`",
6
+ "route": "/docs/reference/artisan.payments.stripe/artisan.payments.stripe",
7
+ "source": "generated",
8
+ "contentPath": "artisan.payments.stripe/artisan.payments.stripe.md"
9
+ },
10
+ {
11
+ "id": "artisan.payments.stripe/integration-stripe",
12
+ "title": "integration-stripe",
13
+ "summary": "Stripe payments integration with blueprint, workflow, and tenant configuration\n- **Type**: feature\n- **Version**: 1.0.0\n- **Stability**: experimental\n- **Owners**: @integration-team\n- **Tags**: integration, stripe, payments",
14
+ "route": "/docs/reference/artisan.payments.stripe/integration-stripe",
15
+ "source": "generated",
16
+ "contentPath": "artisan.payments.stripe/integration-stripe.md"
17
+ },
18
+ {
19
+ "id": "artisan.payments.stripe/integration-stripe.integration.psp",
20
+ "title": "integration-stripe.integration.psp",
21
+ "summary": "Integration contract for managed or BYOK Stripe card processing.\n- **Type**: integration (integration)\n- **Version**: 1.0.0\n- **Tags**: stripe, payments\n- **File**: `packages/examples/integration-stripe/src/integration.ts`",
22
+ "route": "/docs/reference/artisan.payments.stripe/integration-stripe.integration.psp",
23
+ "source": "generated",
24
+ "contentPath": "artisan.payments.stripe/integration-stripe.integration.psp.md"
25
+ },
26
+ {
27
+ "id": "artisan.payments.stripe/integration-stripe.workflow.payment",
28
+ "title": "integration-stripe.workflow.payment",
29
+ "summary": "Charge a customer using the tenant Stripe connection and record settlement details.\n- **Type**: workflow (workflow)\n- **Version**: 1.0.0\n- **Tags**: stripe\n- **File**: `packages/examples/integration-stripe/src/workflow.ts`",
30
+ "route": "/docs/reference/artisan.payments.stripe/integration-stripe.workflow.payment",
31
+ "source": "generated",
32
+ "contentPath": "artisan.payments.stripe/integration-stripe.workflow.payment.md"
33
+ }
34
+ ]
@@ -0,0 +1,18 @@
1
+ [
2
+ {
3
+ "id": "data-grid-showcase/data-grid-showcase",
4
+ "title": "data-grid-showcase",
5
+ "summary": "Focused ContractSpec table example covering client mode, server mode, and DataView adapter paths.\n- **Type**: feature\n- **Version**: 1.0.0\n- **Stability**: experimental\n- **Owners**: @platform.core\n- **Tags**: table, data-grid, ui, tanstack",
6
+ "route": "/docs/reference/data-grid-showcase/data-grid-showcase",
7
+ "source": "generated",
8
+ "contentPath": "data-grid-showcase/data-grid-showcase.md"
9
+ },
10
+ {
11
+ "id": "data-grid-showcase/examples.data-grid-showcase.rows.list",
12
+ "title": "examples.data-grid-showcase.rows.list",
13
+ "summary": "Lists the demo rows used by the data-grid showcase.\n- **Type**: operation (query)\n- **Version**: 1.0.0\n- **Stability**: experimental\n- **Owners**: @platform.core\n- **Tags**: examples, table, data-grid\n- **File**: `packages/examples/data-grid-showcase/src/contracts/data-grid-showcase.operation.ts`",
14
+ "route": "/docs/reference/data-grid-showcase/examples.data-grid-showcase.rows.list",
15
+ "source": "generated",
16
+ "contentPath": "data-grid-showcase/examples.data-grid-showcase.rows.list.md"
17
+ }
18
+ ]
@@ -1,6 +1,6 @@
1
1
  export type DocsIndexSource = 'generated' | 'docblock';
2
2
 
3
- export interface DocsIndexEntry {
3
+ export type DocsIndexEntry = {
4
4
  id: string;
5
5
  title: string;
6
6
  summary?: string;
@@ -12,20 +12,20 @@ export interface DocsIndexEntry {
12
12
  visibility?: string;
13
13
  version?: string;
14
14
  owners?: string[];
15
- }
15
+ };
16
16
 
17
- export interface DocsIndexChunk {
17
+ export type DocsIndexChunk = {
18
18
  key: string;
19
19
  file: string;
20
20
  total: number;
21
- }
21
+ };
22
22
 
23
- export interface DocsIndexManifest {
23
+ export type DocsIndexManifest = {
24
24
  generatedAt: string;
25
25
  total: number;
26
26
  version: string | null;
27
27
  contentRoot: string | null;
28
28
  chunks: DocsIndexChunk[];
29
- }
29
+ };
30
30
 
31
31
  export const DOCS_INDEX_MANIFEST = 'docs-index.manifest.json';
@@ -0,0 +1,10 @@
1
+ [
2
+ {
3
+ "id": "harness-lab/harness-lab",
4
+ "title": "harness-lab",
5
+ "summary": "Focused harness example for deterministic sandbox and browser evaluation flows.\n- **Type**: feature\n- **Version**: 1.0.0\n- **Stability**: experimental\n- **Owners**: @examples\n- **Tags**: harness, runtime, evaluation",
6
+ "route": "/docs/reference/harness-lab/harness-lab",
7
+ "source": "generated",
8
+ "contentPath": "harness-lab/harness-lab.md"
9
+ }
10
+ ]
@@ -46,5 +46,13 @@
46
46
  "route": "/docs/reference/locale-jurisdiction-gate/locale-jurisdiction-gate",
47
47
  "source": "generated",
48
48
  "contentPath": "locale-jurisdiction-gate/locale-jurisdiction-gate.md"
49
+ },
50
+ {
51
+ "id": "locale-jurisdiction-gate/locale-jurisdiction-gate.policy.gate",
52
+ "title": "locale-jurisdiction-gate.policy.gate",
53
+ "summary": "Requires explicit locale, jurisdiction, knowledge snapshot, and allowed scope before assistant requests may proceed.\n- **Type**: policy (policy)\n- **Version**: 1.0.0\n- **Tags**: assistant, policy, jurisdiction",
54
+ "route": "/docs/reference/locale-jurisdiction-gate/locale-jurisdiction-gate.policy.gate",
55
+ "source": "generated",
56
+ "contentPath": "locale-jurisdiction-gate/locale-jurisdiction-gate.policy.gate.md"
49
57
  }
50
58
  ]
@@ -1,6 +1,6 @@
1
1
  {
2
- "generatedAt": "2026-03-10T10:12:08.433Z",
3
- "total": 995,
2
+ "generatedAt": "2026-03-21T22:41:08.515Z",
3
+ "total": 1068,
4
4
  "version": null,
5
5
  "contentRoot": "../../../../../../../generated/docs",
6
6
  "chunks": [
@@ -22,7 +22,7 @@
22
22
  {
23
23
  "key": "ai-chat-assistant",
24
24
  "file": "docs-index.ai-chat-assistant.json",
25
- "total": 1
25
+ "total": 2
26
26
  },
27
27
  {
28
28
  "key": "ai-support-bot",
@@ -39,6 +39,16 @@
39
39
  "file": "docs-index.app-config.json",
40
40
  "total": 17
41
41
  },
42
+ {
43
+ "key": "artisan.knowledge.product",
44
+ "file": "docs-index.artisan-knowledge-product.json",
45
+ "total": 2
46
+ },
47
+ {
48
+ "key": "artisan.payments.stripe",
49
+ "file": "docs-index.artisan-payments-stripe.json",
50
+ "total": 4
51
+ },
42
52
  {
43
53
  "key": "audit-trail",
44
54
  "file": "docs-index.audit-trail.json",
@@ -59,6 +69,11 @@
59
69
  "file": "docs-index.crm-pipeline.json",
60
70
  "total": 20
61
71
  },
72
+ {
73
+ "key": "data-grid-showcase",
74
+ "file": "docs-index.data-grid-showcase.json",
75
+ "total": 2
76
+ },
62
77
  {
63
78
  "key": "email-gmail",
64
79
  "file": "docs-index.email-gmail.json",
@@ -74,6 +89,11 @@
74
89
  "file": "docs-index.files.json",
75
90
  "total": 22
76
91
  },
92
+ {
93
+ "key": "harness-lab",
94
+ "file": "docs-index.harness-lab.json",
95
+ "total": 1
96
+ },
77
97
  {
78
98
  "key": "health",
79
99
  "file": "docs-index.health.json",
@@ -202,7 +222,7 @@
202
222
  {
203
223
  "key": "locale-jurisdiction-gate",
204
224
  "file": "docs-index.locale-jurisdiction-gate.json",
205
- "total": 6
225
+ "total": 7
206
226
  },
207
227
  {
208
228
  "key": "marketplace",
@@ -219,6 +239,11 @@
219
239
  "file": "docs-index.meeting-recorder-providers.json",
220
240
  "total": 1
221
241
  },
242
+ {
243
+ "key": "messaging-agent-actions",
244
+ "file": "docs-index.messaging-agent-actions.json",
245
+ "total": 2
246
+ },
222
247
  {
223
248
  "key": "metrics",
224
249
  "file": "docs-index.metrics.json",
@@ -229,6 +254,11 @@
229
254
  "file": "docs-index.minimal.json",
230
255
  "total": 2
231
256
  },
257
+ {
258
+ "key": "mobile-demo.tasks",
259
+ "file": "docs-index.mobile-demo-tasks.json",
260
+ "total": 4
261
+ },
232
262
  {
233
263
  "key": "notifications",
234
264
  "file": "docs-index.notifications.json",
@@ -269,6 +299,11 @@
269
299
  "file": "docs-index.platform-context.json",
270
300
  "total": 7
271
301
  },
302
+ {
303
+ "key": "platform.control-plane",
304
+ "file": "docs-index.platform-control-plane.json",
305
+ "total": 31
306
+ },
272
307
  {
273
308
  "key": "platform.database",
274
309
  "file": "docs-index.platform-database.json",
@@ -279,10 +314,15 @@
279
314
  "file": "docs-index.platform-docs.json",
280
315
  "total": 11
281
316
  },
317
+ {
318
+ "key": "platform.harness",
319
+ "file": "docs-index.platform-harness.json",
320
+ "total": 22
321
+ },
282
322
  {
283
323
  "key": "platform.integrations",
284
324
  "file": "docs-index.platform-integrations.json",
285
- "total": 40
325
+ "total": 41
286
326
  },
287
327
  {
288
328
  "key": "platform.knowledge",
@@ -354,6 +394,11 @@
354
394
  "file": "docs-index.video-marketing-clip.json",
355
395
  "total": 1
356
396
  },
397
+ {
398
+ "key": "visualization-showcase",
399
+ "file": "docs-index.visualization-showcase.json",
400
+ "total": 2
401
+ },
357
402
  {
358
403
  "key": "voice-providers",
359
404
  "file": "docs-index.voice-providers.json",