@lssm/lib.contracts 0.0.0-canary-20251217052941 → 0.0.0-canary-20251217060433

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 (248) hide show
  1. package/dist/app-config/app-config.feature.d.ts +11 -0
  2. package/dist/app-config/branding.d.ts +55 -0
  3. package/dist/app-config/contracts.d.ts +244 -0
  4. package/dist/app-config/docs/app-config.docblock.d.ts +6 -0
  5. package/dist/app-config/events.d.ts +122 -0
  6. package/dist/app-config/index.d.ts +9 -0
  7. package/dist/app-config/lifecycle-contracts.d.ts +382 -0
  8. package/dist/app-config/lifecycle.d.ts +27 -0
  9. package/dist/app-config/runtime.d.ts +114 -0
  10. package/dist/app-config/spec.d.ts +175 -0
  11. package/dist/app-config/validation.d.ts +47 -0
  12. package/dist/capabilities/docs/capabilities.docblock.d.ts +6 -0
  13. package/dist/capabilities/openbanking.d.ts +9 -0
  14. package/dist/capabilities.d.ts +48 -0
  15. package/dist/client/index.d.ts +6 -0
  16. package/dist/client/react/drivers/rn-reusables.d.ts +22 -0
  17. package/dist/client/react/drivers/shadcn.d.ts +12 -0
  18. package/dist/client/react/feature-render.d.ts +19 -0
  19. package/dist/client/react/form-render.d.ts +91 -0
  20. package/dist/client/react/index.d.ts +5 -0
  21. package/dist/contract-registry/index.d.ts +3 -0
  22. package/dist/contract-registry/schemas.d.ts +124 -0
  23. package/dist/contract-registry/types.d.ts +46 -0
  24. package/dist/contracts-adapter-hydration.d.ts +15 -0
  25. package/dist/contracts-adapter-input.d.ts +10 -0
  26. package/dist/data-views/docs/data-views.docblock.d.ts +6 -0
  27. package/dist/data-views/query-generator.d.ts +39 -0
  28. package/dist/data-views/runtime.d.ts +26 -0
  29. package/dist/data-views.d.ts +131 -0
  30. package/dist/docs/PUBLISHING.docblock.d.ts +6 -0
  31. package/dist/docs/accessibility_wcag_compliance_specs.docblock.d.ts +6 -0
  32. package/dist/docs/index.d.ts +6 -0
  33. package/dist/docs/meta.docs.d.ts +6 -0
  34. package/dist/docs/presentations.d.ts +33 -0
  35. package/dist/docs/registry.d.ts +24 -0
  36. package/dist/docs/tech/PHASE_1_QUICKSTART.docblock.d.ts +6 -0
  37. package/dist/docs/tech/PHASE_2_AI_NATIVE_OPERATIONS.docblock.d.ts +6 -0
  38. package/dist/docs/tech/PHASE_3_AUTO_EVOLUTION.docblock.d.ts +6 -0
  39. package/dist/docs/tech/PHASE_4_PERSONALIZATION_ENGINE.docblock.d.ts +6 -0
  40. package/dist/docs/tech/PHASE_5_ZERO_TOUCH_OPERATIONS.docblock.d.ts +6 -0
  41. package/dist/docs/tech/auth/better-auth-nextjs.docblock.d.ts +6 -0
  42. package/dist/docs/tech/contracts/README.docblock.d.ts +6 -0
  43. package/dist/docs/tech/contracts/create-subscription.docblock.d.ts +6 -0
  44. package/dist/docs/tech/contracts/graphql-typed-outputs.docblock.d.ts +6 -0
  45. package/dist/docs/tech/contracts/migrations.docblock.d.ts +6 -0
  46. package/dist/docs/tech/contracts/openapi-export.docblock.d.ts +6 -0
  47. package/dist/docs/tech/contracts/ops-to-presentation-linking.docblock.d.ts +6 -0
  48. package/dist/docs/tech/contracts/overlays.docblock.d.ts +6 -0
  49. package/dist/docs/tech/contracts/tests.docblock.d.ts +6 -0
  50. package/dist/docs/tech/contracts/themes.docblock.d.ts +6 -0
  51. package/dist/docs/tech/contracts/vertical-pocket-family-office.docblock.d.ts +6 -0
  52. package/dist/docs/tech/lifecycle-stage-system.docblock.d.ts +6 -0
  53. package/dist/docs/tech/llm/llm-integration.docblock.d.ts +7 -0
  54. package/dist/docs/tech/mcp-endpoints.docblock.d.ts +6 -0
  55. package/dist/docs/tech/presentation-runtime.docblock.d.ts +6 -0
  56. package/dist/docs/tech/schema/README.docblock.d.ts +6 -0
  57. package/dist/docs/tech/studio/learning-events.docblock.d.ts +6 -0
  58. package/dist/docs/tech/studio/learning-journeys.docblock.d.ts +6 -0
  59. package/dist/docs/tech/studio/platform-admin-panel.docblock.d.ts +6 -0
  60. package/dist/docs/tech/studio/project-access-teams.docblock.d.ts +6 -0
  61. package/dist/docs/tech/studio/project-routing.docblock.d.ts +6 -0
  62. package/dist/docs/tech/studio/sandbox-unlogged.docblock.d.ts +6 -0
  63. package/dist/docs/tech/studio/team-invitations.docblock.d.ts +6 -0
  64. package/dist/docs/tech/studio/workspace-ops.docblock.d.ts +6 -0
  65. package/dist/docs/tech/studio/workspaces.docblock.d.ts +6 -0
  66. package/dist/docs/tech/telemetry-ingest.docblock.d.ts +6 -0
  67. package/dist/docs/tech/templates/runtime.docblock.d.ts +6 -0
  68. package/dist/docs/tech/vscode-extension.docblock.d.ts +6 -0
  69. package/dist/docs/tech/workflows/overview.docblock.d.ts +6 -0
  70. package/dist/docs/tech-contracts.docs.d.ts +6 -0
  71. package/dist/docs/types.d.ts +41 -0
  72. package/dist/events.d.ts +47 -0
  73. package/dist/experiments/docs/experiments.docblock.d.ts +6 -0
  74. package/dist/experiments/evaluator.d.ts +37 -0
  75. package/dist/experiments/spec-resolver.d.ts +16 -0
  76. package/dist/experiments/spec.d.ts +89 -0
  77. package/dist/features.d.ts +96 -0
  78. package/dist/forms/docs/forms.docblock.d.ts +6 -0
  79. package/dist/forms.d.ts +258 -0
  80. package/dist/index.d.ts +127 -0
  81. package/dist/install.d.ts +76 -0
  82. package/dist/integrations/binding.d.ts +17 -0
  83. package/dist/integrations/connection.d.ts +51 -0
  84. package/dist/integrations/contracts.d.ts +435 -0
  85. package/dist/integrations/docs/integrations.docblock.d.ts +6 -0
  86. package/dist/integrations/health.d.ts +21 -0
  87. package/dist/integrations/index.d.ts +34 -0
  88. package/dist/integrations/openbanking/contracts/accounts.d.ts +287 -0
  89. package/dist/integrations/openbanking/contracts/balances.d.ts +163 -0
  90. package/dist/integrations/openbanking/contracts/index.d.ts +10 -0
  91. package/dist/integrations/openbanking/contracts/transactions.d.ts +211 -0
  92. package/dist/integrations/openbanking/guards.d.ts +12 -0
  93. package/dist/integrations/openbanking/models.d.ts +228 -0
  94. package/dist/integrations/openbanking/openbanking.feature.d.ts +11 -0
  95. package/dist/integrations/openbanking/telemetry.d.ts +15 -0
  96. package/dist/integrations/providers/calendar.d.ts +78 -0
  97. package/dist/integrations/providers/elevenlabs.d.ts +7 -0
  98. package/dist/integrations/providers/email.d.ts +86 -0
  99. package/dist/integrations/providers/embedding.d.ts +24 -0
  100. package/dist/integrations/providers/gcs-storage.d.ts +7 -0
  101. package/dist/integrations/providers/gmail.d.ts +7 -0
  102. package/dist/integrations/providers/google-calendar.d.ts +7 -0
  103. package/dist/integrations/providers/impls/elevenlabs-voice.d.ts +20 -0
  104. package/dist/integrations/providers/impls/gcs-storage.d.ts +24 -0
  105. package/dist/integrations/providers/impls/gmail-inbound.d.ts +26 -0
  106. package/dist/integrations/providers/impls/gmail-outbound.d.ts +18 -0
  107. package/dist/integrations/providers/impls/google-calendar.d.ts +23 -0
  108. package/dist/integrations/providers/impls/index.d.ts +15 -0
  109. package/dist/integrations/providers/impls/mistral-embedding.d.ts +23 -0
  110. package/dist/integrations/providers/impls/mistral-llm.d.ts +31 -0
  111. package/dist/integrations/providers/impls/postmark-email.d.ts +19 -0
  112. package/dist/integrations/providers/impls/powens-client.d.ts +124 -0
  113. package/dist/integrations/providers/impls/powens-openbanking.d.ts +27 -0
  114. package/dist/integrations/providers/impls/provider-factory.d.ts +26 -0
  115. package/dist/integrations/providers/impls/qdrant-vector.d.ts +24 -0
  116. package/dist/integrations/providers/impls/stripe-payments.d.ts +28 -0
  117. package/dist/integrations/providers/impls/twilio-sms.d.ts +20 -0
  118. package/dist/integrations/providers/index.d.ts +22 -0
  119. package/dist/integrations/providers/llm.d.ts +82 -0
  120. package/dist/integrations/providers/mistral.d.ts +7 -0
  121. package/dist/integrations/providers/openbanking.d.ts +128 -0
  122. package/dist/integrations/providers/payments.d.ts +109 -0
  123. package/dist/integrations/providers/postmark.d.ts +7 -0
  124. package/dist/integrations/providers/powens.d.ts +7 -0
  125. package/dist/integrations/providers/qdrant.d.ts +7 -0
  126. package/dist/integrations/providers/registry.d.ts +11 -0
  127. package/dist/integrations/providers/sms.d.ts +34 -0
  128. package/dist/integrations/providers/storage.d.ts +60 -0
  129. package/dist/integrations/providers/stripe.d.ts +7 -0
  130. package/dist/integrations/providers/twilio-sms.d.ts +7 -0
  131. package/dist/integrations/providers/vector-store.d.ts +43 -0
  132. package/dist/integrations/providers/voice.d.ts +34 -0
  133. package/dist/integrations/runtime.d.ts +99 -0
  134. package/dist/integrations/secrets/aws-secret-manager.d.ts +31 -0
  135. package/dist/integrations/secrets/env-secret-provider.d.ts +31 -0
  136. package/dist/integrations/secrets/gcp-secret-manager.d.ts +32 -0
  137. package/dist/integrations/secrets/gcp-secret-manager.js +1 -1
  138. package/dist/integrations/secrets/index.d.ts +7 -0
  139. package/dist/integrations/secrets/manager.d.ts +47 -0
  140. package/dist/integrations/secrets/provider.d.ts +52 -0
  141. package/dist/integrations/secrets/scaleway-secret-manager.d.ts +38 -0
  142. package/dist/integrations/spec.d.ts +79 -0
  143. package/dist/jobs/define-job.d.ts +18 -0
  144. package/dist/jobs/gcp-cloud-tasks.d.ts +41 -0
  145. package/dist/jobs/gcp-pubsub.d.ts +25 -0
  146. package/dist/jobs/handlers/gmail-sync-handler.d.ts +9 -0
  147. package/dist/jobs/handlers/index.d.ts +9 -0
  148. package/dist/jobs/handlers/ping-handler.d.ts +10 -0
  149. package/dist/jobs/handlers/storage-document-handler.d.ts +12 -0
  150. package/dist/jobs/index.d.ts +3 -0
  151. package/dist/jobs/memory-queue.d.ts +18 -0
  152. package/dist/jobs/queue.d.ts +131 -0
  153. package/dist/jobs/scaleway-sqs-queue.d.ts +30 -0
  154. package/dist/jsonschema.d.ts +27 -0
  155. package/dist/knowledge/binding.d.ts +25 -0
  156. package/dist/knowledge/contracts.d.ts +316 -0
  157. package/dist/knowledge/docs/knowledge.docblock.d.ts +6 -0
  158. package/dist/knowledge/index.d.ts +10 -0
  159. package/dist/knowledge/ingestion/document-processor.d.ts +24 -0
  160. package/dist/knowledge/ingestion/embedding-service.d.ts +12 -0
  161. package/dist/knowledge/ingestion/gmail-adapter.d.ts +18 -0
  162. package/dist/knowledge/ingestion/index.d.ts +6 -0
  163. package/dist/knowledge/ingestion/storage-adapter.d.ts +15 -0
  164. package/dist/knowledge/ingestion/vector-indexer.d.ts +18 -0
  165. package/dist/knowledge/query/index.d.ts +2 -0
  166. package/dist/knowledge/query/service.d.ts +29 -0
  167. package/dist/knowledge/runtime.d.ts +32 -0
  168. package/dist/knowledge/source.d.ts +32 -0
  169. package/dist/knowledge/spaces/email-threads.d.ts +7 -0
  170. package/dist/knowledge/spaces/financial-docs.d.ts +7 -0
  171. package/dist/knowledge/spaces/financial-overview.d.ts +7 -0
  172. package/dist/knowledge/spaces/index.d.ts +7 -0
  173. package/dist/knowledge/spaces/product-canon.d.ts +7 -0
  174. package/dist/knowledge/spaces/support-faq.d.ts +7 -0
  175. package/dist/knowledge/spaces/uploaded-docs.d.ts +7 -0
  176. package/dist/knowledge/spec.d.ts +52 -0
  177. package/dist/llm/exporters.d.ts +67 -0
  178. package/dist/llm/index.d.ts +4 -0
  179. package/dist/llm/prompts.d.ts +51 -0
  180. package/dist/llm/types.d.ts +213 -0
  181. package/dist/markdown.d.ts +21 -0
  182. package/dist/migrations.d.ts +52 -0
  183. package/dist/onboarding-base.d.ts +137 -0
  184. package/dist/openapi.d.ts +31 -0
  185. package/dist/openbanking/docs/openbanking.docblock.d.ts +6 -0
  186. package/dist/ownership.d.ts +75 -0
  187. package/dist/policy/docs/policy.docblock.d.ts +6 -0
  188. package/dist/policy/engine.d.ts +39 -0
  189. package/dist/policy/opa-adapter.d.ts +45 -0
  190. package/dist/policy/spec.d.ts +114 -0
  191. package/dist/presentations/docs/presentations-conventions.docblock.d.ts +6 -0
  192. package/dist/presentations.backcompat.d.ts +7 -0
  193. package/dist/presentations.d.ts +98 -0
  194. package/dist/presentations.v2.d.ts +114 -0
  195. package/dist/prompt.d.ts +60 -0
  196. package/dist/promptRegistry.d.ts +15 -0
  197. package/dist/regenerator/adapters.d.ts +19 -0
  198. package/dist/regenerator/docs/regenerator.docblock.d.ts +6 -0
  199. package/dist/regenerator/executor.d.ts +70 -0
  200. package/dist/regenerator/index.d.ts +7 -0
  201. package/dist/regenerator/service.d.ts +33 -0
  202. package/dist/regenerator/sinks.d.ts +26 -0
  203. package/dist/regenerator/types.d.ts +107 -0
  204. package/dist/regenerator/utils.d.ts +9 -0
  205. package/dist/registry.d.ts +73 -0
  206. package/dist/resources.d.ts +64 -0
  207. package/dist/schema-to-markdown.d.ts +54 -0
  208. package/dist/server/graphql-pothos.d.ts +27 -0
  209. package/dist/server/index.d.ts +9 -0
  210. package/dist/server/mcp/createMcpServer.d.ts +15 -0
  211. package/dist/server/mcp/mcpTypes.d.ts +29 -0
  212. package/dist/server/mcp/registerPresentations.d.ts +7 -0
  213. package/dist/server/mcp/registerPrompts.d.ts +8 -0
  214. package/dist/server/mcp/registerResources.d.ts +8 -0
  215. package/dist/server/mcp/registerTools.d.ts +8 -0
  216. package/dist/server/provider-mcp.d.ts +2 -0
  217. package/dist/server/rest-elysia.d.ts +40 -0
  218. package/dist/server/rest-express.d.ts +16 -0
  219. package/dist/server/rest-generic.d.ts +32 -0
  220. package/dist/server/rest-next-app.d.ts +35 -0
  221. package/dist/server/rest-next-mcp.d.ts +11 -0
  222. package/dist/server/rest-next-pages.d.ts +9 -0
  223. package/dist/spec.d.ts +195 -0
  224. package/dist/telemetry/anomaly.d.ts +27 -0
  225. package/dist/telemetry/docs/telemetry.docblock.d.ts +6 -0
  226. package/dist/telemetry/index.d.ts +4 -0
  227. package/dist/telemetry/spec.d.ts +98 -0
  228. package/dist/telemetry/tracker.d.ts +51 -0
  229. package/dist/tests/index.d.ts +3 -0
  230. package/dist/tests/runner.d.ts +43 -0
  231. package/dist/tests/spec.d.ts +89 -0
  232. package/dist/themes.d.ts +55 -0
  233. package/dist/translations/catalog.d.ts +28 -0
  234. package/dist/translations/tenant.d.ts +15 -0
  235. package/dist/types/all.d.ts +60 -0
  236. package/dist/types.d.ts +88 -0
  237. package/dist/workflow/adapters/db-adapter.d.ts +34 -0
  238. package/dist/workflow/adapters/file-adapter.d.ts +14 -0
  239. package/dist/workflow/adapters/index.d.ts +4 -0
  240. package/dist/workflow/adapters/memory-store.d.ts +18 -0
  241. package/dist/workflow/expression.d.ts +9 -0
  242. package/dist/workflow/index.d.ts +10 -0
  243. package/dist/workflow/runner.d.ts +74 -0
  244. package/dist/workflow/sla-monitor.d.ts +20 -0
  245. package/dist/workflow/spec.d.ts +99 -0
  246. package/dist/workflow/state.d.ts +35 -0
  247. package/dist/workflow/validation.d.ts +28 -0
  248. package/package.json +250 -250
@@ -0,0 +1,27 @@
1
+ import { ResourceRegistry } from "../resources.js";
2
+ import { SpecRegistry } from "../registry.js";
3
+ import { SchemaTypes } from "@pothos/core";
4
+ import "@pothos/plugin-relay";
5
+
6
+ //#region src/server/graphql-pothos.d.ts
7
+
8
+ /**
9
+ * Registers all ContractSpecs from a SpecRegistry onto a Pothos SchemaBuilder.
10
+ *
11
+ * This adapter:
12
+ * 1. Discovers output types from specs and registers them as Pothos object types.
13
+ * 2. Maps `ContractSpec` inputs to Pothos input types.
14
+ * 3. Mounts `query` specs as `Query` fields and `command` specs as `Mutation` fields.
15
+ * 4. Wraps the resolver to:
16
+ * - Enforce auth policies (basic check).
17
+ * - Build a `HandlerCtx`.
18
+ * - Execute via `SpecRegistry`.
19
+ * - Hydrate resource references if applicable.
20
+ *
21
+ * @param builder - The Pothos SchemaBuilder instance.
22
+ * @param reg - The SpecRegistry containing operations.
23
+ * @param resources - (Optional) ResourceRegistry for hydrating resource references.
24
+ */
25
+ declare function registerContractsOnBuilder<T extends SchemaTypes>(builder: PothosSchemaTypes.SchemaBuilder<T>, reg: SpecRegistry, resources?: ResourceRegistry): void;
26
+ //#endregion
27
+ export { registerContractsOnBuilder };
@@ -0,0 +1,9 @@
1
+ import { registerContractsOnBuilder } from "./graphql-pothos.js";
2
+ import { createMcpServer } from "./mcp/createMcpServer.js";
3
+ import "./provider-mcp.js";
4
+ import { RestOptions, createFetchHandler } from "./rest-generic.js";
5
+ import { elysiaPlugin } from "./rest-elysia.js";
6
+ import { expressRouter } from "./rest-express.js";
7
+ import { makeNextAppHandler } from "./rest-next-app.js";
8
+ import { makeNextPagesHandler } from "./rest-next-pages.js";
9
+ export { RestOptions, createFetchHandler, createMcpServer, elysiaPlugin, expressRouter, makeNextAppHandler, makeNextPagesHandler, registerContractsOnBuilder };
@@ -0,0 +1,15 @@
1
+ import { ResourceRegistry } from "../../resources.js";
2
+ import { SpecRegistry } from "../../registry.js";
3
+ import { PromptRegistry } from "../../promptRegistry.js";
4
+ import { McpCtxFactories } from "./mcpTypes.js";
5
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
6
+
7
+ //#region src/server/mcp/createMcpServer.d.ts
8
+
9
+ /**
10
+ * Creates a unified Model Context Protocol (MCP) server exposing operations, resources, prompts,
11
+ * and (optionally) presentations.\n+ *
12
+ * ContractSpec exposes:\n+ * - Tools: `command` operations from `SpecRegistry`.\n+ * - Resources: templates from `ResourceRegistry`.\n+ * - Prompts: templates from `PromptRegistry`.\n+ * - Presentations: V1 registry and/or V2 descriptors as read-only resources.\n+ */
13
+ declare function createMcpServer(server: McpServer, ops: SpecRegistry, resources: ResourceRegistry, prompts: PromptRegistry, ctxFactories: McpCtxFactories): McpServer;
14
+ //#endregion
15
+ export { createMcpServer };
@@ -0,0 +1,29 @@
1
+ import { PresentationDescriptorV2 } from "../../presentations.v2.js";
2
+ import { PresentationRegistry } from "../../presentations.js";
3
+ import { HandlerCtx } from "../../types.js";
4
+ import { Logger } from "@lssm/lib.logger";
5
+
6
+ //#region src/server/mcp/mcpTypes.d.ts
7
+ interface McpCtxFactories {
8
+ logger: Logger;
9
+ /** Factory for tool execution context (e.g., system actor) */
10
+ toolCtx: () => HandlerCtx;
11
+ /** Factory for prompt rendering context */
12
+ promptCtx: () => {
13
+ userId?: string | null;
14
+ orgId?: string | null;
15
+ locale?: string;
16
+ };
17
+ /** Factory for resource resolution context */
18
+ resourceCtx: () => {
19
+ userId?: string | null;
20
+ orgId?: string | null;
21
+ locale?: string;
22
+ };
23
+ /** Optional registry for V1 presentations */
24
+ presentations?: PresentationRegistry;
25
+ /** Optional list of V2 presentation descriptors */
26
+ presentationsV2?: PresentationDescriptorV2[];
27
+ }
28
+ //#endregion
29
+ export { McpCtxFactories };
@@ -0,0 +1,7 @@
1
+ import { McpCtxFactories } from "./mcpTypes.js";
2
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
3
+
4
+ //#region src/server/mcp/registerPresentations.d.ts
5
+ declare function registerMcpPresentations(server: McpServer, ctx: Pick<McpCtxFactories, 'logger' | 'presentations' | 'presentationsV2'>): void;
6
+ //#endregion
7
+ export { registerMcpPresentations };
@@ -0,0 +1,8 @@
1
+ import { PromptRegistry } from "../../promptRegistry.js";
2
+ import { McpCtxFactories } from "./mcpTypes.js";
3
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
4
+
5
+ //#region src/server/mcp/registerPrompts.d.ts
6
+ declare function registerMcpPrompts(server: McpServer, prompts: PromptRegistry, ctx: Pick<McpCtxFactories, 'promptCtx'>): void;
7
+ //#endregion
8
+ export { registerMcpPrompts };
@@ -0,0 +1,8 @@
1
+ import { ResourceRegistry } from "../../resources.js";
2
+ import { McpCtxFactories } from "./mcpTypes.js";
3
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
4
+
5
+ //#region src/server/mcp/registerResources.d.ts
6
+ declare function registerMcpResources(server: McpServer, resources: ResourceRegistry, ctx: Pick<McpCtxFactories, 'logger' | 'resourceCtx'>): void;
7
+ //#endregion
8
+ export { registerMcpResources };
@@ -0,0 +1,8 @@
1
+ import { SpecRegistry } from "../../registry.js";
2
+ import { McpCtxFactories } from "./mcpTypes.js";
3
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
4
+
5
+ //#region src/server/mcp/registerTools.d.ts
6
+ declare function registerMcpTools(server: McpServer, ops: SpecRegistry, ctx: Pick<McpCtxFactories, 'toolCtx'>): void;
7
+ //#endregion
8
+ export { registerMcpTools };
@@ -0,0 +1,2 @@
1
+ import { createMcpServer } from "./mcp/createMcpServer.js";
2
+ export { createMcpServer };
@@ -0,0 +1,40 @@
1
+ import { HandlerCtx } from "../types.js";
2
+ import { SpecRegistry } from "../registry.js";
3
+ import { RestOptions } from "./rest-generic.js";
4
+ import { Elysia } from "elysia";
5
+
6
+ //#region src/server/rest-elysia.d.ts
7
+ /** Mount routes on an Elysia instance */
8
+ declare function elysiaPlugin(app: Elysia, reg: SpecRegistry, ctxFactory: (c: {
9
+ request: Request;
10
+ store: any;
11
+ }) => HandlerCtx, options?: RestOptions): Elysia<"", {
12
+ decorator: {};
13
+ store: {};
14
+ derive: {};
15
+ resolve: {};
16
+ }, {
17
+ typebox: {};
18
+ error: {};
19
+ }, {
20
+ schema: {};
21
+ standaloneSchema: {};
22
+ macro: {};
23
+ macroFn: {};
24
+ parser: {};
25
+ response: {};
26
+ }, {}, {
27
+ derive: {};
28
+ resolve: {};
29
+ schema: {};
30
+ standaloneSchema: {};
31
+ response: {};
32
+ }, {
33
+ derive: {};
34
+ resolve: {};
35
+ schema: {};
36
+ standaloneSchema: {};
37
+ response: {};
38
+ }>;
39
+ //#endregion
40
+ export { elysiaPlugin };
@@ -0,0 +1,16 @@
1
+ import { HandlerCtx } from "../types.js";
2
+ import { SpecRegistry } from "../registry.js";
3
+ import { RestOptions } from "./rest-generic.js";
4
+ import { Request, Router } from "express";
5
+
6
+ //#region src/server/rest-express.d.ts
7
+
8
+ /**
9
+ * Build an Express Router that proxies to the Fetch-style handler.
10
+ * You can mount it at any base path; pass the same basePath in options.
11
+ */
12
+ declare function expressRouter(express: {
13
+ Router: () => Router;
14
+ }, reg: SpecRegistry, ctxFactory: (req: Request) => HandlerCtx, options?: RestOptions): Router;
15
+ //#endregion
16
+ export { expressRouter };
@@ -0,0 +1,32 @@
1
+ import { HandlerCtx } from "../types.js";
2
+ import { SpecRegistry } from "../registry.js";
3
+
4
+ //#region src/server/rest-generic.d.ts
5
+ interface RestOptions {
6
+ /** Prefix all routes, e.g. "/api" */
7
+ basePath?: string;
8
+ /** If true, handle OPTIONS and set CORS headers */
9
+ cors?: boolean | {
10
+ origin?: string | '*';
11
+ methods?: string[];
12
+ headers?: string[];
13
+ credentials?: boolean;
14
+ maxAge?: number;
15
+ };
16
+ /** JSON spacing in responses (dev only ideally) */
17
+ prettyJson?: number | false;
18
+ /** Map thrown errors to {status, body} */
19
+ onError?: (err: unknown) => {
20
+ status: number;
21
+ body: any;
22
+ };
23
+ }
24
+ /**
25
+ * Build a single Fetch-style handler: (req) => Response
26
+ * - Discovers routes from SpecRegistry
27
+ * - Validates with zod via registry.execute()
28
+ * - Handles CORS (optional)
29
+ */
30
+ declare function createFetchHandler(reg: SpecRegistry, ctxFactory: (req: Request) => HandlerCtx, options?: RestOptions): (req: Request) => Promise<Response>;
31
+ //#endregion
32
+ export { RestOptions, createFetchHandler };
@@ -0,0 +1,35 @@
1
+ import { HandlerCtx } from "../types.js";
2
+ import { SpecRegistry } from "../registry.js";
3
+ import { RestOptions } from "./rest-generic.js";
4
+
5
+ //#region src/server/rest-next-app.d.ts
6
+
7
+ /**
8
+ * Creates a Next.js App Router route handler for ContractSpec operations.
9
+ *
10
+ * This function returns a handler suitable for `export const { GET, POST }` in a `route.ts` file.
11
+ * It handles:
12
+ * - Path parsing to determine the operation name and version.
13
+ * - Body parsing (JSON).
14
+ * - Context creation via `ctxFactory`.
15
+ * - Execution via `SpecRegistry`.
16
+ * - Response formatting (JSON success/error).
17
+ *
18
+ * @param reg - The SpecRegistry containing the operations.
19
+ * @param ctxFactory - A factory function to build the `HandlerCtx` (e.g., auth, tenant) from the request.
20
+ * @param options - Optional configuration for the REST handler.
21
+ * @returns A function `(req: Request) => Promise<Response>`.
22
+ *
23
+ * @example
24
+ * ```ts
25
+ * // app/api/[...route]/route.ts
26
+ * import { makeNextAppHandler } from '@lssm/lib.contracts/server/rest-next-app';
27
+ * import { registry } from '@/lib/registry';
28
+ *
29
+ * const handler = makeNextAppHandler(registry, (req) => ({ actor: 'anonymous' }));
30
+ * export { handler as GET, handler as POST };
31
+ * ```
32
+ */
33
+ declare function makeNextAppHandler(reg: SpecRegistry, ctxFactory: (req: Request) => HandlerCtx, options?: RestOptions): (req: Request) => Promise<Response>;
34
+ //#endregion
35
+ export { makeNextAppHandler };
@@ -0,0 +1,11 @@
1
+ import { HandlerCtx } from "../types.js";
2
+ import { SpecRegistry } from "../registry.js";
3
+
4
+ //#region src/server/rest-next-mcp.d.ts
5
+ declare function makeNextMcpServerFromRegistry(reg: SpecRegistry, ctxFactory: () => HandlerCtx): {
6
+ GET: (request: Request) => Promise<Response>;
7
+ POST: (request: Request) => Promise<Response>;
8
+ DELETE: (request: Request) => Promise<Response>;
9
+ };
10
+ //#endregion
11
+ export { makeNextMcpServerFromRegistry };
@@ -0,0 +1,9 @@
1
+ import { HandlerCtx } from "../types.js";
2
+ import { SpecRegistry } from "../registry.js";
3
+ import { RestOptions } from "./rest-generic.js";
4
+ import { NextApiRequest, NextApiResponse } from "next";
5
+
6
+ //#region src/server/rest-next-pages.d.ts
7
+ declare function makeNextPagesHandler(reg: SpecRegistry, ctxFactory: (req: NextApiRequest) => HandlerCtx, options?: RestOptions): (req: NextApiRequest, res: NextApiResponse) => Promise<void>;
8
+ //#endregion
9
+ export { makeNextPagesHandler };
package/dist/spec.d.ts ADDED
@@ -0,0 +1,195 @@
1
+ import { Owner, Stability, Tag } from "./ownership.js";
2
+ import { DocId } from "./docs/registry.js";
3
+ import { EventSpec } from "./events.js";
4
+ import { ResourceRefDescriptor } from "./resources.js";
5
+ import { PolicyRef } from "./policy/spec.js";
6
+ import { TestSpecRef } from "./tests/spec.js";
7
+ import { AnySchemaModel } from "@lssm/lib.schema";
8
+
9
+ //#region src/spec.d.ts
10
+
11
+ /**
12
+ * Distinguishes between state-changing operations (command) and read-only operations (query).
13
+ */
14
+ type OpKind = 'command' | 'query';
15
+ /**
16
+ * Type of implementation artifact.
17
+ */
18
+ type ImplementationType = 'handler' | 'component' | 'form' | 'test' | 'service' | 'hook' | 'other';
19
+ /**
20
+ * Reference to an implementation file for a spec.
21
+ * Used for explicit implementation mapping.
22
+ */
23
+ interface ImplementationRef {
24
+ /** Path to implementation file (relative to workspace root) */
25
+ path: string;
26
+ /** Type of implementation artifact */
27
+ type: ImplementationType;
28
+ /** Optional human-readable description */
29
+ description?: string;
30
+ }
31
+ interface EmitDeclRef {
32
+ ref: EventSpec<AnySchemaModel>;
33
+ when: string;
34
+ }
35
+ interface EmitDeclInline {
36
+ name: string;
37
+ version: number;
38
+ when: string;
39
+ payload: AnySchemaModel;
40
+ }
41
+ /**
42
+ * Declaration of an event that an operation may emit.
43
+ * Can be a reference to an `EventSpec` or an inline definition.
44
+ */
45
+ type EmitDecl = EmitDeclRef | EmitDeclInline;
46
+ declare const isEmitDeclRef: (e: EmitDecl) => e is EmitDeclRef;
47
+ interface TelemetryTrigger {
48
+ event: {
49
+ name: string;
50
+ version?: number;
51
+ };
52
+ properties?: (args: {
53
+ input: unknown;
54
+ output?: unknown;
55
+ error?: unknown;
56
+ }) => Record<string, unknown>;
57
+ }
58
+ /**
59
+ * The core specification interface for any operation (Command or Query).
60
+ *
61
+ * @template Input - The Zod-backed schema model for the input payload.
62
+ * @template Output - The Zod-backed schema model for the output payload, or a resource reference.
63
+ * @template Events - Tuple of events that this operation may emit.
64
+ */
65
+ interface ContractSpec<Input extends AnySchemaModel, Output extends AnySchemaModel | ResourceRefDescriptor<boolean>, Events extends readonly EmitDecl[] | undefined = readonly EmitDecl[] | undefined> {
66
+ meta: {
67
+ /** Fully-qualified op name (e.g., "sigil.beginSignup") */
68
+ name: string;
69
+ /** Breaking changes => bump version */
70
+ version: number;
71
+ /** "command" changes state; "query" is read-only/idempotent */
72
+ kind: OpKind;
73
+ /** Lifecycle marker for comms & tooling */
74
+ stability: Stability;
75
+ /** Owners for CODEOWNERS / on-call / approvals */
76
+ owners: Owner[];
77
+ /** Search tags, grouping, docs navigation */
78
+ tags: Tag[];
79
+ /** Short human-friendly summary */
80
+ description: string;
81
+ /** Business goal: why this exists */
82
+ goal: string;
83
+ /** Background, constraints, scope edges (feeds docs & LLM context) */
84
+ context: string;
85
+ /** Optional doc block id for this operation. */
86
+ docId?: DocId;
87
+ };
88
+ io: {
89
+ /** Zod schema for input payload */
90
+ input: Input | null;
91
+ /** Zod schema for output payload */
92
+ output: Output;
93
+ /** Named, typed errors this op may throw (optional) */
94
+ errors?: Record<string, {
95
+ description: string;
96
+ http?: number;
97
+ gqlCode?: string;
98
+ when: string;
99
+ }>;
100
+ };
101
+ policy: {
102
+ /** Minimal auth category allowed to call this op */
103
+ auth: 'anonymous' | 'user' | 'admin';
104
+ /** Idempotency hint. Queries default true; commands default false. */
105
+ idempotent?: boolean;
106
+ /** Soft rate limit suggestion; adapter enforces via limiter */
107
+ rateLimit?: {
108
+ rpm: number;
109
+ key: 'user' | 'org' | 'global';
110
+ };
111
+ /** Feature flags that must be ON for this op to run */
112
+ flags?: string[];
113
+ /** Whether a human must approve before action (e.g., risky commands) */
114
+ escalate?: 'human_review' | null;
115
+ /** JSONPath-like pointers to redact from logs/prompts */
116
+ pii?: string[];
117
+ /** Referenced policy specs governing access */
118
+ policies?: PolicyRef[];
119
+ /** Field-level overrides referencing policy specs */
120
+ fieldPolicies?: {
121
+ field: string;
122
+ actions: ('read' | 'write')[];
123
+ policy?: PolicyRef;
124
+ }[];
125
+ };
126
+ sideEffects?: {
127
+ /** Declared events this op may emit; runtime will guard against others */
128
+ emits?: Events;
129
+ /** Analytics intents (names); the service decides the sink */
130
+ analytics?: string[];
131
+ /** Audit intents (labels); the service decides storage */
132
+ audit?: string[];
133
+ };
134
+ telemetry?: {
135
+ success?: TelemetryTrigger;
136
+ failure?: TelemetryTrigger;
137
+ };
138
+ tests?: TestSpecRef[];
139
+ transport?: {
140
+ rest?: {
141
+ /** Override HTTP method (default: POST for commands, GET for queries) */
142
+ method?: 'GET' | 'POST';
143
+ /** Override path (default derived from meta.name/version) */
144
+ path?: string;
145
+ };
146
+ gql?: {
147
+ /** Override field name (default: dots→underscores + _vN) */
148
+ field?: string;
149
+ returns?: string;
150
+ };
151
+ mcp?: {
152
+ /** Override tool identifier (default: "<name>.v<version>") */
153
+ toolName?: string;
154
+ };
155
+ };
156
+ acceptance?: {
157
+ /** Gherkin-lite scenarios for docs & auto tests */
158
+ scenarios?: {
159
+ name: string;
160
+ given: string[];
161
+ when: string[];
162
+ then: string[];
163
+ }[];
164
+ /** Request/response examples (used for docs & snapshot tests) */
165
+ examples?: {
166
+ name: string;
167
+ input: unknown;
168
+ output: unknown;
169
+ }[];
170
+ };
171
+ /**
172
+ * Explicit implementation file mappings.
173
+ * Used for tracking and verifying that this spec is correctly implemented.
174
+ */
175
+ implementations?: ImplementationRef[];
176
+ }
177
+ type AnyContractSpec = ContractSpec<AnySchemaModel, AnySchemaModel | ResourceRefDescriptor<boolean>>;
178
+ /**
179
+ * Helper to define a Command (write operation).
180
+ * Sets `kind: 'command'` and defaults `idempotent: false`.
181
+ */
182
+ declare const defineCommand: <I extends AnySchemaModel, O extends AnySchemaModel | ResourceRefDescriptor<boolean>, E extends readonly EmitDecl[] | undefined = undefined>(spec: Omit<ContractSpec<I, O, E>, "meta" | "policy"> & {
183
+ meta: Omit<ContractSpec<I, O, E>["meta"], "kind">;
184
+ policy: Omit<ContractSpec<I, O, E>["policy"], "idempotent">;
185
+ }) => ContractSpec<I, O, E>;
186
+ /**
187
+ * Helper to define a Query (read-only operation).
188
+ * Sets `kind: 'query'` and forces `idempotent: true`.
189
+ */
190
+ declare const defineQuery: <I extends AnySchemaModel, O extends AnySchemaModel | ResourceRefDescriptor<boolean>, E extends readonly EmitDecl[] | undefined = undefined>(spec: Omit<ContractSpec<I, O, E>, "meta" | "policy"> & {
191
+ meta: Omit<ContractSpec<I, O, E>["meta"], "kind">;
192
+ policy: Omit<ContractSpec<I, O, E>["policy"], "idempotent">;
193
+ }) => ContractSpec<I, O, E>;
194
+ //#endregion
195
+ export { AnyContractSpec, ContractSpec, EmitDecl, EmitDeclInline, EmitDeclRef, ImplementationRef, ImplementationType, OpKind, TelemetryTrigger, defineCommand, defineQuery, isEmitDeclRef };
@@ -0,0 +1,27 @@
1
+ import { TelemetryAnomalyDetectionConfig } from "./spec.js";
2
+ import { TelemetryDispatch } from "./tracker.js";
3
+
4
+ //#region src/telemetry/anomaly.d.ts
5
+ interface TelemetryAnomalyEvent {
6
+ dispatch: TelemetryDispatch;
7
+ threshold: TelemetryAnomalyDetectionConfig;
8
+ metric: string;
9
+ value: number | undefined;
10
+ type: 'min' | 'max';
11
+ }
12
+ interface TelemetryAnomalyMonitorOptions {
13
+ onAnomaly?: (event: TelemetryAnomalyEvent) => void;
14
+ now?: () => Date;
15
+ }
16
+ declare class TelemetryAnomalyMonitor {
17
+ private readonly onAnomaly?;
18
+ private readonly now;
19
+ private readonly samples;
20
+ constructor(options?: TelemetryAnomalyMonitorOptions);
21
+ observe(dispatch: TelemetryDispatch): void;
22
+ private extractMetric;
23
+ private emit;
24
+ reset(): void;
25
+ }
26
+ //#endregion
27
+ export { TelemetryAnomalyEvent, TelemetryAnomalyMonitor, TelemetryAnomalyMonitorOptions };
@@ -0,0 +1,6 @@
1
+ import { DocBlock } from "@lssm/lib.contracts/docs";
2
+
3
+ //#region src/telemetry/docs/telemetry.docblock.d.ts
4
+ declare const tech_contracts_telemetry_DocBlocks: DocBlock[];
5
+ //#endregion
6
+ export { tech_contracts_telemetry_DocBlocks };
@@ -0,0 +1,4 @@
1
+ import { TelemetryAnomalyAction, TelemetryAnomalyDetectionConfig, TelemetryAnomalyThreshold, TelemetryConfig, TelemetryEventDef, TelemetryMeta, TelemetryPrivacyLevel, TelemetryPropertyDef, TelemetryProviderConfig, TelemetryRegistry, TelemetryRetentionConfig, TelemetrySamplingConfig, TelemetrySpec, makeTelemetryKey } from "./spec.js";
2
+ import { TelemetryAnomalyEvent, TelemetryAnomalyMonitor, TelemetryAnomalyMonitorOptions } from "./anomaly.js";
3
+ import { RuntimeTelemetryProvider, TelemetryDispatch, TelemetryEventContext, TelemetryTracker, TelemetryTrackerOptions } from "./tracker.js";
4
+ export { RuntimeTelemetryProvider, TelemetryAnomalyAction, TelemetryAnomalyDetectionConfig, TelemetryAnomalyEvent, TelemetryAnomalyMonitor, TelemetryAnomalyMonitorOptions, TelemetryAnomalyThreshold, TelemetryConfig, TelemetryDispatch, TelemetryEventContext, TelemetryEventDef, TelemetryMeta, TelemetryPrivacyLevel, TelemetryPropertyDef, TelemetryProviderConfig, TelemetryRegistry, TelemetryRetentionConfig, TelemetrySamplingConfig, TelemetrySpec, TelemetryTracker, TelemetryTrackerOptions, makeTelemetryKey };
@@ -0,0 +1,98 @@
1
+ import { OwnerShipMeta } from "../ownership.js";
2
+
3
+ //#region src/telemetry/spec.d.ts
4
+ type TelemetryPrivacyLevel = 'public' | 'internal' | 'pii' | 'sensitive';
5
+ interface TelemetryMeta extends OwnerShipMeta {
6
+ /** Fully-qualified telemetry spec name (e.g., "sigil.core"). */
7
+ name: string;
8
+ /** Incremented when telemetry definitions change in a breaking way. */
9
+ version: number;
10
+ /** Optional domain or bounded-context hint (e.g., "onboarding"). */
11
+ domain: string;
12
+ }
13
+ interface TelemetryPropertyDef {
14
+ type: 'string' | 'number' | 'boolean' | 'timestamp' | 'json';
15
+ required?: boolean;
16
+ pii?: boolean;
17
+ redact?: boolean;
18
+ description?: string;
19
+ }
20
+ interface TelemetryAnomalyThreshold {
21
+ metric: string;
22
+ min?: number;
23
+ max?: number;
24
+ }
25
+ type TelemetryAnomalyAction = 'alert' | 'log' | 'trigger_regen';
26
+ interface TelemetryAnomalyDetectionConfig {
27
+ enabled: boolean;
28
+ thresholds?: TelemetryAnomalyThreshold[];
29
+ actions?: TelemetryAnomalyAction[];
30
+ /**
31
+ * Minimum sample size before evaluating thresholds.
32
+ * Helps avoid false positives on small sample sizes.
33
+ */
34
+ minimumSample?: number;
35
+ }
36
+ interface TelemetrySamplingConfig {
37
+ rate: number;
38
+ conditions?: string[];
39
+ }
40
+ interface TelemetryRetentionConfig {
41
+ days: number;
42
+ policy?: 'archive' | 'delete';
43
+ }
44
+ interface TelemetryEventDef {
45
+ /** Name of the event (should match EventSpec.name for cross-reference). */
46
+ name: string;
47
+ /** Version of the underlying event. */
48
+ version: number;
49
+ /** High-level semantics for docs/analyzers. */
50
+ semantics: {
51
+ who?: string;
52
+ what: string;
53
+ why?: string;
54
+ };
55
+ /** Detailed property metadata keyed by property name. */
56
+ properties: Record<string, TelemetryPropertyDef>;
57
+ /** Privacy level for the entire event. */
58
+ privacy: TelemetryPrivacyLevel;
59
+ /** Retention policy overrides. */
60
+ retention?: TelemetryRetentionConfig;
61
+ /** Sampling rules, defaulting to spec.config defaults. */
62
+ sampling?: TelemetrySamplingConfig;
63
+ /** Anomaly detection overrides. */
64
+ anomalyDetection?: TelemetryAnomalyDetectionConfig;
65
+ /** Optional tags for analytics/AI hints. */
66
+ tags?: string[];
67
+ }
68
+ interface TelemetryProviderConfig {
69
+ type: 'posthog' | 'segment' | 'opentelemetry' | 'internal';
70
+ config: Record<string, unknown>;
71
+ }
72
+ interface TelemetryConfig {
73
+ defaultRetentionDays?: number;
74
+ defaultSamplingRate?: number;
75
+ providers?: TelemetryProviderConfig[];
76
+ anomalyDetection?: {
77
+ enabled: boolean;
78
+ checkIntervalMs?: number;
79
+ };
80
+ }
81
+ interface TelemetrySpec {
82
+ meta: TelemetryMeta;
83
+ events: TelemetryEventDef[];
84
+ config?: TelemetryConfig;
85
+ }
86
+ declare class TelemetryRegistry {
87
+ private readonly items;
88
+ private readonly eventsByKey;
89
+ private readonly specByEventKey;
90
+ register(spec: TelemetrySpec): this;
91
+ list(): TelemetrySpec[];
92
+ get(name: string, version?: number): TelemetrySpec | undefined;
93
+ findEventDef(name: string, version?: number): TelemetryEventDef | undefined;
94
+ getSpecForEvent(name: string, version?: number): TelemetrySpec | undefined;
95
+ }
96
+ declare function makeTelemetryKey(meta: TelemetryMeta): string;
97
+ //#endregion
98
+ export { TelemetryAnomalyAction, TelemetryAnomalyDetectionConfig, TelemetryAnomalyThreshold, TelemetryConfig, TelemetryEventDef, TelemetryMeta, TelemetryPrivacyLevel, TelemetryPropertyDef, TelemetryProviderConfig, TelemetryRegistry, TelemetryRetentionConfig, TelemetrySamplingConfig, TelemetrySpec, makeTelemetryKey };
@@ -0,0 +1,51 @@
1
+ import { TelemetryEventDef, TelemetryRegistry, TelemetrySpec } from "./spec.js";
2
+ import { TelemetryAnomalyMonitor } from "./anomaly.js";
3
+
4
+ //#region src/telemetry/tracker.d.ts
5
+ interface TelemetryEventContext {
6
+ tenantId?: string;
7
+ organizationId?: string | null;
8
+ userId?: string | null;
9
+ sessionId?: string | null;
10
+ actor?: 'anonymous' | 'user' | 'admin';
11
+ channel?: 'web' | 'mobile' | 'job' | 'agent';
12
+ metadata?: Record<string, unknown>;
13
+ }
14
+ interface TelemetryDispatch {
15
+ id: string;
16
+ name: string;
17
+ version: number;
18
+ occurredAt: string;
19
+ properties: Record<string, unknown>;
20
+ privacy: TelemetryEventDef['privacy'];
21
+ context: TelemetryEventContext;
22
+ tags?: string[];
23
+ spec: TelemetrySpec;
24
+ definition: TelemetryEventDef;
25
+ }
26
+ interface RuntimeTelemetryProvider {
27
+ id: string;
28
+ send(event: TelemetryDispatch): Promise<void>;
29
+ }
30
+ interface TelemetryTrackerOptions {
31
+ registry: TelemetryRegistry;
32
+ providers?: RuntimeTelemetryProvider[];
33
+ anomalyMonitor?: TelemetryAnomalyMonitor;
34
+ random?: () => number;
35
+ clock?: () => Date;
36
+ }
37
+ declare class TelemetryTracker {
38
+ private readonly providers;
39
+ private readonly registry;
40
+ private readonly anomalyMonitor?;
41
+ private readonly random;
42
+ private readonly clock;
43
+ constructor(options: TelemetryTrackerOptions);
44
+ registerProvider(provider: RuntimeTelemetryProvider): void;
45
+ unregisterProvider(providerId: string): void;
46
+ track(name: string, version: number, properties: Record<string, unknown>, context?: TelemetryEventContext): Promise<boolean>;
47
+ private shouldSample;
48
+ private redactProperties;
49
+ }
50
+ //#endregion
51
+ export { RuntimeTelemetryProvider, TelemetryDispatch, TelemetryEventContext, TelemetryTracker, TelemetryTrackerOptions };