@contractspec/bundle.library 2.9.1 → 3.0.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 (86) hide show
  1. package/.turbo/turbo-build.log +129 -115
  2. package/CHANGELOG.md +38 -0
  3. package/dist/components/docs/DocsIndexPage.js +1 -1
  4. package/dist/components/docs/architecture/ArchitectureControlPlanePage.d.ts +1 -0
  5. package/dist/components/docs/architecture/ArchitectureControlPlanePage.js +204 -0
  6. package/dist/components/docs/architecture/ArchitectureOverviewPage.js +17 -1
  7. package/dist/components/docs/architecture/index.d.ts +1 -0
  8. package/dist/components/docs/architecture/index.js +507 -289
  9. package/dist/components/docs/ecosystem/IntegrationsPage.js +6 -3
  10. package/dist/components/docs/ecosystem/PluginsPage.js +98 -98
  11. package/dist/components/docs/ecosystem/RegistryPage.js +39 -42
  12. package/dist/components/docs/ecosystem/TemplatesPage.js +26 -21
  13. package/dist/components/docs/ecosystem/ecosystem.docblocks.js +10 -10
  14. package/dist/components/docs/ecosystem/index.js +179 -174
  15. package/dist/components/docs/index.js +6795 -5376
  16. package/dist/components/docs/integrations/IntegrationsElevenLabsPage.js +2 -2
  17. package/dist/components/docs/integrations/IntegrationsGithubPage.d.ts +1 -0
  18. package/dist/components/docs/integrations/IntegrationsGithubPage.js +155 -0
  19. package/dist/components/docs/integrations/IntegrationsHealthRoutingPage.d.ts +1 -0
  20. package/dist/components/docs/integrations/IntegrationsHealthRoutingPage.js +168 -0
  21. package/dist/components/docs/integrations/IntegrationsMistralPage.d.ts +1 -0
  22. package/dist/components/docs/integrations/IntegrationsMistralPage.js +203 -0
  23. package/dist/components/docs/integrations/IntegrationsOpenAIPage.js +2 -2
  24. package/dist/components/docs/integrations/IntegrationsOverviewPage.js +136 -9
  25. package/dist/components/docs/integrations/IntegrationsSlackPage.d.ts +1 -0
  26. package/dist/components/docs/integrations/IntegrationsSlackPage.js +161 -0
  27. package/dist/components/docs/integrations/IntegrationsSpecModelPage.js +72 -0
  28. package/dist/components/docs/integrations/IntegrationsTwilioPage.js +2 -2
  29. package/dist/components/docs/integrations/IntegrationsWhatsappMetaPage.d.ts +1 -0
  30. package/dist/components/docs/integrations/IntegrationsWhatsappMetaPage.js +157 -0
  31. package/dist/components/docs/integrations/IntegrationsWhatsappTwilioPage.d.ts +1 -0
  32. package/dist/components/docs/integrations/IntegrationsWhatsappTwilioPage.js +165 -0
  33. package/dist/components/docs/integrations/index.d.ts +6 -0
  34. package/dist/components/docs/integrations/index.js +1688 -492
  35. package/dist/index.js +8016 -6597
  36. package/dist/node/components/docs/DocsIndexPage.js +1 -1
  37. package/dist/node/components/docs/architecture/ArchitectureControlPlanePage.js +203 -0
  38. package/dist/node/components/docs/architecture/ArchitectureOverviewPage.js +17 -1
  39. package/dist/node/components/docs/architecture/index.js +507 -289
  40. package/dist/node/components/docs/ecosystem/IntegrationsPage.js +6 -3
  41. package/dist/node/components/docs/ecosystem/PluginsPage.js +98 -98
  42. package/dist/node/components/docs/ecosystem/RegistryPage.js +39 -42
  43. package/dist/node/components/docs/ecosystem/TemplatesPage.js +26 -21
  44. package/dist/node/components/docs/ecosystem/ecosystem.docblocks.js +10 -10
  45. package/dist/node/components/docs/ecosystem/index.js +179 -174
  46. package/dist/node/components/docs/index.js +6795 -5376
  47. package/dist/node/components/docs/integrations/IntegrationsElevenLabsPage.js +2 -2
  48. package/dist/node/components/docs/integrations/IntegrationsGithubPage.js +154 -0
  49. package/dist/node/components/docs/integrations/IntegrationsHealthRoutingPage.js +167 -0
  50. package/dist/node/components/docs/integrations/IntegrationsMistralPage.js +202 -0
  51. package/dist/node/components/docs/integrations/IntegrationsOpenAIPage.js +2 -2
  52. package/dist/node/components/docs/integrations/IntegrationsOverviewPage.js +136 -9
  53. package/dist/node/components/docs/integrations/IntegrationsSlackPage.js +160 -0
  54. package/dist/node/components/docs/integrations/IntegrationsSpecModelPage.js +72 -0
  55. package/dist/node/components/docs/integrations/IntegrationsTwilioPage.js +2 -2
  56. package/dist/node/components/docs/integrations/IntegrationsWhatsappMetaPage.js +156 -0
  57. package/dist/node/components/docs/integrations/IntegrationsWhatsappTwilioPage.js +164 -0
  58. package/dist/node/components/docs/integrations/index.js +1688 -492
  59. package/dist/node/index.js +8016 -6597
  60. package/package.json +104 -20
  61. package/src/components/docs/DocsIndexPage.tsx +2 -1
  62. package/src/components/docs/architecture/ArchitectureControlPlanePage.tsx +136 -0
  63. package/src/components/docs/architecture/ArchitectureOverviewPage.tsx +13 -1
  64. package/src/components/docs/architecture/index.ts +1 -0
  65. package/src/components/docs/ecosystem/IntegrationsPage.tsx +4 -3
  66. package/src/components/docs/ecosystem/PluginsPage.tsx +68 -87
  67. package/src/components/docs/ecosystem/RegistryPage.tsx +35 -43
  68. package/src/components/docs/ecosystem/TemplatesPage.tsx +28 -21
  69. package/src/components/docs/ecosystem/ecosystem.docblocks.ts +12 -10
  70. package/src/components/docs/generated/docs-index._common.json +240 -0
  71. package/src/components/docs/generated/docs-index.health.json +98 -0
  72. package/src/components/docs/generated/docs-index.manifest.json +14 -4
  73. package/src/components/docs/generated/docs-index.platform-integrations.json +81 -1
  74. package/src/components/docs/generated/docs-index.video-api-showcase.json +26 -0
  75. package/src/components/docs/integrations/IntegrationsElevenLabsPage.tsx +2 -2
  76. package/src/components/docs/integrations/IntegrationsGithubPage.tsx +90 -0
  77. package/src/components/docs/integrations/IntegrationsHealthRoutingPage.tsx +112 -0
  78. package/src/components/docs/integrations/IntegrationsMistralPage.tsx +133 -0
  79. package/src/components/docs/integrations/IntegrationsOpenAIPage.tsx +2 -2
  80. package/src/components/docs/integrations/IntegrationsOverviewPage.tsx +108 -9
  81. package/src/components/docs/integrations/IntegrationsSlackPage.tsx +98 -0
  82. package/src/components/docs/integrations/IntegrationsSpecModelPage.tsx +59 -0
  83. package/src/components/docs/integrations/IntegrationsTwilioPage.tsx +2 -2
  84. package/src/components/docs/integrations/IntegrationsWhatsappMetaPage.tsx +90 -0
  85. package/src/components/docs/integrations/IntegrationsWhatsappTwilioPage.tsx +92 -0
  86. package/src/components/docs/integrations/index.ts +6 -0
@@ -380,12 +380,12 @@ function ArchitectureAppConfigPage() {
380
380
  }, undefined, true, undefined, this);
381
381
  }
382
382
 
383
- // src/components/docs/architecture/ArchitectureIntegrationBindingPage.tsx
383
+ // src/components/docs/architecture/ArchitectureControlPlanePage.tsx
384
384
  import { CodeBlock as CodeBlock2 } from "@contractspec/lib.design-system";
385
385
  import Link2 from "@contractspec/lib.ui-link";
386
386
  import { ChevronRight as ChevronRight2 } from "lucide-react";
387
387
  import { jsxDEV as jsxDEV2 } from "react/jsx-dev-runtime";
388
- function ArchitectureIntegrationBindingPage() {
388
+ function ArchitectureControlPlanePage() {
389
389
  return /* @__PURE__ */ jsxDEV2("div", {
390
390
  className: "space-y-8",
391
391
  children: [
@@ -394,11 +394,11 @@ function ArchitectureIntegrationBindingPage() {
394
394
  children: [
395
395
  /* @__PURE__ */ jsxDEV2("h1", {
396
396
  className: "text-4xl font-bold",
397
- children: "Integration Binding"
397
+ children: "Control Plane Runtime"
398
398
  }, undefined, false, undefined, this),
399
399
  /* @__PURE__ */ jsxDEV2("p", {
400
400
  className: "text-muted-foreground",
401
- children: "Integration binding connects your app's capabilities to external service providers. Each tenant can configure their own integration connections while sharing the same app blueprint."
401
+ children: "The control plane is the governance layer for agentic execution. It turns incoming intent into deterministic plans, enforces risk policy before side effects, and records replayable traces for audits."
402
402
  }, undefined, false, undefined, this)
403
403
  ]
404
404
  }, undefined, true, undefined, this),
@@ -407,34 +407,235 @@ function ArchitectureIntegrationBindingPage() {
407
407
  children: [
408
408
  /* @__PURE__ */ jsxDEV2("h2", {
409
409
  className: "text-2xl font-bold",
410
- children: "How it works"
410
+ children: "Canonical execution loop"
411
+ }, undefined, false, undefined, this),
412
+ /* @__PURE__ */ jsxDEV2("ol", {
413
+ className: "text-muted-foreground list-inside list-decimal space-y-2",
414
+ children: [
415
+ /* @__PURE__ */ jsxDEV2("li", {
416
+ children: "Accept intent and create execution identity + trace context."
417
+ }, undefined, false, undefined, this),
418
+ /* @__PURE__ */ jsxDEV2("li", {
419
+ children: "Compile intent into a typed, deterministic plan DAG."
420
+ }, undefined, false, undefined, this),
421
+ /* @__PURE__ */ jsxDEV2("li", {
422
+ children: "Verify plan against policy and risk rules."
423
+ }, undefined, false, undefined, this),
424
+ /* @__PURE__ */ jsxDEV2("li", {
425
+ children: "Route into autonomous or assist mode based on verdict."
426
+ }, undefined, false, undefined, this),
427
+ /* @__PURE__ */ jsxDEV2("li", {
428
+ children: "Execute steps with idempotent keys and explicit stage events."
429
+ }, undefined, false, undefined, this),
430
+ /* @__PURE__ */ jsxDEV2("li", {
431
+ children: "Persist outcomes for replay, audits, and operator visibility."
432
+ }, undefined, false, undefined, this)
433
+ ]
434
+ }, undefined, true, undefined, this)
435
+ ]
436
+ }, undefined, true, undefined, this),
437
+ /* @__PURE__ */ jsxDEV2("div", {
438
+ className: "space-y-4",
439
+ children: [
440
+ /* @__PURE__ */ jsxDEV2("h2", {
441
+ className: "text-2xl font-bold",
442
+ children: "Contract surfaces (v1 baseline)"
443
+ }, undefined, false, undefined, this),
444
+ /* @__PURE__ */ jsxDEV2("p", {
445
+ className: "text-muted-foreground",
446
+ children: [
447
+ "The runtime is contract-first. Commands, queries, events, and capabilities are explicit and versioned under",
448
+ /* @__PURE__ */ jsxDEV2("code", {
449
+ children: " @contractspec/lib.contracts-spec"
450
+ }, undefined, false, undefined, this),
451
+ "."
452
+ ]
453
+ }, undefined, true, undefined, this),
454
+ /* @__PURE__ */ jsxDEV2(CodeBlock2, {
455
+ language: "text",
456
+ code: `Commands
457
+ - controlPlane.intent.submit
458
+ - controlPlane.plan.compile
459
+ - controlPlane.plan.verify
460
+ - controlPlane.execution.start
461
+ - controlPlane.execution.approve
462
+ - controlPlane.execution.reject
463
+ - controlPlane.execution.cancel
464
+ - controlPlane.skill.install
465
+ - controlPlane.skill.disable
466
+
467
+ Queries
468
+ - controlPlane.execution.get
469
+ - controlPlane.execution.list
470
+ - controlPlane.trace.get
471
+ - controlPlane.policy.explain
472
+ - controlPlane.skill.list
473
+ - controlPlane.skill.verify
474
+
475
+ Events
476
+ - controlPlane.intent.received
477
+ - controlPlane.plan.compiled
478
+ - controlPlane.plan.rejected
479
+ - controlPlane.execution.step.started
480
+ - controlPlane.execution.step.blocked
481
+ - controlPlane.execution.step.completed
482
+ - controlPlane.execution.completed
483
+ - controlPlane.execution.failed
484
+ - controlPlane.skill.installed
485
+ - controlPlane.skill.rejected
486
+
487
+ Capabilities
488
+ - control-plane.core
489
+ - control-plane.approval
490
+ - control-plane.audit
491
+ - control-plane.skill-registry
492
+ - control-plane.channel-runtime`
493
+ }, undefined, false, undefined, this)
494
+ ]
495
+ }, undefined, true, undefined, this),
496
+ /* @__PURE__ */ jsxDEV2("div", {
497
+ className: "space-y-4",
498
+ children: [
499
+ /* @__PURE__ */ jsxDEV2("h2", {
500
+ className: "text-2xl font-bold",
501
+ children: "Policy and safety posture"
502
+ }, undefined, false, undefined, this),
503
+ /* @__PURE__ */ jsxDEV2("ul", {
504
+ className: "text-muted-foreground list-inside list-disc space-y-2",
505
+ children: [
506
+ /* @__PURE__ */ jsxDEV2("li", {
507
+ children: "No side-effect action executes unless it comes from a compiled plan."
508
+ }, undefined, false, undefined, this),
509
+ /* @__PURE__ */ jsxDEV2("li", {
510
+ children: "High-risk actions are blocked from autonomous mode in v1."
511
+ }, undefined, false, undefined, this),
512
+ /* @__PURE__ */ jsxDEV2("li", {
513
+ children: "Approval commands provide explicit human-in-the-loop transitions."
514
+ }, undefined, false, undefined, this),
515
+ /* @__PURE__ */ jsxDEV2("li", {
516
+ children: "Skill installation is modeled as governance-controlled operations."
517
+ }, undefined, false, undefined, this),
518
+ /* @__PURE__ */ jsxDEV2("li", {
519
+ children: "Trace queries expose policy rationale and step outcomes for replay."
520
+ }, undefined, false, undefined, this)
521
+ ]
522
+ }, undefined, true, undefined, this)
523
+ ]
524
+ }, undefined, true, undefined, this),
525
+ /* @__PURE__ */ jsxDEV2("div", {
526
+ className: "space-y-4",
527
+ children: [
528
+ /* @__PURE__ */ jsxDEV2("h2", {
529
+ className: "text-2xl font-bold",
530
+ children: "Implementation map"
531
+ }, undefined, false, undefined, this),
532
+ /* @__PURE__ */ jsxDEV2(CodeBlock2, {
533
+ language: "text",
534
+ code: `packages/libs/contracts-spec/src/control-plane/
535
+ commands/
536
+ queries/
537
+ events/
538
+ capabilities/
539
+ contracts.ts
540
+ contracts.test.ts
541
+
542
+ packages/apps/web-landing/src/app/docs/architecture/control-plane/page.tsx
543
+ implementation_plan_controle_plane.md`
544
+ }, undefined, false, undefined, this)
545
+ ]
546
+ }, undefined, true, undefined, this),
547
+ /* @__PURE__ */ jsxDEV2("div", {
548
+ className: "space-y-4",
549
+ children: [
550
+ /* @__PURE__ */ jsxDEV2("h2", {
551
+ className: "text-2xl font-bold",
552
+ children: "What comes next"
411
553
  }, undefined, false, undefined, this),
412
554
  /* @__PURE__ */ jsxDEV2("p", {
555
+ className: "text-muted-foreground",
556
+ children: "WS1 delivers the contract fabric. Next increments add planner/executor split, policy escalation, capability-bound authorization, signed skill compatibility checks, and full replay tooling."
557
+ }, undefined, false, undefined, this)
558
+ ]
559
+ }, undefined, true, undefined, this),
560
+ /* @__PURE__ */ jsxDEV2("div", {
561
+ className: "flex items-center gap-4 pt-4",
562
+ children: [
563
+ /* @__PURE__ */ jsxDEV2(Link2, {
564
+ href: "/docs/architecture/integration-binding",
565
+ className: "btn-ghost",
566
+ children: "Previous: Integration Binding"
567
+ }, undefined, false, undefined, this),
568
+ /* @__PURE__ */ jsxDEV2(Link2, {
569
+ href: "/docs/safety/auditing",
570
+ className: "btn-primary",
571
+ children: [
572
+ "Audit Logs ",
573
+ /* @__PURE__ */ jsxDEV2(ChevronRight2, {
574
+ size: 16
575
+ }, undefined, false, undefined, this)
576
+ ]
577
+ }, undefined, true, undefined, this)
578
+ ]
579
+ }, undefined, true, undefined, this)
580
+ ]
581
+ }, undefined, true, undefined, this);
582
+ }
583
+
584
+ // src/components/docs/architecture/ArchitectureIntegrationBindingPage.tsx
585
+ import { CodeBlock as CodeBlock3 } from "@contractspec/lib.design-system";
586
+ import Link3 from "@contractspec/lib.ui-link";
587
+ import { ChevronRight as ChevronRight3 } from "lucide-react";
588
+ import { jsxDEV as jsxDEV3 } from "react/jsx-dev-runtime";
589
+ function ArchitectureIntegrationBindingPage() {
590
+ return /* @__PURE__ */ jsxDEV3("div", {
591
+ className: "space-y-8",
592
+ children: [
593
+ /* @__PURE__ */ jsxDEV3("div", {
594
+ className: "space-y-4",
595
+ children: [
596
+ /* @__PURE__ */ jsxDEV3("h1", {
597
+ className: "text-4xl font-bold",
598
+ children: "Integration Binding"
599
+ }, undefined, false, undefined, this),
600
+ /* @__PURE__ */ jsxDEV3("p", {
601
+ className: "text-muted-foreground",
602
+ children: "Integration binding connects your app's capabilities to external service providers. Each tenant can configure their own integration connections while sharing the same app blueprint."
603
+ }, undefined, false, undefined, this)
604
+ ]
605
+ }, undefined, true, undefined, this),
606
+ /* @__PURE__ */ jsxDEV3("div", {
607
+ className: "space-y-4",
608
+ children: [
609
+ /* @__PURE__ */ jsxDEV3("h2", {
610
+ className: "text-2xl font-bold",
611
+ children: "How it works"
612
+ }, undefined, false, undefined, this),
613
+ /* @__PURE__ */ jsxDEV3("p", {
413
614
  className: "text-muted-foreground",
414
615
  children: "Integration binding follows a three-layer model:"
415
616
  }, undefined, false, undefined, this),
416
- /* @__PURE__ */ jsxDEV2("ol", {
617
+ /* @__PURE__ */ jsxDEV3("ol", {
417
618
  className: "text-muted-foreground list-inside list-decimal space-y-3",
418
619
  children: [
419
- /* @__PURE__ */ jsxDEV2("li", {
620
+ /* @__PURE__ */ jsxDEV3("li", {
420
621
  children: [
421
- /* @__PURE__ */ jsxDEV2("strong", {
622
+ /* @__PURE__ */ jsxDEV3("strong", {
422
623
  children: "IntegrationSpec"
423
624
  }, undefined, false, undefined, this),
424
625
  " (global) - Defines what an integration provides"
425
626
  ]
426
627
  }, undefined, true, undefined, this),
427
- /* @__PURE__ */ jsxDEV2("li", {
628
+ /* @__PURE__ */ jsxDEV3("li", {
428
629
  children: [
429
- /* @__PURE__ */ jsxDEV2("strong", {
630
+ /* @__PURE__ */ jsxDEV3("strong", {
430
631
  children: "IntegrationConnection"
431
632
  }, undefined, false, undefined, this),
432
633
  " (per-tenant) - A tenant's configured connection"
433
634
  ]
434
635
  }, undefined, true, undefined, this),
435
- /* @__PURE__ */ jsxDEV2("li", {
636
+ /* @__PURE__ */ jsxDEV3("li", {
436
637
  children: [
437
- /* @__PURE__ */ jsxDEV2("strong", {
638
+ /* @__PURE__ */ jsxDEV3("strong", {
438
639
  children: "AppIntegrationBinding"
439
640
  }, undefined, false, undefined, this),
440
641
  " (per-app) - Maps named slots to concrete tenant connections"
@@ -444,25 +645,25 @@ function ArchitectureIntegrationBindingPage() {
444
645
  }, undefined, true, undefined, this)
445
646
  ]
446
647
  }, undefined, true, undefined, this),
447
- /* @__PURE__ */ jsxDEV2("div", {
648
+ /* @__PURE__ */ jsxDEV3("div", {
448
649
  className: "space-y-4",
449
650
  children: [
450
- /* @__PURE__ */ jsxDEV2("h2", {
651
+ /* @__PURE__ */ jsxDEV3("h2", {
451
652
  className: "text-2xl font-bold",
452
653
  children: "Example: Payment processing"
453
654
  }, undefined, false, undefined, this),
454
- /* @__PURE__ */ jsxDEV2("p", {
655
+ /* @__PURE__ */ jsxDEV3("p", {
455
656
  className: "text-muted-foreground",
456
657
  children: "Let's walk through a complete example of binding Stripe for payments."
457
658
  }, undefined, false, undefined, this),
458
- /* @__PURE__ */ jsxDEV2("div", {
659
+ /* @__PURE__ */ jsxDEV3("div", {
459
660
  className: "space-y-3",
460
661
  children: [
461
- /* @__PURE__ */ jsxDEV2("h3", {
662
+ /* @__PURE__ */ jsxDEV3("h3", {
462
663
  className: "text-lg font-semibold",
463
664
  children: "Step 1: Blueprint declares requirement"
464
665
  }, undefined, false, undefined, this),
465
- /* @__PURE__ */ jsxDEV2(CodeBlock2, {
666
+ /* @__PURE__ */ jsxDEV3(CodeBlock3, {
466
667
  language: "typescript",
467
668
  code: `// AppBlueprintSpec
468
669
  {
@@ -492,14 +693,14 @@ function ArchitectureIntegrationBindingPage() {
492
693
  }, undefined, false, undefined, this)
493
694
  ]
494
695
  }, undefined, true, undefined, this),
495
- /* @__PURE__ */ jsxDEV2("div", {
696
+ /* @__PURE__ */ jsxDEV3("div", {
496
697
  className: "space-y-3",
497
698
  children: [
498
- /* @__PURE__ */ jsxDEV2("h3", {
699
+ /* @__PURE__ */ jsxDEV3("h3", {
499
700
  className: "text-lg font-semibold",
500
701
  children: "Step 2: Tenant creates connection"
501
702
  }, undefined, false, undefined, this),
502
- /* @__PURE__ */ jsxDEV2(CodeBlock2, {
703
+ /* @__PURE__ */ jsxDEV3(CodeBlock3, {
503
704
  language: "typescript",
504
705
  code: `// IntegrationConnection
505
706
  {
@@ -525,14 +726,14 @@ function ArchitectureIntegrationBindingPage() {
525
726
  }, undefined, false, undefined, this)
526
727
  ]
527
728
  }, undefined, true, undefined, this),
528
- /* @__PURE__ */ jsxDEV2("div", {
729
+ /* @__PURE__ */ jsxDEV3("div", {
529
730
  className: "space-y-3",
530
731
  children: [
531
- /* @__PURE__ */ jsxDEV2("h3", {
732
+ /* @__PURE__ */ jsxDEV3("h3", {
532
733
  className: "text-lg font-semibold",
533
734
  children: "Step 3: TenantAppConfig binds connection"
534
735
  }, undefined, false, undefined, this),
535
- /* @__PURE__ */ jsxDEV2(CodeBlock2, {
736
+ /* @__PURE__ */ jsxDEV3(CodeBlock3, {
536
737
  language: "typescript",
537
738
  code: `// TenantAppConfig
538
739
  {
@@ -564,14 +765,14 @@ function ArchitectureIntegrationBindingPage() {
564
765
  }, undefined, false, undefined, this)
565
766
  ]
566
767
  }, undefined, true, undefined, this),
567
- /* @__PURE__ */ jsxDEV2("div", {
768
+ /* @__PURE__ */ jsxDEV3("div", {
568
769
  className: "space-y-3",
569
770
  children: [
570
- /* @__PURE__ */ jsxDEV2("h3", {
771
+ /* @__PURE__ */ jsxDEV3("h3", {
571
772
  className: "text-lg font-semibold",
572
773
  children: "Step 4: Runtime resolves and executes"
573
774
  }, undefined, false, undefined, this),
574
- /* @__PURE__ */ jsxDEV2(CodeBlock2, {
775
+ /* @__PURE__ */ jsxDEV3(CodeBlock3, {
575
776
  language: "typescript",
576
777
  code: `// ResolvedAppConfig (runtime)
577
778
  {
@@ -596,18 +797,18 @@ const result = await executeCapability(
596
797
  }, undefined, true, undefined, this)
597
798
  ]
598
799
  }, undefined, true, undefined, this),
599
- /* @__PURE__ */ jsxDEV2("div", {
800
+ /* @__PURE__ */ jsxDEV3("div", {
600
801
  className: "space-y-4",
601
802
  children: [
602
- /* @__PURE__ */ jsxDEV2("h2", {
803
+ /* @__PURE__ */ jsxDEV3("h2", {
603
804
  className: "text-2xl font-bold",
604
805
  children: "Multi-integration scenarios"
605
806
  }, undefined, false, undefined, this),
606
- /* @__PURE__ */ jsxDEV2("p", {
807
+ /* @__PURE__ */ jsxDEV3("p", {
607
808
  className: "text-muted-foreground",
608
809
  children: "A single app can use multiple integrations across different categories:"
609
810
  }, undefined, false, undefined, this),
610
- /* @__PURE__ */ jsxDEV2(CodeBlock2, {
811
+ /* @__PURE__ */ jsxDEV3(CodeBlock3, {
611
812
  language: "typescript",
612
813
  code: `integrations: [
613
814
  {
@@ -639,18 +840,18 @@ const result = await executeCapability(
639
840
  }, undefined, false, undefined, this)
640
841
  ]
641
842
  }, undefined, true, undefined, this),
642
- /* @__PURE__ */ jsxDEV2("div", {
843
+ /* @__PURE__ */ jsxDEV3("div", {
643
844
  className: "space-y-4",
644
845
  children: [
645
- /* @__PURE__ */ jsxDEV2("h2", {
846
+ /* @__PURE__ */ jsxDEV3("h2", {
646
847
  className: "text-2xl font-bold",
647
848
  children: "Sandbox vs Production"
648
849
  }, undefined, false, undefined, this),
649
- /* @__PURE__ */ jsxDEV2("p", {
850
+ /* @__PURE__ */ jsxDEV3("p", {
650
851
  className: "text-muted-foreground",
651
852
  children: "Tenants typically maintain separate connections for sandbox and production environments:"
652
853
  }, undefined, false, undefined, this),
653
- /* @__PURE__ */ jsxDEV2(CodeBlock2, {
854
+ /* @__PURE__ */ jsxDEV3(CodeBlock3, {
654
855
  language: "typescript",
655
856
  code: `// Sandbox environment
656
857
  {
@@ -676,84 +877,84 @@ const result = await executeCapability(
676
877
  }, undefined, false, undefined, this)
677
878
  ]
678
879
  }, undefined, true, undefined, this),
679
- /* @__PURE__ */ jsxDEV2("div", {
880
+ /* @__PURE__ */ jsxDEV3("div", {
680
881
  className: "space-y-4",
681
882
  children: [
682
- /* @__PURE__ */ jsxDEV2("h2", {
883
+ /* @__PURE__ */ jsxDEV3("h2", {
683
884
  className: "text-2xl font-bold",
684
885
  children: "Security & validation"
685
886
  }, undefined, false, undefined, this),
686
- /* @__PURE__ */ jsxDEV2("ul", {
887
+ /* @__PURE__ */ jsxDEV3("ul", {
687
888
  className: "text-muted-foreground list-inside list-disc space-y-2",
688
889
  children: [
689
- /* @__PURE__ */ jsxDEV2("li", {
890
+ /* @__PURE__ */ jsxDEV3("li", {
690
891
  children: "Integration connections are validated before binding - health checks ensure connectivity"
691
892
  }, undefined, false, undefined, this),
692
- /* @__PURE__ */ jsxDEV2("li", {
893
+ /* @__PURE__ */ jsxDEV3("li", {
693
894
  children: "Secrets are never stored in TenantAppConfig - only references to encrypted secrets"
694
895
  }, undefined, false, undefined, this),
695
- /* @__PURE__ */ jsxDEV2("li", {
896
+ /* @__PURE__ */ jsxDEV3("li", {
696
897
  children: "Policy Decision Point (PDP) enforces which workflows can use which integrations"
697
898
  }, undefined, false, undefined, this),
698
- /* @__PURE__ */ jsxDEV2("li", {
899
+ /* @__PURE__ */ jsxDEV3("li", {
699
900
  children: "All integration calls are audited with full request/response logging"
700
901
  }, undefined, false, undefined, this),
701
- /* @__PURE__ */ jsxDEV2("li", {
902
+ /* @__PURE__ */ jsxDEV3("li", {
702
903
  children: "Rate limiting and quotas are enforced per connection"
703
904
  }, undefined, false, undefined, this)
704
905
  ]
705
906
  }, undefined, true, undefined, this)
706
907
  ]
707
908
  }, undefined, true, undefined, this),
708
- /* @__PURE__ */ jsxDEV2("div", {
909
+ /* @__PURE__ */ jsxDEV3("div", {
709
910
  className: "space-y-4",
710
911
  children: [
711
- /* @__PURE__ */ jsxDEV2("h2", {
912
+ /* @__PURE__ */ jsxDEV3("h2", {
712
913
  className: "text-2xl font-bold",
713
914
  children: "Best practices"
714
915
  }, undefined, false, undefined, this),
715
- /* @__PURE__ */ jsxDEV2("ul", {
916
+ /* @__PURE__ */ jsxDEV3("ul", {
716
917
  className: "text-muted-foreground list-inside list-disc space-y-2",
717
918
  children: [
718
- /* @__PURE__ */ jsxDEV2("li", {
919
+ /* @__PURE__ */ jsxDEV3("li", {
719
920
  children: [
720
921
  "Use wildcard patterns sparingly in ",
721
- /* @__PURE__ */ jsxDEV2("code", {
922
+ /* @__PURE__ */ jsxDEV3("code", {
722
923
  children: "allowedWorkflows"
723
924
  }, undefined, false, undefined, this),
724
925
  " - be explicit about access"
725
926
  ]
726
927
  }, undefined, true, undefined, this),
727
- /* @__PURE__ */ jsxDEV2("li", {
928
+ /* @__PURE__ */ jsxDEV3("li", {
728
929
  children: "Always maintain separate sandbox and production connections"
729
930
  }, undefined, false, undefined, this),
730
- /* @__PURE__ */ jsxDEV2("li", {
931
+ /* @__PURE__ */ jsxDEV3("li", {
731
932
  children: "Monitor integration health checks and set up alerts for failures"
732
933
  }, undefined, false, undefined, this),
733
- /* @__PURE__ */ jsxDEV2("li", {
934
+ /* @__PURE__ */ jsxDEV3("li", {
734
935
  children: "Document the purpose of each integration binding for your team"
735
936
  }, undefined, false, undefined, this),
736
- /* @__PURE__ */ jsxDEV2("li", {
937
+ /* @__PURE__ */ jsxDEV3("li", {
737
938
  children: "Test integration changes in sandbox before promoting to production"
738
939
  }, undefined, false, undefined, this)
739
940
  ]
740
941
  }, undefined, true, undefined, this)
741
942
  ]
742
943
  }, undefined, true, undefined, this),
743
- /* @__PURE__ */ jsxDEV2("div", {
944
+ /* @__PURE__ */ jsxDEV3("div", {
744
945
  className: "flex items-center gap-4 pt-4",
745
946
  children: [
746
- /* @__PURE__ */ jsxDEV2(Link2, {
947
+ /* @__PURE__ */ jsxDEV3(Link3, {
747
948
  href: "/docs/architecture/app-config",
748
949
  className: "btn-ghost",
749
950
  children: "Previous: App Configuration"
750
951
  }, undefined, false, undefined, this),
751
- /* @__PURE__ */ jsxDEV2(Link2, {
952
+ /* @__PURE__ */ jsxDEV3(Link3, {
752
953
  href: "/docs/architecture/knowledge-binding",
753
954
  className: "btn-primary",
754
955
  children: [
755
956
  "Knowledge Binding ",
756
- /* @__PURE__ */ jsxDEV2(ChevronRight2, {
957
+ /* @__PURE__ */ jsxDEV3(ChevronRight3, {
757
958
  size: 16
758
959
  }, undefined, false, undefined, this)
759
960
  ]
@@ -765,60 +966,60 @@ const result = await executeCapability(
765
966
  }
766
967
 
767
968
  // src/components/docs/architecture/ArchitectureKnowledgeBindingPage.tsx
768
- import { CodeBlock as CodeBlock3 } from "@contractspec/lib.design-system";
769
- import Link3 from "@contractspec/lib.ui-link";
770
- import { ChevronRight as ChevronRight3 } from "lucide-react";
771
- import { jsxDEV as jsxDEV3 } from "react/jsx-dev-runtime";
969
+ import { CodeBlock as CodeBlock4 } from "@contractspec/lib.design-system";
970
+ import Link4 from "@contractspec/lib.ui-link";
971
+ import { ChevronRight as ChevronRight4 } from "lucide-react";
972
+ import { jsxDEV as jsxDEV4 } from "react/jsx-dev-runtime";
772
973
  function ArchitectureKnowledgeBindingPage() {
773
- return /* @__PURE__ */ jsxDEV3("div", {
974
+ return /* @__PURE__ */ jsxDEV4("div", {
774
975
  className: "space-y-8",
775
976
  children: [
776
- /* @__PURE__ */ jsxDEV3("div", {
977
+ /* @__PURE__ */ jsxDEV4("div", {
777
978
  className: "space-y-4",
778
979
  children: [
779
- /* @__PURE__ */ jsxDEV3("h1", {
980
+ /* @__PURE__ */ jsxDEV4("h1", {
780
981
  className: "text-4xl font-bold",
781
982
  children: "Knowledge Binding"
782
983
  }, undefined, false, undefined, this),
783
- /* @__PURE__ */ jsxDEV3("p", {
984
+ /* @__PURE__ */ jsxDEV4("p", {
784
985
  className: "text-muted-foreground",
785
986
  children: "Knowledge binding connects your app's workflows and agents to structured knowledge spaces. This enables semantic search, RAG (Retrieval-Augmented Generation), and context-aware decision-making."
786
987
  }, undefined, false, undefined, this)
787
988
  ]
788
989
  }, undefined, true, undefined, this),
789
- /* @__PURE__ */ jsxDEV3("div", {
990
+ /* @__PURE__ */ jsxDEV4("div", {
790
991
  className: "space-y-4",
791
992
  children: [
792
- /* @__PURE__ */ jsxDEV3("h2", {
993
+ /* @__PURE__ */ jsxDEV4("h2", {
793
994
  className: "text-2xl font-bold",
794
995
  children: "How it works"
795
996
  }, undefined, false, undefined, this),
796
- /* @__PURE__ */ jsxDEV3("p", {
997
+ /* @__PURE__ */ jsxDEV4("p", {
797
998
  className: "text-muted-foreground",
798
999
  children: "Knowledge binding follows a three-layer model:"
799
1000
  }, undefined, false, undefined, this),
800
- /* @__PURE__ */ jsxDEV3("ol", {
1001
+ /* @__PURE__ */ jsxDEV4("ol", {
801
1002
  className: "text-muted-foreground list-inside list-decimal space-y-3",
802
1003
  children: [
803
- /* @__PURE__ */ jsxDEV3("li", {
1004
+ /* @__PURE__ */ jsxDEV4("li", {
804
1005
  children: [
805
- /* @__PURE__ */ jsxDEV3("strong", {
1006
+ /* @__PURE__ */ jsxDEV4("strong", {
806
1007
  children: "KnowledgeSpaceSpec"
807
1008
  }, undefined, false, undefined, this),
808
1009
  " (global) - Defines a logical knowledge domain"
809
1010
  ]
810
1011
  }, undefined, true, undefined, this),
811
- /* @__PURE__ */ jsxDEV3("li", {
1012
+ /* @__PURE__ */ jsxDEV4("li", {
812
1013
  children: [
813
- /* @__PURE__ */ jsxDEV3("strong", {
1014
+ /* @__PURE__ */ jsxDEV4("strong", {
814
1015
  children: "KnowledgeSourceConfig"
815
1016
  }, undefined, false, undefined, this),
816
1017
  " (per-tenant) - Tenant's data sources feeding spaces"
817
1018
  ]
818
1019
  }, undefined, true, undefined, this),
819
- /* @__PURE__ */ jsxDEV3("li", {
1020
+ /* @__PURE__ */ jsxDEV4("li", {
820
1021
  children: [
821
- /* @__PURE__ */ jsxDEV3("strong", {
1022
+ /* @__PURE__ */ jsxDEV4("strong", {
822
1023
  children: "AppKnowledgeBinding"
823
1024
  }, undefined, false, undefined, this),
824
1025
  " (per-app) - Maps spaces to workflows/agents"
@@ -828,25 +1029,25 @@ function ArchitectureKnowledgeBindingPage() {
828
1029
  }, undefined, true, undefined, this)
829
1030
  ]
830
1031
  }, undefined, true, undefined, this),
831
- /* @__PURE__ */ jsxDEV3("div", {
1032
+ /* @__PURE__ */ jsxDEV4("div", {
832
1033
  className: "space-y-4",
833
1034
  children: [
834
- /* @__PURE__ */ jsxDEV3("h2", {
1035
+ /* @__PURE__ */ jsxDEV4("h2", {
835
1036
  className: "text-2xl font-bold",
836
1037
  children: "Example: Support agent with RAG"
837
1038
  }, undefined, false, undefined, this),
838
- /* @__PURE__ */ jsxDEV3("p", {
1039
+ /* @__PURE__ */ jsxDEV4("p", {
839
1040
  className: "text-muted-foreground",
840
1041
  children: "Let's build a support agent that uses canonical product documentation and operational support history."
841
1042
  }, undefined, false, undefined, this),
842
- /* @__PURE__ */ jsxDEV3("div", {
1043
+ /* @__PURE__ */ jsxDEV4("div", {
843
1044
  className: "space-y-3",
844
1045
  children: [
845
- /* @__PURE__ */ jsxDEV3("h3", {
1046
+ /* @__PURE__ */ jsxDEV4("h3", {
846
1047
  className: "text-lg font-semibold",
847
1048
  children: "Step 1: Blueprint declares knowledge needs"
848
1049
  }, undefined, false, undefined, this),
849
- /* @__PURE__ */ jsxDEV3(CodeBlock3, {
1050
+ /* @__PURE__ */ jsxDEV4(CodeBlock4, {
850
1051
  language: "typescript",
851
1052
  code: `// AppBlueprintSpec
852
1053
  {
@@ -876,14 +1077,14 @@ function ArchitectureKnowledgeBindingPage() {
876
1077
  }, undefined, false, undefined, this)
877
1078
  ]
878
1079
  }, undefined, true, undefined, this),
879
- /* @__PURE__ */ jsxDEV3("div", {
1080
+ /* @__PURE__ */ jsxDEV4("div", {
880
1081
  className: "space-y-3",
881
1082
  children: [
882
- /* @__PURE__ */ jsxDEV3("h3", {
1083
+ /* @__PURE__ */ jsxDEV4("h3", {
883
1084
  className: "text-lg font-semibold",
884
1085
  children: "Step 2: Tenant configures sources"
885
1086
  }, undefined, false, undefined, this),
886
- /* @__PURE__ */ jsxDEV3(CodeBlock3, {
1087
+ /* @__PURE__ */ jsxDEV4(CodeBlock4, {
887
1088
  language: "typescript",
888
1089
  code: `// KnowledgeSourceConfig (per-tenant)
889
1090
  [
@@ -918,14 +1119,14 @@ function ArchitectureKnowledgeBindingPage() {
918
1119
  }, undefined, false, undefined, this)
919
1120
  ]
920
1121
  }, undefined, true, undefined, this),
921
- /* @__PURE__ */ jsxDEV3("div", {
1122
+ /* @__PURE__ */ jsxDEV4("div", {
922
1123
  className: "space-y-3",
923
1124
  children: [
924
- /* @__PURE__ */ jsxDEV3("h3", {
1125
+ /* @__PURE__ */ jsxDEV4("h3", {
925
1126
  className: "text-lg font-semibold",
926
1127
  children: "Step 3: TenantAppConfig binds spaces"
927
1128
  }, undefined, false, undefined, this),
928
- /* @__PURE__ */ jsxDEV3(CodeBlock3, {
1129
+ /* @__PURE__ */ jsxDEV4(CodeBlock4, {
929
1130
  language: "typescript",
930
1131
  code: `// TenantAppConfig
931
1132
  {
@@ -967,14 +1168,14 @@ function ArchitectureKnowledgeBindingPage() {
967
1168
  }, undefined, false, undefined, this)
968
1169
  ]
969
1170
  }, undefined, true, undefined, this),
970
- /* @__PURE__ */ jsxDEV3("div", {
1171
+ /* @__PURE__ */ jsxDEV4("div", {
971
1172
  className: "space-y-3",
972
1173
  children: [
973
- /* @__PURE__ */ jsxDEV3("h3", {
1174
+ /* @__PURE__ */ jsxDEV4("h3", {
974
1175
  className: "text-lg font-semibold",
975
1176
  children: "Step 4: Workflow uses knowledge"
976
1177
  }, undefined, false, undefined, this),
977
- /* @__PURE__ */ jsxDEV3(CodeBlock3, {
1178
+ /* @__PURE__ */ jsxDEV4(CodeBlock4, {
978
1179
  language: "yaml",
979
1180
  code: `// WorkflowSpec
980
1181
  workflowId: answer-question
@@ -1024,124 +1225,124 @@ steps:
1024
1225
  }, undefined, true, undefined, this)
1025
1226
  ]
1026
1227
  }, undefined, true, undefined, this),
1027
- /* @__PURE__ */ jsxDEV3("div", {
1228
+ /* @__PURE__ */ jsxDEV4("div", {
1028
1229
  className: "space-y-4",
1029
1230
  children: [
1030
- /* @__PURE__ */ jsxDEV3("h2", {
1231
+ /* @__PURE__ */ jsxDEV4("h2", {
1031
1232
  className: "text-2xl font-bold",
1032
1233
  children: "Category-based access control"
1033
1234
  }, undefined, false, undefined, this),
1034
- /* @__PURE__ */ jsxDEV3("p", {
1235
+ /* @__PURE__ */ jsxDEV4("p", {
1035
1236
  className: "text-muted-foreground",
1036
1237
  children: "Different knowledge categories have different trust levels and access patterns:"
1037
1238
  }, undefined, false, undefined, this),
1038
- /* @__PURE__ */ jsxDEV3("div", {
1239
+ /* @__PURE__ */ jsxDEV4("div", {
1039
1240
  className: "border-border/50 overflow-x-auto rounded-lg border",
1040
- children: /* @__PURE__ */ jsxDEV3("table", {
1241
+ children: /* @__PURE__ */ jsxDEV4("table", {
1041
1242
  className: "w-full text-left text-sm",
1042
1243
  children: [
1043
- /* @__PURE__ */ jsxDEV3("thead", {
1244
+ /* @__PURE__ */ jsxDEV4("thead", {
1044
1245
  className: "bg-card/50",
1045
- children: /* @__PURE__ */ jsxDEV3("tr", {
1246
+ children: /* @__PURE__ */ jsxDEV4("tr", {
1046
1247
  className: "border-border/50 border-b",
1047
1248
  children: [
1048
- /* @__PURE__ */ jsxDEV3("th", {
1249
+ /* @__PURE__ */ jsxDEV4("th", {
1049
1250
  className: "px-4 py-3 font-semibold",
1050
1251
  children: "Category"
1051
1252
  }, undefined, false, undefined, this),
1052
- /* @__PURE__ */ jsxDEV3("th", {
1253
+ /* @__PURE__ */ jsxDEV4("th", {
1053
1254
  className: "px-4 py-3 font-semibold",
1054
1255
  children: "Trust Level"
1055
1256
  }, undefined, false, undefined, this),
1056
- /* @__PURE__ */ jsxDEV3("th", {
1257
+ /* @__PURE__ */ jsxDEV4("th", {
1057
1258
  className: "px-4 py-3 font-semibold",
1058
1259
  children: "Use Cases"
1059
1260
  }, undefined, false, undefined, this),
1060
- /* @__PURE__ */ jsxDEV3("th", {
1261
+ /* @__PURE__ */ jsxDEV4("th", {
1061
1262
  className: "px-4 py-3 font-semibold",
1062
1263
  children: "Policy Impact"
1063
1264
  }, undefined, false, undefined, this)
1064
1265
  ]
1065
1266
  }, undefined, true, undefined, this)
1066
1267
  }, undefined, false, undefined, this),
1067
- /* @__PURE__ */ jsxDEV3("tbody", {
1268
+ /* @__PURE__ */ jsxDEV4("tbody", {
1068
1269
  className: "divide-border/50 divide-y",
1069
1270
  children: [
1070
- /* @__PURE__ */ jsxDEV3("tr", {
1271
+ /* @__PURE__ */ jsxDEV4("tr", {
1071
1272
  children: [
1072
- /* @__PURE__ */ jsxDEV3("td", {
1273
+ /* @__PURE__ */ jsxDEV4("td", {
1073
1274
  className: "px-4 py-3 font-mono text-xs",
1074
1275
  children: "canonical"
1075
1276
  }, undefined, false, undefined, this),
1076
- /* @__PURE__ */ jsxDEV3("td", {
1277
+ /* @__PURE__ */ jsxDEV4("td", {
1077
1278
  className: "px-4 py-3",
1078
1279
  children: "Highest"
1079
1280
  }, undefined, false, undefined, this),
1080
- /* @__PURE__ */ jsxDEV3("td", {
1281
+ /* @__PURE__ */ jsxDEV4("td", {
1081
1282
  className: "px-4 py-3",
1082
1283
  children: "Product specs, schemas, official policies"
1083
1284
  }, undefined, false, undefined, this),
1084
- /* @__PURE__ */ jsxDEV3("td", {
1285
+ /* @__PURE__ */ jsxDEV4("td", {
1085
1286
  className: "px-4 py-3",
1086
1287
  children: "Can drive policy decisions"
1087
1288
  }, undefined, false, undefined, this)
1088
1289
  ]
1089
1290
  }, undefined, true, undefined, this),
1090
- /* @__PURE__ */ jsxDEV3("tr", {
1291
+ /* @__PURE__ */ jsxDEV4("tr", {
1091
1292
  children: [
1092
- /* @__PURE__ */ jsxDEV3("td", {
1293
+ /* @__PURE__ */ jsxDEV4("td", {
1093
1294
  className: "px-4 py-3 font-mono text-xs",
1094
1295
  children: "operational"
1095
1296
  }, undefined, false, undefined, this),
1096
- /* @__PURE__ */ jsxDEV3("td", {
1297
+ /* @__PURE__ */ jsxDEV4("td", {
1097
1298
  className: "px-4 py-3",
1098
1299
  children: "High"
1099
1300
  }, undefined, false, undefined, this),
1100
- /* @__PURE__ */ jsxDEV3("td", {
1301
+ /* @__PURE__ */ jsxDEV4("td", {
1101
1302
  className: "px-4 py-3",
1102
1303
  children: "Support tickets, sales docs, internal runbooks"
1103
1304
  }, undefined, false, undefined, this),
1104
- /* @__PURE__ */ jsxDEV3("td", {
1305
+ /* @__PURE__ */ jsxDEV4("td", {
1105
1306
  className: "px-4 py-3",
1106
1307
  children: "Can inform decisions"
1107
1308
  }, undefined, false, undefined, this)
1108
1309
  ]
1109
1310
  }, undefined, true, undefined, this),
1110
- /* @__PURE__ */ jsxDEV3("tr", {
1311
+ /* @__PURE__ */ jsxDEV4("tr", {
1111
1312
  children: [
1112
- /* @__PURE__ */ jsxDEV3("td", {
1313
+ /* @__PURE__ */ jsxDEV4("td", {
1113
1314
  className: "px-4 py-3 font-mono text-xs",
1114
1315
  children: "external"
1115
1316
  }, undefined, false, undefined, this),
1116
- /* @__PURE__ */ jsxDEV3("td", {
1317
+ /* @__PURE__ */ jsxDEV4("td", {
1117
1318
  className: "px-4 py-3",
1118
1319
  children: "Medium"
1119
1320
  }, undefined, false, undefined, this),
1120
- /* @__PURE__ */ jsxDEV3("td", {
1321
+ /* @__PURE__ */ jsxDEV4("td", {
1121
1322
  className: "px-4 py-3",
1122
1323
  children: "Third-party docs, regulations, PSP guides"
1123
1324
  }, undefined, false, undefined, this),
1124
- /* @__PURE__ */ jsxDEV3("td", {
1325
+ /* @__PURE__ */ jsxDEV4("td", {
1125
1326
  className: "px-4 py-3",
1126
1327
  children: "Reference only, not authoritative"
1127
1328
  }, undefined, false, undefined, this)
1128
1329
  ]
1129
1330
  }, undefined, true, undefined, this),
1130
- /* @__PURE__ */ jsxDEV3("tr", {
1331
+ /* @__PURE__ */ jsxDEV4("tr", {
1131
1332
  children: [
1132
- /* @__PURE__ */ jsxDEV3("td", {
1333
+ /* @__PURE__ */ jsxDEV4("td", {
1133
1334
  className: "px-4 py-3 font-mono text-xs",
1134
1335
  children: "ephemeral"
1135
1336
  }, undefined, false, undefined, this),
1136
- /* @__PURE__ */ jsxDEV3("td", {
1337
+ /* @__PURE__ */ jsxDEV4("td", {
1137
1338
  className: "px-4 py-3",
1138
1339
  children: "Low"
1139
1340
  }, undefined, false, undefined, this),
1140
- /* @__PURE__ */ jsxDEV3("td", {
1341
+ /* @__PURE__ */ jsxDEV4("td", {
1141
1342
  className: "px-4 py-3",
1142
1343
  children: "Agent scratchpads, session context, drafts"
1143
1344
  }, undefined, false, undefined, this),
1144
- /* @__PURE__ */ jsxDEV3("td", {
1345
+ /* @__PURE__ */ jsxDEV4("td", {
1145
1346
  className: "px-4 py-3",
1146
1347
  children: "Never used for decisions"
1147
1348
  }, undefined, false, undefined, this)
@@ -1154,18 +1355,18 @@ steps:
1154
1355
  }, undefined, false, undefined, this)
1155
1356
  ]
1156
1357
  }, undefined, true, undefined, this),
1157
- /* @__PURE__ */ jsxDEV3("div", {
1358
+ /* @__PURE__ */ jsxDEV4("div", {
1158
1359
  className: "space-y-4",
1159
1360
  children: [
1160
- /* @__PURE__ */ jsxDEV3("h2", {
1361
+ /* @__PURE__ */ jsxDEV4("h2", {
1161
1362
  className: "text-2xl font-bold",
1162
1363
  children: "Multi-space workflows"
1163
1364
  }, undefined, false, undefined, this),
1164
- /* @__PURE__ */ jsxDEV3("p", {
1365
+ /* @__PURE__ */ jsxDEV4("p", {
1165
1366
  className: "text-muted-foreground",
1166
1367
  children: "Workflows can query multiple knowledge spaces and combine results:"
1167
1368
  }, undefined, false, undefined, this),
1168
- /* @__PURE__ */ jsxDEV3(CodeBlock3, {
1369
+ /* @__PURE__ */ jsxDEV4(CodeBlock4, {
1169
1370
  language: "typescript",
1170
1371
  code: `knowledgeBindings: [
1171
1372
  {
@@ -1199,64 +1400,64 @@ steps:
1199
1400
  }, undefined, false, undefined, this)
1200
1401
  ]
1201
1402
  }, undefined, true, undefined, this),
1202
- /* @__PURE__ */ jsxDEV3("div", {
1403
+ /* @__PURE__ */ jsxDEV4("div", {
1203
1404
  className: "space-y-4",
1204
1405
  children: [
1205
- /* @__PURE__ */ jsxDEV3("h2", {
1406
+ /* @__PURE__ */ jsxDEV4("h2", {
1206
1407
  className: "text-2xl font-bold",
1207
1408
  children: "Security & validation"
1208
1409
  }, undefined, false, undefined, this),
1209
- /* @__PURE__ */ jsxDEV3("ul", {
1410
+ /* @__PURE__ */ jsxDEV4("ul", {
1210
1411
  className: "text-muted-foreground list-inside list-disc space-y-2",
1211
1412
  children: [
1212
- /* @__PURE__ */ jsxDEV3("li", {
1413
+ /* @__PURE__ */ jsxDEV4("li", {
1213
1414
  children: "Knowledge sources are validated before sync - credentials and permissions checked"
1214
1415
  }, undefined, false, undefined, this),
1215
- /* @__PURE__ */ jsxDEV3("li", {
1416
+ /* @__PURE__ */ jsxDEV4("li", {
1216
1417
  children: "PDP enforces which workflows/agents can access which spaces"
1217
1418
  }, undefined, false, undefined, this),
1218
- /* @__PURE__ */ jsxDEV3("li", {
1419
+ /* @__PURE__ */ jsxDEV4("li", {
1219
1420
  children: "All knowledge queries are audited with search terms and results"
1220
1421
  }, undefined, false, undefined, this),
1221
- /* @__PURE__ */ jsxDEV3("li", {
1422
+ /* @__PURE__ */ jsxDEV4("li", {
1222
1423
  children: "Canonical knowledge is immutable once indexed - changes require re-sync"
1223
1424
  }, undefined, false, undefined, this),
1224
- /* @__PURE__ */ jsxDEV3("li", {
1425
+ /* @__PURE__ */ jsxDEV4("li", {
1225
1426
  children: "Ephemeral knowledge is automatically purged based on retention policies"
1226
1427
  }, undefined, false, undefined, this)
1227
1428
  ]
1228
1429
  }, undefined, true, undefined, this)
1229
1430
  ]
1230
1431
  }, undefined, true, undefined, this),
1231
- /* @__PURE__ */ jsxDEV3("div", {
1432
+ /* @__PURE__ */ jsxDEV4("div", {
1232
1433
  className: "space-y-4",
1233
1434
  children: [
1234
- /* @__PURE__ */ jsxDEV3("h2", {
1435
+ /* @__PURE__ */ jsxDEV4("h2", {
1235
1436
  className: "text-2xl font-bold",
1236
1437
  children: "Best practices"
1237
1438
  }, undefined, false, undefined, this),
1238
- /* @__PURE__ */ jsxDEV3("ul", {
1439
+ /* @__PURE__ */ jsxDEV4("ul", {
1239
1440
  className: "text-muted-foreground list-inside list-disc space-y-2",
1240
1441
  children: [
1241
- /* @__PURE__ */ jsxDEV3("li", {
1442
+ /* @__PURE__ */ jsxDEV4("li", {
1242
1443
  children: "Use canonical spaces for policy-critical decisions, operational for suggestions"
1243
1444
  }, undefined, false, undefined, this),
1244
- /* @__PURE__ */ jsxDEV3("li", {
1445
+ /* @__PURE__ */ jsxDEV4("li", {
1245
1446
  children: "Never allow workflows to write to canonical spaces - maintain read-only access"
1246
1447
  }, undefined, false, undefined, this),
1247
- /* @__PURE__ */ jsxDEV3("li", {
1448
+ /* @__PURE__ */ jsxDEV4("li", {
1248
1449
  children: "Set up monitoring for sync failures and stale knowledge sources"
1249
1450
  }, undefined, false, undefined, this),
1250
- /* @__PURE__ */ jsxDEV3("li", {
1451
+ /* @__PURE__ */ jsxDEV4("li", {
1251
1452
  children: "Document the purpose and trust level of each knowledge space"
1252
1453
  }, undefined, false, undefined, this),
1253
- /* @__PURE__ */ jsxDEV3("li", {
1454
+ /* @__PURE__ */ jsxDEV4("li", {
1254
1455
  children: "Test knowledge queries in sandbox before promoting to production"
1255
1456
  }, undefined, false, undefined, this),
1256
- /* @__PURE__ */ jsxDEV3("li", {
1457
+ /* @__PURE__ */ jsxDEV4("li", {
1257
1458
  children: [
1258
1459
  "Use explicit ",
1259
- /* @__PURE__ */ jsxDEV3("code", {
1460
+ /* @__PURE__ */ jsxDEV4("code", {
1260
1461
  children: "allowedConsumers"
1261
1462
  }, undefined, false, undefined, this),
1262
1463
  " - avoid wildcard access"
@@ -1266,20 +1467,20 @@ steps:
1266
1467
  }, undefined, true, undefined, this)
1267
1468
  ]
1268
1469
  }, undefined, true, undefined, this),
1269
- /* @__PURE__ */ jsxDEV3("div", {
1470
+ /* @__PURE__ */ jsxDEV4("div", {
1270
1471
  className: "flex items-center gap-4 pt-4",
1271
1472
  children: [
1272
- /* @__PURE__ */ jsxDEV3(Link3, {
1473
+ /* @__PURE__ */ jsxDEV4(Link4, {
1273
1474
  href: "/docs/architecture/integration-binding",
1274
1475
  className: "btn-ghost",
1275
1476
  children: "Previous: Integration Binding"
1276
1477
  }, undefined, false, undefined, this),
1277
- /* @__PURE__ */ jsxDEV3(Link3, {
1478
+ /* @__PURE__ */ jsxDEV4(Link4, {
1278
1479
  href: "/docs/knowledge",
1279
1480
  className: "btn-primary",
1280
1481
  children: [
1281
1482
  "Knowledge & Context ",
1282
- /* @__PURE__ */ jsxDEV3(ChevronRight3, {
1483
+ /* @__PURE__ */ jsxDEV4(ChevronRight4, {
1283
1484
  size: 16
1284
1485
  }, undefined, false, undefined, this)
1285
1486
  ]
@@ -1291,60 +1492,60 @@ steps:
1291
1492
  }
1292
1493
 
1293
1494
  // src/components/docs/architecture/ArchitectureMultiTenancyPage.tsx
1294
- import { CodeBlock as CodeBlock4 } from "@contractspec/lib.design-system";
1295
- import Link4 from "@contractspec/lib.ui-link";
1296
- import { ChevronRight as ChevronRight4 } from "lucide-react";
1297
- import { jsxDEV as jsxDEV4 } from "react/jsx-dev-runtime";
1495
+ import { CodeBlock as CodeBlock5 } from "@contractspec/lib.design-system";
1496
+ import Link5 from "@contractspec/lib.ui-link";
1497
+ import { ChevronRight as ChevronRight5 } from "lucide-react";
1498
+ import { jsxDEV as jsxDEV5 } from "react/jsx-dev-runtime";
1298
1499
  function ArchitectureMultiTenancyPage() {
1299
- return /* @__PURE__ */ jsxDEV4("div", {
1500
+ return /* @__PURE__ */ jsxDEV5("div", {
1300
1501
  className: "space-y-8",
1301
1502
  children: [
1302
- /* @__PURE__ */ jsxDEV4("div", {
1503
+ /* @__PURE__ */ jsxDEV5("div", {
1303
1504
  className: "space-y-4",
1304
1505
  children: [
1305
- /* @__PURE__ */ jsxDEV4("h1", {
1506
+ /* @__PURE__ */ jsxDEV5("h1", {
1306
1507
  className: "text-4xl font-bold",
1307
1508
  children: "Multi-Tenancy"
1308
1509
  }, undefined, false, undefined, this),
1309
- /* @__PURE__ */ jsxDEV4("p", {
1510
+ /* @__PURE__ */ jsxDEV5("p", {
1310
1511
  className: "text-muted-foreground",
1311
1512
  children: "ContractSpec is designed from the ground up for multi-tenancy. Apps built with ContractSpec can serve multiple organizations (tenants) from a single deployment, while ensuring strict data isolation and configuration separation."
1312
1513
  }, undefined, false, undefined, this)
1313
1514
  ]
1314
1515
  }, undefined, true, undefined, this),
1315
- /* @__PURE__ */ jsxDEV4("div", {
1516
+ /* @__PURE__ */ jsxDEV5("div", {
1316
1517
  className: "space-y-4",
1317
1518
  children: [
1318
- /* @__PURE__ */ jsxDEV4("h2", {
1519
+ /* @__PURE__ */ jsxDEV5("h2", {
1319
1520
  className: "text-2xl font-bold",
1320
1521
  children: "Core Concepts"
1321
1522
  }, undefined, false, undefined, this),
1322
- /* @__PURE__ */ jsxDEV4("ul", {
1523
+ /* @__PURE__ */ jsxDEV5("ul", {
1323
1524
  className: "text-muted-foreground list-inside list-disc space-y-2",
1324
1525
  children: [
1325
- /* @__PURE__ */ jsxDEV4("li", {
1526
+ /* @__PURE__ */ jsxDEV5("li", {
1326
1527
  children: [
1327
- /* @__PURE__ */ jsxDEV4("strong", {
1528
+ /* @__PURE__ */ jsxDEV5("strong", {
1328
1529
  children: "Tenant"
1329
1530
  }, undefined, false, undefined, this),
1330
1531
  ": An organization or customer that uses your app. Each tenant has a unique ",
1331
- /* @__PURE__ */ jsxDEV4("code", {
1532
+ /* @__PURE__ */ jsxDEV5("code", {
1332
1533
  children: "tenantId"
1333
1534
  }, undefined, false, undefined, this),
1334
1535
  "."
1335
1536
  ]
1336
1537
  }, undefined, true, undefined, this),
1337
- /* @__PURE__ */ jsxDEV4("li", {
1538
+ /* @__PURE__ */ jsxDEV5("li", {
1338
1539
  children: [
1339
- /* @__PURE__ */ jsxDEV4("strong", {
1540
+ /* @__PURE__ */ jsxDEV5("strong", {
1340
1541
  children: "Tenant Isolation"
1341
1542
  }, undefined, false, undefined, this),
1342
1543
  ": Data and configuration for one tenant is never accessible to another tenant unless explicitly shared."
1343
1544
  ]
1344
1545
  }, undefined, true, undefined, this),
1345
- /* @__PURE__ */ jsxDEV4("li", {
1546
+ /* @__PURE__ */ jsxDEV5("li", {
1346
1547
  children: [
1347
- /* @__PURE__ */ jsxDEV4("strong", {
1548
+ /* @__PURE__ */ jsxDEV5("strong", {
1348
1549
  children: "Tenant Context"
1349
1550
  }, undefined, false, undefined, this),
1350
1551
  ": Every request and operation runs within the context of a specific tenant."
@@ -1354,72 +1555,72 @@ function ArchitectureMultiTenancyPage() {
1354
1555
  }, undefined, true, undefined, this)
1355
1556
  ]
1356
1557
  }, undefined, true, undefined, this),
1357
- /* @__PURE__ */ jsxDEV4("div", {
1558
+ /* @__PURE__ */ jsxDEV5("div", {
1358
1559
  className: "space-y-4",
1359
1560
  children: [
1360
- /* @__PURE__ */ jsxDEV4("h2", {
1561
+ /* @__PURE__ */ jsxDEV5("h2", {
1361
1562
  className: "text-2xl font-bold",
1362
1563
  children: "Tenant Resolution"
1363
1564
  }, undefined, false, undefined, this),
1364
- /* @__PURE__ */ jsxDEV4("p", {
1565
+ /* @__PURE__ */ jsxDEV5("p", {
1365
1566
  className: "text-muted-foreground",
1366
1567
  children: "The runtime automatically resolves the tenant context for every request based on:"
1367
1568
  }, undefined, false, undefined, this),
1368
- /* @__PURE__ */ jsxDEV4("ul", {
1569
+ /* @__PURE__ */ jsxDEV5("ul", {
1369
1570
  className: "text-muted-foreground list-inside list-disc space-y-2",
1370
1571
  children: [
1371
- /* @__PURE__ */ jsxDEV4("li", {
1572
+ /* @__PURE__ */ jsxDEV5("li", {
1372
1573
  children: [
1373
1574
  "Subdomain (e.g., ",
1374
- /* @__PURE__ */ jsxDEV4("code", {
1575
+ /* @__PURE__ */ jsxDEV5("code", {
1375
1576
  children: "acme.app.com"
1376
1577
  }, undefined, false, undefined, this),
1377
1578
  ")"
1378
1579
  ]
1379
1580
  }, undefined, true, undefined, this),
1380
- /* @__PURE__ */ jsxDEV4("li", {
1581
+ /* @__PURE__ */ jsxDEV5("li", {
1381
1582
  children: [
1382
1583
  "Custom Domain (e.g., ",
1383
- /* @__PURE__ */ jsxDEV4("code", {
1584
+ /* @__PURE__ */ jsxDEV5("code", {
1384
1585
  children: "portal.acme.com"
1385
1586
  }, undefined, false, undefined, this),
1386
1587
  ")"
1387
1588
  ]
1388
1589
  }, undefined, true, undefined, this),
1389
- /* @__PURE__ */ jsxDEV4("li", {
1590
+ /* @__PURE__ */ jsxDEV5("li", {
1390
1591
  children: [
1391
1592
  "Header (e.g., ",
1392
- /* @__PURE__ */ jsxDEV4("code", {
1593
+ /* @__PURE__ */ jsxDEV5("code", {
1393
1594
  children: "x-tenant-id: acme-corp"
1394
1595
  }, undefined, false, undefined, this),
1395
1596
  ")"
1396
1597
  ]
1397
1598
  }, undefined, true, undefined, this),
1398
- /* @__PURE__ */ jsxDEV4("li", {
1599
+ /* @__PURE__ */ jsxDEV5("li", {
1399
1600
  children: "Authentication Token (embedded tenant claim)"
1400
1601
  }, undefined, false, undefined, this)
1401
1602
  ]
1402
1603
  }, undefined, true, undefined, this)
1403
1604
  ]
1404
1605
  }, undefined, true, undefined, this),
1405
- /* @__PURE__ */ jsxDEV4("div", {
1606
+ /* @__PURE__ */ jsxDEV5("div", {
1406
1607
  className: "space-y-4",
1407
1608
  children: [
1408
- /* @__PURE__ */ jsxDEV4("h2", {
1609
+ /* @__PURE__ */ jsxDEV5("h2", {
1409
1610
  className: "text-2xl font-bold",
1410
1611
  children: "Configuration Isolation"
1411
1612
  }, undefined, false, undefined, this),
1412
- /* @__PURE__ */ jsxDEV4("p", {
1613
+ /* @__PURE__ */ jsxDEV5("p", {
1413
1614
  className: "text-muted-foreground",
1414
1615
  children: [
1415
1616
  "Each tenant has its own ",
1416
- /* @__PURE__ */ jsxDEV4("code", {
1617
+ /* @__PURE__ */ jsxDEV5("code", {
1417
1618
  children: "TenantAppConfig"
1418
1619
  }, undefined, false, undefined, this),
1419
1620
  " which defines:"
1420
1621
  ]
1421
1622
  }, undefined, true, undefined, this),
1422
- /* @__PURE__ */ jsxDEV4(CodeBlock4, {
1623
+ /* @__PURE__ */ jsxDEV5(CodeBlock5, {
1423
1624
  language: "typescript",
1424
1625
  code: `type TenantAppConfig = {
1425
1626
  tenantId: string;
@@ -1430,26 +1631,26 @@ function ArchitectureMultiTenancyPage() {
1430
1631
  featureFlags: Record<string, boolean>;
1431
1632
  };`
1432
1633
  }, undefined, false, undefined, this),
1433
- /* @__PURE__ */ jsxDEV4("p", {
1634
+ /* @__PURE__ */ jsxDEV5("p", {
1434
1635
  className: "text-muted-foreground mt-2",
1435
1636
  children: "This allows you to customize feature flags, integration connections, and knowledge sources per tenant without changing the application code."
1436
1637
  }, undefined, false, undefined, this)
1437
1638
  ]
1438
1639
  }, undefined, true, undefined, this),
1439
- /* @__PURE__ */ jsxDEV4("div", {
1640
+ /* @__PURE__ */ jsxDEV5("div", {
1440
1641
  className: "flex items-center gap-4 pt-4",
1441
1642
  children: [
1442
- /* @__PURE__ */ jsxDEV4(Link4, {
1643
+ /* @__PURE__ */ jsxDEV5(Link5, {
1443
1644
  href: "/docs/architecture",
1444
1645
  className: "btn-ghost",
1445
1646
  children: "Back to Architecture"
1446
1647
  }, undefined, false, undefined, this),
1447
- /* @__PURE__ */ jsxDEV4(Link4, {
1648
+ /* @__PURE__ */ jsxDEV5(Link5, {
1448
1649
  href: "/docs/libraries/multi-tenancy",
1449
1650
  className: "btn-primary",
1450
1651
  children: [
1451
1652
  "Multi-Tenancy Library ",
1452
- /* @__PURE__ */ jsxDEV4(ChevronRight4, {
1653
+ /* @__PURE__ */ jsxDEV5(ChevronRight5, {
1453
1654
  size: 16
1454
1655
  }, undefined, false, undefined, this)
1455
1656
  ]
@@ -1461,53 +1662,53 @@ function ArchitectureMultiTenancyPage() {
1461
1662
  }
1462
1663
 
1463
1664
  // src/components/docs/architecture/ArchitectureOverviewPage.tsx
1464
- import Link5 from "@contractspec/lib.ui-link";
1465
- import { ChevronRight as ChevronRight5 } from "lucide-react";
1466
- import { jsxDEV as jsxDEV5 } from "react/jsx-dev-runtime";
1665
+ import Link6 from "@contractspec/lib.ui-link";
1666
+ import { ChevronRight as ChevronRight6 } from "lucide-react";
1667
+ import { jsxDEV as jsxDEV6 } from "react/jsx-dev-runtime";
1467
1668
  function ArchitectureOverviewPage() {
1468
- return /* @__PURE__ */ jsxDEV5("div", {
1669
+ return /* @__PURE__ */ jsxDEV6("div", {
1469
1670
  className: "space-y-8",
1470
1671
  children: [
1471
- /* @__PURE__ */ jsxDEV5("div", {
1672
+ /* @__PURE__ */ jsxDEV6("div", {
1472
1673
  className: "space-y-4",
1473
1674
  children: [
1474
- /* @__PURE__ */ jsxDEV5("h1", {
1675
+ /* @__PURE__ */ jsxDEV6("h1", {
1475
1676
  className: "text-4xl font-bold",
1476
1677
  children: "Architecture"
1477
1678
  }, undefined, false, undefined, this),
1478
- /* @__PURE__ */ jsxDEV5("p", {
1679
+ /* @__PURE__ */ jsxDEV6("p", {
1479
1680
  className: "text-muted-foreground",
1480
- children: "ContractSpec's architecture is built on a foundation of typed specifications served by runtime adapters. This section covers the core architectural concepts: app configuration, integration binding, and knowledge management."
1681
+ children: "ContractSpec's architecture is built on a foundation of typed specifications served by runtime adapters. This section covers the core architectural concepts: app configuration, integration binding, control-plane governance, and knowledge management."
1481
1682
  }, undefined, false, undefined, this)
1482
1683
  ]
1483
1684
  }, undefined, true, undefined, this),
1484
- /* @__PURE__ */ jsxDEV5("div", {
1685
+ /* @__PURE__ */ jsxDEV6("div", {
1485
1686
  className: "space-y-4",
1486
1687
  children: [
1487
- /* @__PURE__ */ jsxDEV5("h2", {
1688
+ /* @__PURE__ */ jsxDEV6("h2", {
1488
1689
  className: "text-2xl font-bold",
1489
1690
  children: "Core layers"
1490
1691
  }, undefined, false, undefined, this),
1491
- /* @__PURE__ */ jsxDEV5("div", {
1692
+ /* @__PURE__ */ jsxDEV6("div", {
1492
1693
  className: "space-y-6",
1493
1694
  children: [
1494
- /* @__PURE__ */ jsxDEV5("div", {
1695
+ /* @__PURE__ */ jsxDEV6("div", {
1495
1696
  className: "space-y-3",
1496
1697
  children: [
1497
- /* @__PURE__ */ jsxDEV5("h3", {
1698
+ /* @__PURE__ */ jsxDEV6("h3", {
1498
1699
  className: "text-xl font-semibold",
1499
1700
  children: "1. Specification Layer"
1500
1701
  }, undefined, false, undefined, this),
1501
- /* @__PURE__ */ jsxDEV5("p", {
1702
+ /* @__PURE__ */ jsxDEV6("p", {
1502
1703
  className: "text-muted-foreground",
1503
1704
  children: "The foundation of ContractSpec. Typed specifications define what your application can do:"
1504
1705
  }, undefined, false, undefined, this),
1505
- /* @__PURE__ */ jsxDEV5("ul", {
1706
+ /* @__PURE__ */ jsxDEV6("ul", {
1506
1707
  className: "text-muted-foreground ml-4 list-inside list-disc space-y-2",
1507
1708
  children: [
1508
- /* @__PURE__ */ jsxDEV5("li", {
1709
+ /* @__PURE__ */ jsxDEV6("li", {
1509
1710
  children: [
1510
- /* @__PURE__ */ jsxDEV5(Link5, {
1711
+ /* @__PURE__ */ jsxDEV6(Link6, {
1511
1712
  href: "/docs/specs/capabilities",
1512
1713
  className: "text-violet-400 hover:text-violet-300",
1513
1714
  children: "CapabilitySpec"
@@ -1516,9 +1717,9 @@ function ArchitectureOverviewPage() {
1516
1717
  "- Operations and their inputs/outputs"
1517
1718
  ]
1518
1719
  }, undefined, true, undefined, this),
1519
- /* @__PURE__ */ jsxDEV5("li", {
1720
+ /* @__PURE__ */ jsxDEV6("li", {
1520
1721
  children: [
1521
- /* @__PURE__ */ jsxDEV5(Link5, {
1722
+ /* @__PURE__ */ jsxDEV6(Link6, {
1522
1723
  href: "/docs/specs/dataviews",
1523
1724
  className: "text-violet-400 hover:text-violet-300",
1524
1725
  children: "DataViewSpec"
@@ -1527,9 +1728,9 @@ function ArchitectureOverviewPage() {
1527
1728
  "- Data queries and presentation"
1528
1729
  ]
1529
1730
  }, undefined, true, undefined, this),
1530
- /* @__PURE__ */ jsxDEV5("li", {
1731
+ /* @__PURE__ */ jsxDEV6("li", {
1531
1732
  children: [
1532
- /* @__PURE__ */ jsxDEV5(Link5, {
1733
+ /* @__PURE__ */ jsxDEV6(Link6, {
1533
1734
  href: "/docs/specs/workflows",
1534
1735
  className: "text-violet-400 hover:text-violet-300",
1535
1736
  children: "WorkflowSpec"
@@ -1538,9 +1739,9 @@ function ArchitectureOverviewPage() {
1538
1739
  "- Multi-step processes"
1539
1740
  ]
1540
1741
  }, undefined, true, undefined, this),
1541
- /* @__PURE__ */ jsxDEV5("li", {
1742
+ /* @__PURE__ */ jsxDEV6("li", {
1542
1743
  children: [
1543
- /* @__PURE__ */ jsxDEV5(Link5, {
1744
+ /* @__PURE__ */ jsxDEV6(Link6, {
1544
1745
  href: "/docs/specs/policy",
1545
1746
  className: "text-violet-400 hover:text-violet-300",
1546
1747
  children: "PolicySpec"
@@ -1549,9 +1750,9 @@ function ArchitectureOverviewPage() {
1549
1750
  "- Access control and data protection"
1550
1751
  ]
1551
1752
  }, undefined, true, undefined, this),
1552
- /* @__PURE__ */ jsxDEV5("li", {
1753
+ /* @__PURE__ */ jsxDEV6("li", {
1553
1754
  children: [
1554
- /* @__PURE__ */ jsxDEV5(Link5, {
1755
+ /* @__PURE__ */ jsxDEV6(Link6, {
1555
1756
  href: "/docs/integrations/spec-model",
1556
1757
  className: "text-violet-400 hover:text-violet-300",
1557
1758
  children: "IntegrationSpec"
@@ -1560,9 +1761,9 @@ function ArchitectureOverviewPage() {
1560
1761
  "- External service providers"
1561
1762
  ]
1562
1763
  }, undefined, true, undefined, this),
1563
- /* @__PURE__ */ jsxDEV5("li", {
1764
+ /* @__PURE__ */ jsxDEV6("li", {
1564
1765
  children: [
1565
- /* @__PURE__ */ jsxDEV5(Link5, {
1766
+ /* @__PURE__ */ jsxDEV6(Link6, {
1566
1767
  href: "/docs/knowledge/spaces",
1567
1768
  className: "text-violet-400 hover:text-violet-300",
1568
1769
  children: "KnowledgeSpaceSpec"
@@ -1575,23 +1776,23 @@ function ArchitectureOverviewPage() {
1575
1776
  }, undefined, true, undefined, this)
1576
1777
  ]
1577
1778
  }, undefined, true, undefined, this),
1578
- /* @__PURE__ */ jsxDEV5("div", {
1779
+ /* @__PURE__ */ jsxDEV6("div", {
1579
1780
  className: "space-y-3",
1580
1781
  children: [
1581
- /* @__PURE__ */ jsxDEV5("h3", {
1782
+ /* @__PURE__ */ jsxDEV6("h3", {
1582
1783
  className: "text-xl font-semibold",
1583
1784
  children: "2. Configuration Layer"
1584
1785
  }, undefined, false, undefined, this),
1585
- /* @__PURE__ */ jsxDEV5("p", {
1786
+ /* @__PURE__ */ jsxDEV6("p", {
1586
1787
  className: "text-muted-foreground",
1587
1788
  children: "How applications are configured and customized:"
1588
1789
  }, undefined, false, undefined, this),
1589
- /* @__PURE__ */ jsxDEV5("ul", {
1790
+ /* @__PURE__ */ jsxDEV6("ul", {
1590
1791
  className: "text-muted-foreground ml-4 list-inside list-disc space-y-2",
1591
1792
  children: [
1592
- /* @__PURE__ */ jsxDEV5("li", {
1793
+ /* @__PURE__ */ jsxDEV6("li", {
1593
1794
  children: [
1594
- /* @__PURE__ */ jsxDEV5(Link5, {
1795
+ /* @__PURE__ */ jsxDEV6(Link6, {
1595
1796
  href: "/docs/architecture/app-config",
1596
1797
  className: "text-violet-400 hover:text-violet-300",
1597
1798
  children: "AppBlueprintSpec"
@@ -1600,9 +1801,9 @@ function ArchitectureOverviewPage() {
1600
1801
  "- Global, versioned app definition"
1601
1802
  ]
1602
1803
  }, undefined, true, undefined, this),
1603
- /* @__PURE__ */ jsxDEV5("li", {
1804
+ /* @__PURE__ */ jsxDEV6("li", {
1604
1805
  children: [
1605
- /* @__PURE__ */ jsxDEV5(Link5, {
1806
+ /* @__PURE__ */ jsxDEV6(Link6, {
1606
1807
  href: "/docs/architecture/app-config",
1607
1808
  className: "text-violet-400 hover:text-violet-300",
1608
1809
  children: "TenantAppConfig"
@@ -1611,9 +1812,9 @@ function ArchitectureOverviewPage() {
1611
1812
  "- Per-tenant, per-environment configuration"
1612
1813
  ]
1613
1814
  }, undefined, true, undefined, this),
1614
- /* @__PURE__ */ jsxDEV5("li", {
1815
+ /* @__PURE__ */ jsxDEV6("li", {
1615
1816
  children: [
1616
- /* @__PURE__ */ jsxDEV5(Link5, {
1817
+ /* @__PURE__ */ jsxDEV6(Link6, {
1617
1818
  href: "/docs/architecture/integration-binding",
1618
1819
  className: "text-violet-400 hover:text-violet-300",
1619
1820
  children: "AppIntegrationBinding"
@@ -1622,9 +1823,9 @@ function ArchitectureOverviewPage() {
1622
1823
  "- How apps use integrations"
1623
1824
  ]
1624
1825
  }, undefined, true, undefined, this),
1625
- /* @__PURE__ */ jsxDEV5("li", {
1826
+ /* @__PURE__ */ jsxDEV6("li", {
1626
1827
  children: [
1627
- /* @__PURE__ */ jsxDEV5(Link5, {
1828
+ /* @__PURE__ */ jsxDEV6(Link6, {
1628
1829
  href: "/docs/architecture/knowledge-binding",
1629
1830
  className: "text-violet-400 hover:text-violet-300",
1630
1831
  children: "AppKnowledgeBinding"
@@ -1637,55 +1838,66 @@ function ArchitectureOverviewPage() {
1637
1838
  }, undefined, true, undefined, this)
1638
1839
  ]
1639
1840
  }, undefined, true, undefined, this),
1640
- /* @__PURE__ */ jsxDEV5("div", {
1841
+ /* @__PURE__ */ jsxDEV6("div", {
1641
1842
  className: "space-y-3",
1642
1843
  children: [
1643
- /* @__PURE__ */ jsxDEV5("h3", {
1844
+ /* @__PURE__ */ jsxDEV6("h3", {
1644
1845
  className: "text-xl font-semibold",
1645
1846
  children: "3. Runtime Layer"
1646
1847
  }, undefined, false, undefined, this),
1647
- /* @__PURE__ */ jsxDEV5("p", {
1848
+ /* @__PURE__ */ jsxDEV6("p", {
1648
1849
  className: "text-muted-foreground",
1649
1850
  children: "How specifications are executed at runtime:"
1650
1851
  }, undefined, false, undefined, this),
1651
- /* @__PURE__ */ jsxDEV5("ul", {
1852
+ /* @__PURE__ */ jsxDEV6("ul", {
1652
1853
  className: "text-muted-foreground ml-4 list-inside list-disc space-y-2",
1653
1854
  children: [
1654
- /* @__PURE__ */ jsxDEV5("li", {
1855
+ /* @__PURE__ */ jsxDEV6("li", {
1655
1856
  children: [
1656
- /* @__PURE__ */ jsxDEV5("strong", {
1857
+ /* @__PURE__ */ jsxDEV6("strong", {
1657
1858
  children: "ResolvedAppConfig"
1658
1859
  }, undefined, false, undefined, this),
1659
1860
  " - Merged blueprint + tenant config"
1660
1861
  ]
1661
1862
  }, undefined, true, undefined, this),
1662
- /* @__PURE__ */ jsxDEV5("li", {
1863
+ /* @__PURE__ */ jsxDEV6("li", {
1663
1864
  children: [
1664
- /* @__PURE__ */ jsxDEV5("strong", {
1865
+ /* @__PURE__ */ jsxDEV6("strong", {
1665
1866
  children: "Policy Decision Point (PDP)"
1666
1867
  }, undefined, false, undefined, this),
1667
1868
  " - Enforces policies on every operation"
1668
1869
  ]
1669
1870
  }, undefined, true, undefined, this),
1670
- /* @__PURE__ */ jsxDEV5("li", {
1871
+ /* @__PURE__ */ jsxDEV6("li", {
1671
1872
  children: [
1672
- /* @__PURE__ */ jsxDEV5("strong", {
1873
+ /* @__PURE__ */ jsxDEV6(Link6, {
1874
+ href: "/docs/architecture/control-plane",
1875
+ className: "text-violet-400 hover:text-violet-300",
1876
+ children: "Control Plane Runtime"
1877
+ }, undefined, false, undefined, this),
1878
+ " ",
1879
+ "- Deterministic intent to plan to policy to execution loop"
1880
+ ]
1881
+ }, undefined, true, undefined, this),
1882
+ /* @__PURE__ */ jsxDEV6("li", {
1883
+ children: [
1884
+ /* @__PURE__ */ jsxDEV6("strong", {
1673
1885
  children: "Presentation Runtime"
1674
1886
  }, undefined, false, undefined, this),
1675
1887
  " - React and React Native renderers"
1676
1888
  ]
1677
1889
  }, undefined, true, undefined, this),
1678
- /* @__PURE__ */ jsxDEV5("li", {
1890
+ /* @__PURE__ */ jsxDEV6("li", {
1679
1891
  children: [
1680
- /* @__PURE__ */ jsxDEV5("strong", {
1892
+ /* @__PURE__ */ jsxDEV6("strong", {
1681
1893
  children: "Integration Connectors"
1682
1894
  }, undefined, false, undefined, this),
1683
1895
  " - Execute external API calls"
1684
1896
  ]
1685
1897
  }, undefined, true, undefined, this),
1686
- /* @__PURE__ */ jsxDEV5("li", {
1898
+ /* @__PURE__ */ jsxDEV6("li", {
1687
1899
  children: [
1688
- /* @__PURE__ */ jsxDEV5("strong", {
1900
+ /* @__PURE__ */ jsxDEV6("strong", {
1689
1901
  children: "Knowledge Retrieval"
1690
1902
  }, undefined, false, undefined, this),
1691
1903
  " - Query vector databases and knowledge sources"
@@ -1699,110 +1911,110 @@ function ArchitectureOverviewPage() {
1699
1911
  }, undefined, true, undefined, this)
1700
1912
  ]
1701
1913
  }, undefined, true, undefined, this),
1702
- /* @__PURE__ */ jsxDEV5("div", {
1914
+ /* @__PURE__ */ jsxDEV6("div", {
1703
1915
  className: "space-y-4",
1704
1916
  children: [
1705
- /* @__PURE__ */ jsxDEV5("h2", {
1917
+ /* @__PURE__ */ jsxDEV6("h2", {
1706
1918
  className: "text-2xl font-bold",
1707
1919
  children: "Configuration model"
1708
1920
  }, undefined, false, undefined, this),
1709
- /* @__PURE__ */ jsxDEV5("p", {
1921
+ /* @__PURE__ */ jsxDEV6("p", {
1710
1922
  className: "text-muted-foreground",
1711
1923
  children: "ContractSpec uses a three-tier configuration model:"
1712
1924
  }, undefined, false, undefined, this),
1713
- /* @__PURE__ */ jsxDEV5("div", {
1925
+ /* @__PURE__ */ jsxDEV6("div", {
1714
1926
  className: "border-border/50 overflow-x-auto rounded-lg border",
1715
- children: /* @__PURE__ */ jsxDEV5("table", {
1927
+ children: /* @__PURE__ */ jsxDEV6("table", {
1716
1928
  className: "w-full text-left text-sm",
1717
1929
  children: [
1718
- /* @__PURE__ */ jsxDEV5("thead", {
1930
+ /* @__PURE__ */ jsxDEV6("thead", {
1719
1931
  className: "bg-card/50",
1720
- children: /* @__PURE__ */ jsxDEV5("tr", {
1932
+ children: /* @__PURE__ */ jsxDEV6("tr", {
1721
1933
  className: "border-border/50 border-b",
1722
1934
  children: [
1723
- /* @__PURE__ */ jsxDEV5("th", {
1935
+ /* @__PURE__ */ jsxDEV6("th", {
1724
1936
  className: "px-4 py-3 font-semibold",
1725
1937
  children: "Layer"
1726
1938
  }, undefined, false, undefined, this),
1727
- /* @__PURE__ */ jsxDEV5("th", {
1939
+ /* @__PURE__ */ jsxDEV6("th", {
1728
1940
  className: "px-4 py-3 font-semibold",
1729
1941
  children: "Type"
1730
1942
  }, undefined, false, undefined, this),
1731
- /* @__PURE__ */ jsxDEV5("th", {
1943
+ /* @__PURE__ */ jsxDEV6("th", {
1732
1944
  className: "px-4 py-3 font-semibold",
1733
1945
  children: "Scope"
1734
1946
  }, undefined, false, undefined, this),
1735
- /* @__PURE__ */ jsxDEV5("th", {
1947
+ /* @__PURE__ */ jsxDEV6("th", {
1736
1948
  className: "px-4 py-3 font-semibold",
1737
1949
  children: "Storage"
1738
1950
  }, undefined, false, undefined, this)
1739
1951
  ]
1740
1952
  }, undefined, true, undefined, this)
1741
1953
  }, undefined, false, undefined, this),
1742
- /* @__PURE__ */ jsxDEV5("tbody", {
1954
+ /* @__PURE__ */ jsxDEV6("tbody", {
1743
1955
  className: "divide-border/50 divide-y",
1744
1956
  children: [
1745
- /* @__PURE__ */ jsxDEV5("tr", {
1957
+ /* @__PURE__ */ jsxDEV6("tr", {
1746
1958
  children: [
1747
- /* @__PURE__ */ jsxDEV5("td", {
1959
+ /* @__PURE__ */ jsxDEV6("td", {
1748
1960
  className: "px-4 py-3 align-top",
1749
- children: /* @__PURE__ */ jsxDEV5("strong", {
1961
+ children: /* @__PURE__ */ jsxDEV6("strong", {
1750
1962
  children: "Blueprint"
1751
1963
  }, undefined, false, undefined, this)
1752
1964
  }, undefined, false, undefined, this),
1753
- /* @__PURE__ */ jsxDEV5("td", {
1965
+ /* @__PURE__ */ jsxDEV6("td", {
1754
1966
  className: "px-4 py-3 align-top font-mono text-xs",
1755
1967
  children: "AppBlueprintSpec"
1756
1968
  }, undefined, false, undefined, this),
1757
- /* @__PURE__ */ jsxDEV5("td", {
1969
+ /* @__PURE__ */ jsxDEV6("td", {
1758
1970
  className: "px-4 py-3 align-top",
1759
1971
  children: "Global, versioned, no tenant info"
1760
1972
  }, undefined, false, undefined, this),
1761
- /* @__PURE__ */ jsxDEV5("td", {
1973
+ /* @__PURE__ */ jsxDEV6("td", {
1762
1974
  className: "px-4 py-3 align-top",
1763
1975
  children: "Version control, immutable"
1764
1976
  }, undefined, false, undefined, this)
1765
1977
  ]
1766
1978
  }, undefined, true, undefined, this),
1767
- /* @__PURE__ */ jsxDEV5("tr", {
1979
+ /* @__PURE__ */ jsxDEV6("tr", {
1768
1980
  children: [
1769
- /* @__PURE__ */ jsxDEV5("td", {
1981
+ /* @__PURE__ */ jsxDEV6("td", {
1770
1982
  className: "px-4 py-3 align-top",
1771
- children: /* @__PURE__ */ jsxDEV5("strong", {
1983
+ children: /* @__PURE__ */ jsxDEV6("strong", {
1772
1984
  children: "Tenant Config"
1773
1985
  }, undefined, false, undefined, this)
1774
1986
  }, undefined, false, undefined, this),
1775
- /* @__PURE__ */ jsxDEV5("td", {
1987
+ /* @__PURE__ */ jsxDEV6("td", {
1776
1988
  className: "px-4 py-3 align-top font-mono text-xs",
1777
1989
  children: "TenantAppConfig"
1778
1990
  }, undefined, false, undefined, this),
1779
- /* @__PURE__ */ jsxDEV5("td", {
1991
+ /* @__PURE__ */ jsxDEV6("td", {
1780
1992
  className: "px-4 py-3 align-top",
1781
1993
  children: "Per-tenant, per-environment"
1782
1994
  }, undefined, false, undefined, this),
1783
- /* @__PURE__ */ jsxDEV5("td", {
1995
+ /* @__PURE__ */ jsxDEV6("td", {
1784
1996
  className: "px-4 py-3 align-top",
1785
1997
  children: "Database, mutable"
1786
1998
  }, undefined, false, undefined, this)
1787
1999
  ]
1788
2000
  }, undefined, true, undefined, this),
1789
- /* @__PURE__ */ jsxDEV5("tr", {
2001
+ /* @__PURE__ */ jsxDEV6("tr", {
1790
2002
  children: [
1791
- /* @__PURE__ */ jsxDEV5("td", {
2003
+ /* @__PURE__ */ jsxDEV6("td", {
1792
2004
  className: "px-4 py-3 align-top",
1793
- children: /* @__PURE__ */ jsxDEV5("strong", {
2005
+ children: /* @__PURE__ */ jsxDEV6("strong", {
1794
2006
  children: "Resolved Config"
1795
2007
  }, undefined, false, undefined, this)
1796
2008
  }, undefined, false, undefined, this),
1797
- /* @__PURE__ */ jsxDEV5("td", {
2009
+ /* @__PURE__ */ jsxDEV6("td", {
1798
2010
  className: "px-4 py-3 align-top font-mono text-xs",
1799
2011
  children: "ResolvedAppConfig"
1800
2012
  }, undefined, false, undefined, this),
1801
- /* @__PURE__ */ jsxDEV5("td", {
2013
+ /* @__PURE__ */ jsxDEV6("td", {
1802
2014
  className: "px-4 py-3 align-top",
1803
2015
  children: "Runtime, ephemeral"
1804
2016
  }, undefined, false, undefined, this),
1805
- /* @__PURE__ */ jsxDEV5("td", {
2017
+ /* @__PURE__ */ jsxDEV6("td", {
1806
2018
  className: "px-4 py-3 align-top",
1807
2019
  children: "In-memory, not persisted"
1808
2020
  }, undefined, false, undefined, this)
@@ -1815,59 +2027,59 @@ function ArchitectureOverviewPage() {
1815
2027
  }, undefined, false, undefined, this)
1816
2028
  ]
1817
2029
  }, undefined, true, undefined, this),
1818
- /* @__PURE__ */ jsxDEV5("div", {
2030
+ /* @__PURE__ */ jsxDEV6("div", {
1819
2031
  className: "space-y-4",
1820
2032
  children: [
1821
- /* @__PURE__ */ jsxDEV5("h2", {
2033
+ /* @__PURE__ */ jsxDEV6("h2", {
1822
2034
  className: "text-2xl font-bold",
1823
2035
  children: "Key architectural principles"
1824
2036
  }, undefined, false, undefined, this),
1825
- /* @__PURE__ */ jsxDEV5("ul", {
2037
+ /* @__PURE__ */ jsxDEV6("ul", {
1826
2038
  className: "text-muted-foreground list-inside list-disc space-y-2",
1827
2039
  children: [
1828
- /* @__PURE__ */ jsxDEV5("li", {
2040
+ /* @__PURE__ */ jsxDEV6("li", {
1829
2041
  children: [
1830
- /* @__PURE__ */ jsxDEV5("strong", {
2042
+ /* @__PURE__ */ jsxDEV6("strong", {
1831
2043
  children: "Spec-first"
1832
2044
  }, undefined, false, undefined, this),
1833
2045
  " - Everything is defined declaratively before code generation"
1834
2046
  ]
1835
2047
  }, undefined, true, undefined, this),
1836
- /* @__PURE__ */ jsxDEV5("li", {
2048
+ /* @__PURE__ */ jsxDEV6("li", {
1837
2049
  children: [
1838
- /* @__PURE__ */ jsxDEV5("strong", {
2050
+ /* @__PURE__ */ jsxDEV6("strong", {
1839
2051
  children: "Type-safe"
1840
2052
  }, undefined, false, undefined, this),
1841
2053
  " - All specifications are strongly typed and validated at compile time"
1842
2054
  ]
1843
2055
  }, undefined, true, undefined, this),
1844
- /* @__PURE__ */ jsxDEV5("li", {
2056
+ /* @__PURE__ */ jsxDEV6("li", {
1845
2057
  children: [
1846
- /* @__PURE__ */ jsxDEV5("strong", {
2058
+ /* @__PURE__ */ jsxDEV6("strong", {
1847
2059
  children: "Policy-enforced"
1848
2060
  }, undefined, false, undefined, this),
1849
2061
  " - Every operation passes through the PDP"
1850
2062
  ]
1851
2063
  }, undefined, true, undefined, this),
1852
- /* @__PURE__ */ jsxDEV5("li", {
2064
+ /* @__PURE__ */ jsxDEV6("li", {
1853
2065
  children: [
1854
- /* @__PURE__ */ jsxDEV5("strong", {
2066
+ /* @__PURE__ */ jsxDEV6("strong", {
1855
2067
  children: "Multi-tenant by default"
1856
2068
  }, undefined, false, undefined, this),
1857
2069
  " - Tenant isolation is built-in, not bolted on"
1858
2070
  ]
1859
2071
  }, undefined, true, undefined, this),
1860
- /* @__PURE__ */ jsxDEV5("li", {
2072
+ /* @__PURE__ */ jsxDEV6("li", {
1861
2073
  children: [
1862
- /* @__PURE__ */ jsxDEV5("strong", {
2074
+ /* @__PURE__ */ jsxDEV6("strong", {
1863
2075
  children: "Environment-aware"
1864
2076
  }, undefined, false, undefined, this),
1865
2077
  " - Separate configurations for sandbox, staging, production"
1866
2078
  ]
1867
2079
  }, undefined, true, undefined, this),
1868
- /* @__PURE__ */ jsxDEV5("li", {
2080
+ /* @__PURE__ */ jsxDEV6("li", {
1869
2081
  children: [
1870
- /* @__PURE__ */ jsxDEV5("strong", {
2082
+ /* @__PURE__ */ jsxDEV6("strong", {
1871
2083
  children: "Auditable"
1872
2084
  }, undefined, false, undefined, this),
1873
2085
  " - All operations are logged for compliance and debugging"
@@ -1877,25 +2089,30 @@ function ArchitectureOverviewPage() {
1877
2089
  }, undefined, true, undefined, this)
1878
2090
  ]
1879
2091
  }, undefined, true, undefined, this),
1880
- /* @__PURE__ */ jsxDEV5("div", {
2092
+ /* @__PURE__ */ jsxDEV6("div", {
1881
2093
  className: "flex items-center gap-4 pt-4",
1882
2094
  children: [
1883
- /* @__PURE__ */ jsxDEV5(Link5, {
2095
+ /* @__PURE__ */ jsxDEV6(Link6, {
1884
2096
  href: "/docs/architecture/app-config",
1885
2097
  className: "btn-primary",
1886
2098
  children: [
1887
2099
  "App Configuration ",
1888
- /* @__PURE__ */ jsxDEV5(ChevronRight5, {
2100
+ /* @__PURE__ */ jsxDEV6(ChevronRight6, {
1889
2101
  size: 16
1890
2102
  }, undefined, false, undefined, this)
1891
2103
  ]
1892
2104
  }, undefined, true, undefined, this),
1893
- /* @__PURE__ */ jsxDEV5(Link5, {
2105
+ /* @__PURE__ */ jsxDEV6(Link6, {
2106
+ href: "/docs/architecture/control-plane",
2107
+ className: "btn-ghost",
2108
+ children: "Control Plane Runtime"
2109
+ }, undefined, false, undefined, this),
2110
+ /* @__PURE__ */ jsxDEV6(Link6, {
1894
2111
  href: "/docs/integrations",
1895
2112
  className: "btn-ghost",
1896
2113
  children: "Integrations"
1897
2114
  }, undefined, false, undefined, this),
1898
- /* @__PURE__ */ jsxDEV5(Link5, {
2115
+ /* @__PURE__ */ jsxDEV6(Link6, {
1899
2116
  href: "/docs/knowledge",
1900
2117
  className: "btn-ghost",
1901
2118
  children: "Knowledge & Context"
@@ -1910,5 +2127,6 @@ export {
1910
2127
  ArchitectureMultiTenancyPage,
1911
2128
  ArchitectureKnowledgeBindingPage,
1912
2129
  ArchitectureIntegrationBindingPage,
2130
+ ArchitectureControlPlanePage,
1913
2131
  ArchitectureAppConfigPage
1914
2132
  };