@lssm/example.analytics-dashboard 0.0.0-canary-20251220041653 → 0.0.0-canary-20251221132705

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 (58) hide show
  1. package/dist/dashboard/dashboard.enum.d.ts +4 -4
  2. package/dist/dashboard/dashboard.enum.d.ts.map +1 -1
  3. package/dist/dashboard/dashboard.operation.d.ts +531 -0
  4. package/dist/dashboard/{dashboard.contracts.d.ts.map → dashboard.operation.d.ts.map} +1 -1
  5. package/dist/dashboard/{dashboard.contracts.js → dashboard.operation.js} +3 -3
  6. package/dist/dashboard/dashboard.operation.js.map +1 -0
  7. package/dist/dashboard/index.d.ts +1 -1
  8. package/dist/dashboard/index.js +1 -1
  9. package/dist/index.d.ts +1 -1
  10. package/dist/index.js +1 -1
  11. package/dist/libs/contracts/dist/_virtual/rolldown_runtime.js +6 -0
  12. package/dist/libs/contracts/dist/_virtual/rolldown_runtime.js.map +1 -0
  13. package/dist/libs/contracts/dist/client/react/form-render.js +1 -0
  14. package/dist/libs/contracts/dist/data-views.js +1 -0
  15. package/dist/libs/contracts/dist/docs/tech/contracts/openapi-export.docblock.js +6 -6
  16. package/dist/libs/contracts/dist/docs/tech/contracts/openapi-export.docblock.js.map +1 -1
  17. package/dist/libs/contracts/dist/features.js +1 -0
  18. package/dist/libs/contracts/dist/forms.js +1 -0
  19. package/dist/libs/contracts/dist/index.js +14 -1
  20. package/dist/libs/contracts/dist/index.js.map +1 -0
  21. package/dist/libs/contracts/dist/integrations/contracts.js +1 -1
  22. package/dist/libs/contracts/dist/integrations/contracts.js.map +1 -1
  23. package/dist/libs/contracts/dist/integrations/openbanking/contracts/accounts.js +1 -1
  24. package/dist/libs/contracts/dist/integrations/openbanking/contracts/accounts.js.map +1 -1
  25. package/dist/libs/contracts/dist/integrations/openbanking/contracts/balances.js +1 -1
  26. package/dist/libs/contracts/dist/integrations/openbanking/contracts/balances.js.map +1 -1
  27. package/dist/libs/contracts/dist/integrations/openbanking/contracts/transactions.js +1 -1
  28. package/dist/libs/contracts/dist/integrations/openbanking/contracts/transactions.js.map +1 -1
  29. package/dist/libs/contracts/dist/knowledge/contracts.js +1 -1
  30. package/dist/libs/contracts/dist/knowledge/contracts.js.map +1 -1
  31. package/dist/libs/contracts/dist/llm/exporters.js.map +1 -1
  32. package/dist/libs/contracts/dist/onboarding-base.js +1 -1
  33. package/dist/libs/contracts/dist/onboarding-base.js.map +1 -1
  34. package/dist/libs/contracts/dist/{spec.js → operation.js} +2 -2
  35. package/dist/libs/contracts/dist/operation.js.map +1 -0
  36. package/dist/libs/contracts/dist/presentations.js +1 -0
  37. package/dist/libs/contracts/dist/registry-utils.js +24 -0
  38. package/dist/libs/contracts/dist/registry-utils.js.map +1 -0
  39. package/dist/libs/contracts/dist/registry.js +1 -0
  40. package/dist/libs/contracts/dist/workflow/index.js +1 -0
  41. package/dist/libs/contracts/dist/workflow/spec.js +1 -0
  42. package/dist/libs/contracts/dist/workspace-config/contractsrc-schema.js +122 -0
  43. package/dist/libs/contracts/dist/workspace-config/contractsrc-schema.js.map +1 -0
  44. package/dist/libs/contracts/dist/workspace-config/index.js +1 -0
  45. package/dist/query/index.d.ts +1 -1
  46. package/dist/query/index.js +1 -1
  47. package/dist/query/query.enum.d.ts +2 -2
  48. package/dist/query/query.operation.d.ts +178 -0
  49. package/dist/query/{query.contracts.d.ts.map → query.operation.d.ts.map} +1 -1
  50. package/dist/query/{query.contracts.js → query.operation.js} +3 -3
  51. package/dist/query/query.operation.js.map +1 -0
  52. package/dist/query/query.schema.d.ts +34 -34
  53. package/package.json +14 -14
  54. package/dist/dashboard/dashboard.contracts.d.ts +0 -531
  55. package/dist/dashboard/dashboard.contracts.js.map +0 -1
  56. package/dist/libs/contracts/dist/spec.js.map +0 -1
  57. package/dist/query/query.contracts.d.ts +0 -178
  58. package/dist/query/query.contracts.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"onboarding-base.js","names":[],"sources":["../../../../../../libs/contracts/dist/onboarding-base.js"],"sourcesContent":["import { E5, x8 } from \"./schema/dist/index.js\";\nimport { defineCommand, defineQuery } from \"./spec.js\";\nimport { OwnersEnum, StabilityEnum } from \"./ownership.js\";\n\n//#region src/onboarding-base.ts\n/**\n* Shared base contracts for onboarding flows across verticals.\n* These operations are reusable for any app that needs multi-step onboarding with draft persistence.\n*/\n/** Save/update onboarding draft (auto-save during flow) */\nconst SaveOnboardingDraftInput = new x8({\n\tname: \"SaveOnboardingDraftInput\",\n\tdescription: \"Input for saving onboarding draft\",\n\tfields: { data: {\n\t\ttype: E5.JSON(),\n\t\tisOptional: false\n\t} }\n});\nconst SaveOnboardingDraftOutput = new x8({\n\tname: \"SaveOnboardingDraftOutput\",\n\tdescription: \"Output for saving onboarding draft\",\n\tfields: {\n\t\tid: {\n\t\t\ttype: E5.ID(),\n\t\t\tisOptional: false\n\t\t},\n\t\torganizationId: {\n\t\t\ttype: E5.ID(),\n\t\t\tisOptional: false\n\t\t}\n\t}\n});\nconst SaveOnboardingDraftBaseSpec = defineCommand({\n\tmeta: {\n\t\tname: \"base.onboarding.saveDraft\",\n\t\tversion: 1,\n\t\tstability: StabilityEnum.Beta,\n\t\towners: [OwnersEnum.PlatformSigil],\n\t\ttags: [\"onboarding\", \"draft\"],\n\t\tdescription: \"Save or update onboarding draft for active organization\",\n\t\tgoal: \"Persist onboarding progress incrementally for resumption and safety\",\n\t\tcontext: \"Auto-saves every few seconds during onboarding; enables users to leave and resume\"\n\t},\n\tio: {\n\t\tinput: SaveOnboardingDraftInput,\n\t\toutput: SaveOnboardingDraftOutput\n\t},\n\tpolicy: {\n\t\tauth: \"user\",\n\t\tescalate: null\n\t},\n\ttransport: {\n\t\tgql: { field: \"saveOnboardingDraft\" },\n\t\trest: { method: \"POST\" }\n\t}\n});\n/** Get current onboarding draft (on mount/restore) */\nconst GetOnboardingDraftOutput = new x8({\n\tname: \"GetOnboardingDraftOutput\",\n\tdescription: \"Onboarding draft payload\",\n\tfields: {\n\t\tid: {\n\t\t\ttype: E5.ID(),\n\t\t\tisOptional: true\n\t\t},\n\t\torganizationId: {\n\t\t\ttype: E5.ID(),\n\t\t\tisOptional: true\n\t\t},\n\t\tdata: {\n\t\t\ttype: E5.JSON(),\n\t\t\tisOptional: true\n\t\t},\n\t\tcreatedAt: {\n\t\t\ttype: E5.DateTime(),\n\t\t\tisOptional: true\n\t\t},\n\t\tupdatedAt: {\n\t\t\ttype: E5.DateTime(),\n\t\t\tisOptional: true\n\t\t}\n\t}\n});\nconst GetOnboardingDraftBaseSpec = defineQuery({\n\tmeta: {\n\t\tname: \"base.onboarding.getDraft\",\n\t\tversion: 1,\n\t\tstability: StabilityEnum.Beta,\n\t\towners: [OwnersEnum.PlatformSigil],\n\t\ttags: [\"onboarding\", \"draft\"],\n\t\tdescription: \"Get onboarding draft for active organization\",\n\t\tgoal: \"Retrieve saved onboarding progress\",\n\t\tcontext: \"Called on mount to restore in-progress onboarding\"\n\t},\n\tio: {\n\t\tinput: null,\n\t\toutput: GetOnboardingDraftOutput\n\t},\n\tpolicy: {\n\t\tauth: \"user\",\n\t\tescalate: null\n\t},\n\ttransport: {\n\t\tgql: { field: \"getOnboardingDraft\" },\n\t\trest: { method: \"GET\" }\n\t}\n});\n/** Delete onboarding draft (cleanup after completion or cancel) */\nconst DeleteOnboardingDraftOutput = new x8({\n\tname: \"DeleteOnboardingDraftOutput\",\n\tdescription: \"Result of delete operation\",\n\tfields: { ok: {\n\t\ttype: E5.Boolean(),\n\t\tisOptional: false\n\t} }\n});\nconst DeleteOnboardingDraftBaseSpec = defineCommand({\n\tmeta: {\n\t\tname: \"base.onboarding.deleteDraft\",\n\t\tversion: 1,\n\t\tstability: StabilityEnum.Beta,\n\t\towners: [OwnersEnum.PlatformSigil],\n\t\ttags: [\"onboarding\", \"draft\"],\n\t\tdescription: \"Delete onboarding draft for active organization\",\n\t\tgoal: \"Clear draft after completion or if user wants to restart\",\n\t\tcontext: \"Called after successful onboarding or explicit user reset\"\n\t},\n\tio: {\n\t\tinput: null,\n\t\toutput: DeleteOnboardingDraftOutput\n\t},\n\tpolicy: {\n\t\tauth: \"user\",\n\t\tescalate: null\n\t},\n\ttransport: {\n\t\tgql: { field: \"deleteOnboardingDraft\" },\n\t\trest: { method: \"POST\" }\n\t}\n});\n/** Complete onboarding (final submit, creates entities) */\nconst CompleteOnboardingBaseInput = new x8({\n\tname: \"CompleteOnboardingBaseInput\",\n\tdescription: \"Input for completing onboarding\",\n\tfields: { data: {\n\t\ttype: E5.JSON(),\n\t\tisOptional: false\n\t} }\n});\nconst CompleteOnboardingBaseOutput = new x8({\n\tname: \"CompleteOnboardingBaseOutput\",\n\tdescription: \"Result of onboarding completion\",\n\tfields: {\n\t\tsuccess: {\n\t\t\ttype: E5.Boolean(),\n\t\t\tisOptional: false\n\t\t},\n\t\tuserId: {\n\t\t\ttype: E5.ID(),\n\t\t\tisOptional: true\n\t\t},\n\t\torganizationId: {\n\t\t\ttype: E5.ID(),\n\t\t\tisOptional: true\n\t\t}\n\t}\n});\nconst CompleteOnboardingBaseSpec = defineCommand({\n\tmeta: {\n\t\tname: \"base.onboarding.complete\",\n\t\tversion: 1,\n\t\tstability: StabilityEnum.Beta,\n\t\towners: [OwnersEnum.PlatformSigil],\n\t\ttags: [\"onboarding\"],\n\t\tdescription: \"Complete onboarding and finalize user/organization setup\",\n\t\tgoal: \"Transition from draft to active profile\",\n\t\tcontext: \"Validates all required fields, creates/updates entities, marks onboarding complete\"\n\t},\n\tio: {\n\t\tinput: CompleteOnboardingBaseInput,\n\t\toutput: CompleteOnboardingBaseOutput\n\t},\n\tpolicy: {\n\t\tauth: \"user\",\n\t\tescalate: null\n\t},\n\ttransport: {\n\t\tgql: { field: \"completeOnboarding\" },\n\t\trest: { method: \"POST\" }\n\t}\n});\n\n//#endregion\nexport { CompleteOnboardingBaseInput, CompleteOnboardingBaseOutput, CompleteOnboardingBaseSpec, DeleteOnboardingDraftBaseSpec, DeleteOnboardingDraftOutput, GetOnboardingDraftBaseSpec, GetOnboardingDraftOutput, SaveOnboardingDraftBaseSpec, SaveOnboardingDraftInput, SaveOnboardingDraftOutput };"],"mappings":"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"}
1
+ {"version":3,"file":"onboarding-base.js","names":[],"sources":["../../../../../../libs/contracts/dist/onboarding-base.js"],"sourcesContent":["import { E5, x8 } from \"./schema/dist/index.js\";\nimport { defineCommand, defineQuery } from \"./operation.js\";\nimport { OwnersEnum, StabilityEnum } from \"./ownership.js\";\n\n//#region src/onboarding-base.ts\n/**\n* Shared base contracts for onboarding flows across verticals.\n* These operations are reusable for any app that needs multi-step onboarding with draft persistence.\n*/\n/** Save/update onboarding draft (auto-save during flow) */\nconst SaveOnboardingDraftInput = new x8({\n\tname: \"SaveOnboardingDraftInput\",\n\tdescription: \"Input for saving onboarding draft\",\n\tfields: { data: {\n\t\ttype: E5.JSON(),\n\t\tisOptional: false\n\t} }\n});\nconst SaveOnboardingDraftOutput = new x8({\n\tname: \"SaveOnboardingDraftOutput\",\n\tdescription: \"Output for saving onboarding draft\",\n\tfields: {\n\t\tid: {\n\t\t\ttype: E5.ID(),\n\t\t\tisOptional: false\n\t\t},\n\t\torganizationId: {\n\t\t\ttype: E5.ID(),\n\t\t\tisOptional: false\n\t\t}\n\t}\n});\nconst SaveOnboardingDraftBaseSpec = defineCommand({\n\tmeta: {\n\t\tname: \"base.onboarding.saveDraft\",\n\t\tversion: 1,\n\t\tstability: StabilityEnum.Beta,\n\t\towners: [OwnersEnum.PlatformSigil],\n\t\ttags: [\"onboarding\", \"draft\"],\n\t\tdescription: \"Save or update onboarding draft for active organization\",\n\t\tgoal: \"Persist onboarding progress incrementally for resumption and safety\",\n\t\tcontext: \"Auto-saves every few seconds during onboarding; enables users to leave and resume\"\n\t},\n\tio: {\n\t\tinput: SaveOnboardingDraftInput,\n\t\toutput: SaveOnboardingDraftOutput\n\t},\n\tpolicy: {\n\t\tauth: \"user\",\n\t\tescalate: null\n\t},\n\ttransport: {\n\t\tgql: { field: \"saveOnboardingDraft\" },\n\t\trest: { method: \"POST\" }\n\t}\n});\n/** Get current onboarding draft (on mount/restore) */\nconst GetOnboardingDraftOutput = new x8({\n\tname: \"GetOnboardingDraftOutput\",\n\tdescription: \"Onboarding draft payload\",\n\tfields: {\n\t\tid: {\n\t\t\ttype: E5.ID(),\n\t\t\tisOptional: true\n\t\t},\n\t\torganizationId: {\n\t\t\ttype: E5.ID(),\n\t\t\tisOptional: true\n\t\t},\n\t\tdata: {\n\t\t\ttype: E5.JSON(),\n\t\t\tisOptional: true\n\t\t},\n\t\tcreatedAt: {\n\t\t\ttype: E5.DateTime(),\n\t\t\tisOptional: true\n\t\t},\n\t\tupdatedAt: {\n\t\t\ttype: E5.DateTime(),\n\t\t\tisOptional: true\n\t\t}\n\t}\n});\nconst GetOnboardingDraftBaseSpec = defineQuery({\n\tmeta: {\n\t\tname: \"base.onboarding.getDraft\",\n\t\tversion: 1,\n\t\tstability: StabilityEnum.Beta,\n\t\towners: [OwnersEnum.PlatformSigil],\n\t\ttags: [\"onboarding\", \"draft\"],\n\t\tdescription: \"Get onboarding draft for active organization\",\n\t\tgoal: \"Retrieve saved onboarding progress\",\n\t\tcontext: \"Called on mount to restore in-progress onboarding\"\n\t},\n\tio: {\n\t\tinput: null,\n\t\toutput: GetOnboardingDraftOutput\n\t},\n\tpolicy: {\n\t\tauth: \"user\",\n\t\tescalate: null\n\t},\n\ttransport: {\n\t\tgql: { field: \"getOnboardingDraft\" },\n\t\trest: { method: \"GET\" }\n\t}\n});\n/** Delete onboarding draft (cleanup after completion or cancel) */\nconst DeleteOnboardingDraftOutput = new x8({\n\tname: \"DeleteOnboardingDraftOutput\",\n\tdescription: \"Result of delete operation\",\n\tfields: { ok: {\n\t\ttype: E5.Boolean(),\n\t\tisOptional: false\n\t} }\n});\nconst DeleteOnboardingDraftBaseSpec = defineCommand({\n\tmeta: {\n\t\tname: \"base.onboarding.deleteDraft\",\n\t\tversion: 1,\n\t\tstability: StabilityEnum.Beta,\n\t\towners: [OwnersEnum.PlatformSigil],\n\t\ttags: [\"onboarding\", \"draft\"],\n\t\tdescription: \"Delete onboarding draft for active organization\",\n\t\tgoal: \"Clear draft after completion or if user wants to restart\",\n\t\tcontext: \"Called after successful onboarding or explicit user reset\"\n\t},\n\tio: {\n\t\tinput: null,\n\t\toutput: DeleteOnboardingDraftOutput\n\t},\n\tpolicy: {\n\t\tauth: \"user\",\n\t\tescalate: null\n\t},\n\ttransport: {\n\t\tgql: { field: \"deleteOnboardingDraft\" },\n\t\trest: { method: \"POST\" }\n\t}\n});\n/** Complete onboarding (final submit, creates entities) */\nconst CompleteOnboardingBaseInput = new x8({\n\tname: \"CompleteOnboardingBaseInput\",\n\tdescription: \"Input for completing onboarding\",\n\tfields: { data: {\n\t\ttype: E5.JSON(),\n\t\tisOptional: false\n\t} }\n});\nconst CompleteOnboardingBaseOutput = new x8({\n\tname: \"CompleteOnboardingBaseOutput\",\n\tdescription: \"Result of onboarding completion\",\n\tfields: {\n\t\tsuccess: {\n\t\t\ttype: E5.Boolean(),\n\t\t\tisOptional: false\n\t\t},\n\t\tuserId: {\n\t\t\ttype: E5.ID(),\n\t\t\tisOptional: true\n\t\t},\n\t\torganizationId: {\n\t\t\ttype: E5.ID(),\n\t\t\tisOptional: true\n\t\t}\n\t}\n});\nconst CompleteOnboardingBaseSpec = defineCommand({\n\tmeta: {\n\t\tname: \"base.onboarding.complete\",\n\t\tversion: 1,\n\t\tstability: StabilityEnum.Beta,\n\t\towners: [OwnersEnum.PlatformSigil],\n\t\ttags: [\"onboarding\"],\n\t\tdescription: \"Complete onboarding and finalize user/organization setup\",\n\t\tgoal: \"Transition from draft to active profile\",\n\t\tcontext: \"Validates all required fields, creates/updates entities, marks onboarding complete\"\n\t},\n\tio: {\n\t\tinput: CompleteOnboardingBaseInput,\n\t\toutput: CompleteOnboardingBaseOutput\n\t},\n\tpolicy: {\n\t\tauth: \"user\",\n\t\tescalate: null\n\t},\n\ttransport: {\n\t\tgql: { field: \"completeOnboarding\" },\n\t\trest: { method: \"POST\" }\n\t}\n});\n\n//#endregion\nexport { CompleteOnboardingBaseInput, CompleteOnboardingBaseOutput, CompleteOnboardingBaseSpec, DeleteOnboardingDraftBaseSpec, DeleteOnboardingDraftOutput, GetOnboardingDraftBaseSpec, GetOnboardingDraftOutput, SaveOnboardingDraftBaseSpec, SaveOnboardingDraftInput, SaveOnboardingDraftOutput };"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- //#region ../../libs/contracts/dist/spec.js
1
+ //#region ../../libs/contracts/dist/operation.js
2
2
  /**
3
3
  * Helper to define a Command (write operation).
4
4
  * Sets `kind: 'command'` and defaults `idempotent: false`.
@@ -32,4 +32,4 @@ const defineQuery = (spec) => ({
32
32
 
33
33
  //#endregion
34
34
  export { defineCommand, defineQuery };
35
- //# sourceMappingURL=spec.js.map
35
+ //# sourceMappingURL=operation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation.js","names":[],"sources":["../../../../../../libs/contracts/dist/operation.js"],"sourcesContent":["//#region src/operation.ts\nconst isEmitDeclRef = (e) => \"ref\" in e;\n/**\n* Helper to define a Command (write operation).\n* Sets `kind: 'command'` and defaults `idempotent: false`.\n*/\nconst defineCommand = (spec) => ({\n\t...spec,\n\tmeta: {\n\t\t...spec.meta,\n\t\tkind: \"command\"\n\t},\n\tpolicy: {\n\t\t...spec.policy,\n\t\tidempotent: spec.policy?.[\"policy\"]?.idempotent ?? false\n\t}\n});\n/**\n* Helper to define a Query (read-only operation).\n* Sets `kind: 'query'` and forces `idempotent: true`.\n*/\nconst defineQuery = (spec) => ({\n\t...spec,\n\tmeta: {\n\t\t...spec.meta,\n\t\tkind: \"query\"\n\t},\n\tpolicy: {\n\t\t...spec.policy,\n\t\tidempotent: true\n\t}\n});\n\n//#endregion\nexport { defineCommand, defineQuery, isEmitDeclRef };"],"mappings":";;;;;AAMA,MAAM,iBAAiB,UAAU;CAChC,GAAG;CACH,MAAM;EACL,GAAG,KAAK;EACR,MAAM;EACN;CACD,QAAQ;EACP,GAAG,KAAK;EACR,YAAY,KAAK,SAAS,WAAW,cAAc;EACnD;CACD;;;;;AAKD,MAAM,eAAe,UAAU;CAC9B,GAAG;CACH,MAAM;EACL,GAAG,KAAK;EACR,MAAM;EACN;CACD,QAAQ;EACP,GAAG,KAAK;EACR,YAAY;EACZ;CACD"}
@@ -1 +1,2 @@
1
+ import "./registry-utils.js";
1
2
  import z from "zod";
@@ -0,0 +1,24 @@
1
+ import { __esmMin } from "./_virtual/rolldown_runtime.js";
2
+
3
+ //#region ../../libs/contracts/dist/registry-utils.js
4
+ var GroupingStrategies;
5
+ var init_registry_utils = __esmMin(() => {
6
+ GroupingStrategies = {
7
+ byTag: (item) => item.meta.tags?.[0] ?? "untagged",
8
+ byAllTags: (item) => item.meta.tags?.length ? item.meta.tags : ["untagged"],
9
+ byOwner: (item) => item.meta.owners?.[0] ?? "unowned",
10
+ byDomain: (item) => {
11
+ return (item.meta.name ?? item.meta.key ?? "").split(".")[0] ?? "default";
12
+ },
13
+ byStability: (item) => item.meta.stability ?? "stable",
14
+ byUrlPath: (level) => (item) => {
15
+ if (!item.path) return "root";
16
+ return item.path.split("/").filter(Boolean).slice(0, level).join("/") || "root";
17
+ }
18
+ };
19
+ });
20
+ init_registry_utils();
21
+
22
+ //#endregion
23
+ export { GroupingStrategies, init_registry_utils };
24
+ //# sourceMappingURL=registry-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry-utils.js","names":[],"sources":["../../../../../../libs/contracts/dist/registry-utils.js"],"sourcesContent":["import { __esmMin, __export } from \"./_virtual/rolldown_runtime.js\";\n\n//#region src/registry-utils.ts\nvar registry_utils_exports = /* @__PURE__ */ __export({\n\tGroupingStrategies: () => GroupingStrategies,\n\tfilterBy: () => filterBy,\n\tgetUniqueDomains: () => getUniqueDomains,\n\tgetUniqueOwners: () => getUniqueOwners,\n\tgetUniqueTags: () => getUniqueTags,\n\tgroupBy: () => groupBy,\n\tgroupByMultiple: () => groupByMultiple,\n\tgroupByToArray: () => groupByToArray\n});\n/**\n* Filter items by criteria.\n* All criteria are combined with AND logic.\n*/\nfunction filterBy(items, filter) {\n\treturn items.filter((item) => {\n\t\tif (filter.tags?.length) {\n\t\t\tif (!filter.tags.some((tag) => item.meta.tags?.includes(tag))) return false;\n\t\t}\n\t\tif (filter.owners?.length) {\n\t\t\tif (!filter.owners.some((owner) => item.meta.owners?.includes(owner))) return false;\n\t\t}\n\t\tif (filter.stability?.length) {\n\t\t\tif (!filter.stability.includes(item.meta.stability ?? \"stable\")) return false;\n\t\t}\n\t\tif (filter.domain) {\n\t\t\tif (GroupingStrategies.byDomain(item) !== filter.domain) return false;\n\t\t}\n\t\tif (filter.namePattern) {\n\t\t\tconst name = item.meta.name ?? item.meta.key ?? \"\";\n\t\t\tconst pattern = filter.namePattern.replace(/\\*/g, \".*\").replace(/\\?/g, \".\");\n\t\t\tif (!new RegExp(`^${pattern}$`, \"i\").test(name)) return false;\n\t\t}\n\t\treturn true;\n\t});\n}\n/**\n* Group items by key function.\n*/\nfunction groupBy(items, keyFn) {\n\tconst groups = /* @__PURE__ */ new Map();\n\tfor (const item of items) {\n\t\tconst key = keyFn(item);\n\t\tconst existing = groups.get(key);\n\t\tif (existing) existing.push(item);\n\t\telse groups.set(key, [item]);\n\t}\n\treturn groups;\n}\n/**\n* Group items by key function, returning array format.\n*/\nfunction groupByToArray(items, keyFn) {\n\tconst map = groupBy(items, keyFn);\n\treturn Array.from(map.entries()).map(([key, items$1]) => ({\n\t\tkey,\n\t\titems: items$1\n\t}));\n}\n/**\n* Group items where one item can belong to multiple groups.\n* Useful for byAllTags grouping.\n*/\nfunction groupByMultiple(items, keysFn) {\n\tconst groups = /* @__PURE__ */ new Map();\n\tfor (const item of items) {\n\t\tconst keys = keysFn(item);\n\t\tfor (const key of keys) {\n\t\t\tconst existing = groups.get(key);\n\t\t\tif (existing) existing.push(item);\n\t\t\telse groups.set(key, [item]);\n\t\t}\n\t}\n\treturn groups;\n}\n/**\n* Get unique tags from a collection of items.\n*/\nfunction getUniqueTags(items) {\n\tconst tags = /* @__PURE__ */ new Set();\n\tfor (const item of items) for (const tag of item.meta.tags ?? []) tags.add(tag);\n\treturn Array.from(tags).sort();\n}\n/**\n* Get unique owners from a collection of items.\n*/\nfunction getUniqueOwners(items) {\n\tconst owners = /* @__PURE__ */ new Set();\n\tfor (const item of items) for (const owner of item.meta.owners ?? []) owners.add(owner);\n\treturn Array.from(owners).sort();\n}\n/**\n* Get unique domains from a collection of items.\n*/\nfunction getUniqueDomains(items) {\n\tconst domains = /* @__PURE__ */ new Set();\n\tfor (const item of items) domains.add(GroupingStrategies.byDomain(item));\n\treturn Array.from(domains).sort();\n}\nvar GroupingStrategies;\nvar init_registry_utils = __esmMin(() => {\n\tGroupingStrategies = {\n\t\tbyTag: (item) => item.meta.tags?.[0] ?? \"untagged\",\n\t\tbyAllTags: (item) => item.meta.tags?.length ? item.meta.tags : [\"untagged\"],\n\t\tbyOwner: (item) => item.meta.owners?.[0] ?? \"unowned\",\n\t\tbyDomain: (item) => {\n\t\t\treturn (item.meta.name ?? item.meta.key ?? \"\").split(\".\")[0] ?? \"default\";\n\t\t},\n\t\tbyStability: (item) => item.meta.stability ?? \"stable\",\n\t\tbyUrlPath: (level) => (item) => {\n\t\t\tif (!item.path) return \"root\";\n\t\t\treturn item.path.split(\"/\").filter(Boolean).slice(0, level).join(\"/\") || \"root\";\n\t\t}\n\t};\n});\n\n//#endregion\ninit_registry_utils();\nexport { GroupingStrategies, filterBy, getUniqueDomains, getUniqueOwners, getUniqueTags, groupBy, groupByMultiple, groupByToArray, init_registry_utils, registry_utils_exports };"],"mappings":";;;AAsGA,IAAI;AACJ,IAAI,sBAAsB,eAAe;AACxC,sBAAqB;EACpB,QAAQ,SAAS,KAAK,KAAK,OAAO,MAAM;EACxC,YAAY,SAAS,KAAK,KAAK,MAAM,SAAS,KAAK,KAAK,OAAO,CAAC,WAAW;EAC3E,UAAU,SAAS,KAAK,KAAK,SAAS,MAAM;EAC5C,WAAW,SAAS;AACnB,WAAQ,KAAK,KAAK,QAAQ,KAAK,KAAK,OAAO,IAAI,MAAM,IAAI,CAAC,MAAM;;EAEjE,cAAc,SAAS,KAAK,KAAK,aAAa;EAC9C,YAAY,WAAW,SAAS;AAC/B,OAAI,CAAC,KAAK,KAAM,QAAO;AACvB,UAAO,KAAK,KAAK,MAAM,IAAI,CAAC,OAAO,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,IAAI,IAAI;;EAE1E;EACA;AAGF,qBAAqB"}
@@ -1,2 +1,3 @@
1
+ import "./registry-utils.js";
1
2
  import "./events.js";
2
3
  import { defaultDocRegistry, registerDocBlocks } from "./docs/registry.js";
@@ -1 +1,2 @@
1
+ import "./spec.js";
1
2
  import "./runner.js";
@@ -0,0 +1 @@
1
+ import "../registry-utils.js";
@@ -0,0 +1,122 @@
1
+ import * as z$1 from "zod";
2
+
3
+ //#region ../../libs/contracts/dist/workspace-config/contractsrc-schema.js
4
+ /**
5
+ * ContractSpec configuration schema definitions.
6
+ *
7
+ * These schemas define the structure of .contractsrc.json files
8
+ * and are shared across CLI tools and libraries.
9
+ */
10
+ /**
11
+ * OpenAPI source configuration for import/sync/validate operations.
12
+ */
13
+ const OpenApiSourceConfigSchema = z$1.object({
14
+ name: z$1.string(),
15
+ url: z$1.url().optional(),
16
+ file: z$1.string().optional(),
17
+ syncMode: z$1.enum([
18
+ "import",
19
+ "sync",
20
+ "validate"
21
+ ]).default("validate"),
22
+ tags: z$1.array(z$1.string()).optional(),
23
+ exclude: z$1.array(z$1.string()).optional(),
24
+ include: z$1.array(z$1.string()).optional(),
25
+ prefix: z$1.string().optional(),
26
+ defaultStability: z$1.enum([
27
+ "experimental",
28
+ "beta",
29
+ "stable",
30
+ "deprecated"
31
+ ]).optional(),
32
+ defaultAuth: z$1.enum([
33
+ "anonymous",
34
+ "user",
35
+ "admin"
36
+ ]).optional(),
37
+ defaultOwners: z$1.array(z$1.string()).optional()
38
+ });
39
+ const OpenApiExportConfigSchema = z$1.object({
40
+ outputPath: z$1.string().default("./openapi.json"),
41
+ format: z$1.enum(["json", "yaml"]).default("json"),
42
+ title: z$1.string().optional(),
43
+ version: z$1.string().optional(),
44
+ description: z$1.string().optional(),
45
+ servers: z$1.array(z$1.object({
46
+ url: z$1.string(),
47
+ description: z$1.string().optional()
48
+ })).optional()
49
+ });
50
+ /**
51
+ * OpenAPI configuration section.
52
+ */
53
+ const OpenApiConfigSchema = z$1.object({
54
+ sources: z$1.array(OpenApiSourceConfigSchema).optional(),
55
+ export: OpenApiExportConfigSchema.optional()
56
+ });
57
+ /**
58
+ * Grouping strategy for organizing specs.
59
+ */
60
+ const GroupingStrategySchema = z$1.enum([
61
+ "by-tag",
62
+ "by-owner",
63
+ "by-domain",
64
+ "by-url-path-single",
65
+ "by-url-path-multi",
66
+ "by-feature",
67
+ "none"
68
+ ]);
69
+ /**
70
+ * Grouping rule configuration.
71
+ */
72
+ const GroupingRuleSchema = z$1.object({
73
+ strategy: GroupingStrategySchema,
74
+ urlPathLevel: z$1.number().optional(),
75
+ pattern: z$1.string().optional()
76
+ });
77
+ /**
78
+ * Output directory conventions for generated specs.
79
+ */
80
+ const FolderConventionsSchema = z$1.object({
81
+ models: z$1.string().default("models"),
82
+ operations: z$1.string().default("operations/commands|queries"),
83
+ events: z$1.string().default("events"),
84
+ presentations: z$1.string().default("presentations"),
85
+ forms: z$1.string().default("forms"),
86
+ groupByFeature: z$1.boolean().default(true),
87
+ operationsGrouping: GroupingRuleSchema.optional(),
88
+ modelsGrouping: GroupingRuleSchema.optional(),
89
+ eventsGrouping: GroupingRuleSchema.optional()
90
+ });
91
+ /**
92
+ * Full ContractSpec configuration schema (.contractsrc.json).
93
+ */
94
+ const ContractsrcSchema = z$1.object({
95
+ aiProvider: z$1.enum([
96
+ "claude",
97
+ "openai",
98
+ "ollama",
99
+ "custom"
100
+ ]).default("claude"),
101
+ aiModel: z$1.string().optional(),
102
+ agentMode: z$1.enum([
103
+ "simple",
104
+ "cursor",
105
+ "claude-code",
106
+ "openai-codex"
107
+ ]).default("simple"),
108
+ customEndpoint: z$1.url().nullable().optional(),
109
+ customApiKey: z$1.string().nullable().optional(),
110
+ outputDir: z$1.string().default("./src"),
111
+ conventions: FolderConventionsSchema,
112
+ defaultOwners: z$1.array(z$1.string()).default([]),
113
+ defaultTags: z$1.array(z$1.string()).default([]),
114
+ packages: z$1.array(z$1.string()).optional(),
115
+ excludePackages: z$1.array(z$1.string()).optional(),
116
+ recursive: z$1.boolean().optional(),
117
+ openapi: OpenApiConfigSchema.optional()
118
+ });
119
+
120
+ //#endregion
121
+ export { FolderConventionsSchema, OpenApiConfigSchema, OpenApiExportConfigSchema, OpenApiSourceConfigSchema };
122
+ //# sourceMappingURL=contractsrc-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contractsrc-schema.js","names":[],"sources":["../../../../../../../libs/contracts/dist/workspace-config/contractsrc-schema.js"],"sourcesContent":["import * as z$1 from \"zod\";\n\n//#region src/workspace-config/contractsrc-schema.ts\n/**\n* ContractSpec configuration schema definitions.\n*\n* These schemas define the structure of .contractsrc.json files\n* and are shared across CLI tools and libraries.\n*/\n/**\n* OpenAPI source configuration for import/sync/validate operations.\n*/\nconst OpenApiSourceConfigSchema = z$1.object({\n\tname: z$1.string(),\n\turl: z$1.url().optional(),\n\tfile: z$1.string().optional(),\n\tsyncMode: z$1.enum([\n\t\t\"import\",\n\t\t\"sync\",\n\t\t\"validate\"\n\t]).default(\"validate\"),\n\ttags: z$1.array(z$1.string()).optional(),\n\texclude: z$1.array(z$1.string()).optional(),\n\tinclude: z$1.array(z$1.string()).optional(),\n\tprefix: z$1.string().optional(),\n\tdefaultStability: z$1.enum([\n\t\t\"experimental\",\n\t\t\"beta\",\n\t\t\"stable\",\n\t\t\"deprecated\"\n\t]).optional(),\n\tdefaultAuth: z$1.enum([\n\t\t\"anonymous\",\n\t\t\"user\",\n\t\t\"admin\"\n\t]).optional(),\n\tdefaultOwners: z$1.array(z$1.string()).optional()\n});\nconst OpenApiExportConfigSchema = z$1.object({\n\toutputPath: z$1.string().default(\"./openapi.json\"),\n\tformat: z$1.enum([\"json\", \"yaml\"]).default(\"json\"),\n\ttitle: z$1.string().optional(),\n\tversion: z$1.string().optional(),\n\tdescription: z$1.string().optional(),\n\tservers: z$1.array(z$1.object({\n\t\turl: z$1.string(),\n\t\tdescription: z$1.string().optional()\n\t})).optional()\n});\n/**\n* OpenAPI configuration section.\n*/\nconst OpenApiConfigSchema = z$1.object({\n\tsources: z$1.array(OpenApiSourceConfigSchema).optional(),\n\texport: OpenApiExportConfigSchema.optional()\n});\n/**\n* Grouping strategy for organizing specs.\n*/\nconst GroupingStrategySchema = z$1.enum([\n\t\"by-tag\",\n\t\"by-owner\",\n\t\"by-domain\",\n\t\"by-url-path-single\",\n\t\"by-url-path-multi\",\n\t\"by-feature\",\n\t\"none\"\n]);\n/**\n* Grouping rule configuration.\n*/\nconst GroupingRuleSchema = z$1.object({\n\tstrategy: GroupingStrategySchema,\n\turlPathLevel: z$1.number().optional(),\n\tpattern: z$1.string().optional()\n});\n/**\n* Output directory conventions for generated specs.\n*/\nconst FolderConventionsSchema = z$1.object({\n\tmodels: z$1.string().default(\"models\"),\n\toperations: z$1.string().default(\"operations/commands|queries\"),\n\tevents: z$1.string().default(\"events\"),\n\tpresentations: z$1.string().default(\"presentations\"),\n\tforms: z$1.string().default(\"forms\"),\n\tgroupByFeature: z$1.boolean().default(true),\n\toperationsGrouping: GroupingRuleSchema.optional(),\n\tmodelsGrouping: GroupingRuleSchema.optional(),\n\teventsGrouping: GroupingRuleSchema.optional()\n});\n/**\n* Full ContractSpec configuration schema (.contractsrc.json).\n*/\nconst ContractsrcSchema = z$1.object({\n\taiProvider: z$1.enum([\n\t\t\"claude\",\n\t\t\"openai\",\n\t\t\"ollama\",\n\t\t\"custom\"\n\t]).default(\"claude\"),\n\taiModel: z$1.string().optional(),\n\tagentMode: z$1.enum([\n\t\t\"simple\",\n\t\t\"cursor\",\n\t\t\"claude-code\",\n\t\t\"openai-codex\"\n\t]).default(\"simple\"),\n\tcustomEndpoint: z$1.url().nullable().optional(),\n\tcustomApiKey: z$1.string().nullable().optional(),\n\toutputDir: z$1.string().default(\"./src\"),\n\tconventions: FolderConventionsSchema,\n\tdefaultOwners: z$1.array(z$1.string()).default([]),\n\tdefaultTags: z$1.array(z$1.string()).default([]),\n\tpackages: z$1.array(z$1.string()).optional(),\n\texcludePackages: z$1.array(z$1.string()).optional(),\n\trecursive: z$1.boolean().optional(),\n\topenapi: OpenApiConfigSchema.optional()\n});\n/**\n* Default configuration values.\n*/\nconst DEFAULT_CONTRACTSRC = {\n\taiProvider: \"claude\",\n\tagentMode: \"simple\",\n\toutputDir: \"./src\",\n\tconventions: {\n\t\tmodels: \"models\",\n\t\toperations: \"interactions/commands|queries\",\n\t\tevents: \"events\",\n\t\tpresentations: \"presentations\",\n\t\tforms: \"forms\",\n\t\tgroupByFeature: true\n\t},\n\tdefaultOwners: [],\n\tdefaultTags: []\n};\n\n//#endregion\nexport { ContractsrcSchema, DEFAULT_CONTRACTSRC, FolderConventionsSchema, GroupingRuleSchema, GroupingStrategySchema, OpenApiConfigSchema, OpenApiExportConfigSchema, OpenApiSourceConfigSchema };"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ import { FolderConventionsSchema, OpenApiConfigSchema, OpenApiExportConfigSchema, OpenApiSourceConfigSchema } from "./contractsrc-schema.js";
@@ -1,4 +1,4 @@
1
1
  import { QueryTypeEnum } from "./query.enum.js";
2
2
  import { CreateQueryInputModel, ExecuteQueryInputModel, QueryModel, QueryResultModel } from "./query.schema.js";
3
- import { CreateQueryContract, ExecuteQueryContract } from "./query.contracts.js";
3
+ import { CreateQueryContract, ExecuteQueryContract } from "./query.operation.js";
4
4
  export { CreateQueryContract, CreateQueryInputModel, ExecuteQueryContract, ExecuteQueryInputModel, QueryModel, QueryResultModel, QueryTypeEnum };
@@ -1,5 +1,5 @@
1
1
  import { QueryTypeEnum } from "./query.enum.js";
2
2
  import { CreateQueryInputModel, ExecuteQueryInputModel, QueryModel, QueryResultModel } from "./query.schema.js";
3
- import { CreateQueryContract, ExecuteQueryContract } from "./query.contracts.js";
3
+ import { CreateQueryContract, ExecuteQueryContract } from "./query.operation.js";
4
4
 
5
5
  export { CreateQueryContract, CreateQueryInputModel, ExecuteQueryContract, ExecuteQueryInputModel, QueryModel, QueryResultModel, QueryTypeEnum };
@@ -1,10 +1,10 @@
1
- import * as _lssm_lib_schema247 from "@lssm/lib.schema";
1
+ import * as _lssm_lib_schema323 from "@lssm/lib.schema";
2
2
 
3
3
  //#region src/query/query.enum.d.ts
4
4
  /**
5
5
  * Query type enum.
6
6
  */
7
- declare const QueryTypeEnum: _lssm_lib_schema247.EnumType<[string, string, string, string]>;
7
+ declare const QueryTypeEnum: _lssm_lib_schema323.EnumType<[string, string, string, string]>;
8
8
  //#endregion
9
9
  export { QueryTypeEnum };
10
10
  //# sourceMappingURL=query.enum.d.ts.map
@@ -0,0 +1,178 @@
1
+ import * as _lssm_lib_contracts9 from "@lssm/lib.contracts";
2
+ import * as _lssm_lib_schema280 from "@lssm/lib.schema";
3
+
4
+ //#region src/query/query.operation.d.ts
5
+ /**
6
+ * Create a data query.
7
+ */
8
+ declare const CreateQueryContract: _lssm_lib_contracts9.OperationSpec<_lssm_lib_schema280.SchemaModel<{
9
+ name: {
10
+ type: _lssm_lib_schema280.FieldType<string, string>;
11
+ isOptional: false;
12
+ };
13
+ description: {
14
+ type: _lssm_lib_schema280.FieldType<string, string>;
15
+ isOptional: true;
16
+ };
17
+ type: {
18
+ type: _lssm_lib_schema280.EnumType<[string, string, string, string]>;
19
+ isOptional: false;
20
+ };
21
+ definition: {
22
+ type: _lssm_lib_schema280.FieldType<unknown, unknown>;
23
+ isOptional: false;
24
+ };
25
+ sql: {
26
+ type: _lssm_lib_schema280.FieldType<string, string>;
27
+ isOptional: true;
28
+ };
29
+ metricIds: {
30
+ type: _lssm_lib_schema280.FieldType<string, string>;
31
+ isArray: true;
32
+ isOptional: true;
33
+ };
34
+ cacheTtlSeconds: {
35
+ type: _lssm_lib_schema280.FieldType<number, number>;
36
+ isOptional: true;
37
+ };
38
+ isShared: {
39
+ type: _lssm_lib_schema280.FieldType<boolean, boolean>;
40
+ isOptional: true;
41
+ };
42
+ }>, _lssm_lib_schema280.SchemaModel<{
43
+ id: {
44
+ type: _lssm_lib_schema280.FieldType<string, string>;
45
+ isOptional: false;
46
+ };
47
+ name: {
48
+ type: _lssm_lib_schema280.FieldType<string, string>;
49
+ isOptional: false;
50
+ };
51
+ description: {
52
+ type: _lssm_lib_schema280.FieldType<string, string>;
53
+ isOptional: true;
54
+ };
55
+ type: {
56
+ type: _lssm_lib_schema280.EnumType<[string, string, string, string]>;
57
+ isOptional: false;
58
+ };
59
+ definition: {
60
+ type: _lssm_lib_schema280.FieldType<unknown, unknown>;
61
+ isOptional: false;
62
+ };
63
+ sql: {
64
+ type: _lssm_lib_schema280.FieldType<string, string>;
65
+ isOptional: true;
66
+ };
67
+ cacheTtlSeconds: {
68
+ type: _lssm_lib_schema280.FieldType<number, number>;
69
+ isOptional: false;
70
+ };
71
+ isShared: {
72
+ type: _lssm_lib_schema280.FieldType<boolean, boolean>;
73
+ isOptional: false;
74
+ };
75
+ createdAt: {
76
+ type: _lssm_lib_schema280.FieldType<Date, string>;
77
+ isOptional: false;
78
+ };
79
+ }>, {
80
+ name: string;
81
+ version: number;
82
+ when: string;
83
+ payload: _lssm_lib_schema280.SchemaModel<{
84
+ id: {
85
+ type: _lssm_lib_schema280.FieldType<string, string>;
86
+ isOptional: false;
87
+ };
88
+ name: {
89
+ type: _lssm_lib_schema280.FieldType<string, string>;
90
+ isOptional: false;
91
+ };
92
+ description: {
93
+ type: _lssm_lib_schema280.FieldType<string, string>;
94
+ isOptional: true;
95
+ };
96
+ type: {
97
+ type: _lssm_lib_schema280.EnumType<[string, string, string, string]>;
98
+ isOptional: false;
99
+ };
100
+ definition: {
101
+ type: _lssm_lib_schema280.FieldType<unknown, unknown>;
102
+ isOptional: false;
103
+ };
104
+ sql: {
105
+ type: _lssm_lib_schema280.FieldType<string, string>;
106
+ isOptional: true;
107
+ };
108
+ cacheTtlSeconds: {
109
+ type: _lssm_lib_schema280.FieldType<number, number>;
110
+ isOptional: false;
111
+ };
112
+ isShared: {
113
+ type: _lssm_lib_schema280.FieldType<boolean, boolean>;
114
+ isOptional: false;
115
+ };
116
+ createdAt: {
117
+ type: _lssm_lib_schema280.FieldType<Date, string>;
118
+ isOptional: false;
119
+ };
120
+ }>;
121
+ }[]>;
122
+ /**
123
+ * Execute a data query.
124
+ */
125
+ declare const ExecuteQueryContract: _lssm_lib_contracts9.OperationSpec<_lssm_lib_schema280.SchemaModel<{
126
+ queryId: {
127
+ type: _lssm_lib_schema280.FieldType<string, string>;
128
+ isOptional: false;
129
+ };
130
+ parameters: {
131
+ type: _lssm_lib_schema280.FieldType<unknown, unknown>;
132
+ isOptional: true;
133
+ };
134
+ dateRange: {
135
+ type: _lssm_lib_schema280.FieldType<unknown, unknown>;
136
+ isOptional: true;
137
+ };
138
+ filters: {
139
+ type: _lssm_lib_schema280.FieldType<unknown, unknown>;
140
+ isOptional: true;
141
+ };
142
+ forceRefresh: {
143
+ type: _lssm_lib_schema280.FieldType<boolean, boolean>;
144
+ isOptional: true;
145
+ };
146
+ }>, _lssm_lib_schema280.SchemaModel<{
147
+ queryId: {
148
+ type: _lssm_lib_schema280.FieldType<string, string>;
149
+ isOptional: false;
150
+ };
151
+ data: {
152
+ type: _lssm_lib_schema280.FieldType<unknown, unknown>;
153
+ isOptional: false;
154
+ };
155
+ columns: {
156
+ type: _lssm_lib_schema280.FieldType<unknown, unknown>;
157
+ isOptional: false;
158
+ };
159
+ rowCount: {
160
+ type: _lssm_lib_schema280.FieldType<number, number>;
161
+ isOptional: false;
162
+ };
163
+ executionTimeMs: {
164
+ type: _lssm_lib_schema280.FieldType<number, number>;
165
+ isOptional: false;
166
+ };
167
+ cachedAt: {
168
+ type: _lssm_lib_schema280.FieldType<Date, string>;
169
+ isOptional: true;
170
+ };
171
+ error: {
172
+ type: _lssm_lib_schema280.FieldType<string, string>;
173
+ isOptional: true;
174
+ };
175
+ }>, undefined>;
176
+ //#endregion
177
+ export { CreateQueryContract, ExecuteQueryContract };
178
+ //# sourceMappingURL=query.operation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"query.contracts.d.ts","names":[],"sources":["../../src/query/query.contracts.ts"],"sourcesContent":[],"mappings":";;;;;;;cAaa,0CAAmB,iCAAA;EAAnB,IAAA,EAAA;IAwBX,IAAA,EAAA,mBAAA,CAAA,SAAA,CAAA,MAAA,EAAA,MAAA,CAAA;;;;;;;;sCAxB8B,CAAA,CAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,CAAA,CAAA;IAAA,UAAA,EAAA,KAAA;;;;;;;;;;;;;;;;;;;;;;;CAAA,CAAA,iCAAA,CAAA;EA6BnB,EAAA,EAAA;IAaX,IAAA,EA1C8B,mBAAA,CAAA,SA0C9B,CAAA,MAAA,EAAA,MAAA,CAAA;;;;;qBAb+B;EAAA,CAAA;;;;;;;;;;IAAA,IAAA,+BAAA,CAAA,OAAA,EAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAApB,2CAAoB,iCAAA;;UAa/B,mBAAA,CAAA;;;;;;;;;;;;;;;;;;;;;UAb+B,mBAAA,CAAA"}
1
+ {"version":3,"file":"query.operation.d.ts","names":[],"sources":["../../src/query/query.operation.ts"],"sourcesContent":[],"mappings":";;;;;;;cAaa,0CAAmB,kCAAA;EAAnB,IAAA,EAAA;IAwBX,IAAA,EAAA,mBAAA,CAAA,SAAA,CAAA,MAAA,EAAA,MAAA,CAAA;;;;;;;;sCAxB8B,CAAA,CAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,CAAA,CAAA;IAAA,UAAA,EAAA,KAAA;;;;;;;;;;;;;;;;;;;;;;;CAAA,CAAA,iCAAA,CAAA;EA6BnB,EAAA,EAAA;IAaX,IAAA,EA1C8B,mBAAA,CAAA,SA0C9B,CAAA,MAAA,EAAA,MAAA,CAAA;;;;;qBAb+B;EAAA,CAAA;;;;;;;;;;IAAA,IAAA,+BAAA,CAAA,OAAA,EAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAApB,2CAAoB,kCAAA;;UAa/B,mBAAA,CAAA;;;;;;;;;;;;;;;;;;;;;UAb+B,mBAAA,CAAA"}
@@ -1,7 +1,7 @@
1
- import { defineCommand, defineQuery } from "../libs/contracts/dist/spec.js";
1
+ import { defineCommand, defineQuery } from "../libs/contracts/dist/operation.js";
2
2
  import { CreateQueryInputModel, ExecuteQueryInputModel, QueryModel, QueryResultModel } from "./query.schema.js";
3
3
 
4
- //#region src/query/query.contracts.ts
4
+ //#region src/query/query.operation.ts
5
5
  const OWNERS = ["@example.analytics-dashboard"];
6
6
  /**
7
7
  * Create a data query.
@@ -63,4 +63,4 @@ const ExecuteQueryContract = defineQuery({
63
63
 
64
64
  //#endregion
65
65
  export { CreateQueryContract, ExecuteQueryContract };
66
- //# sourceMappingURL=query.contracts.js.map
66
+ //# sourceMappingURL=query.operation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.operation.js","names":[],"sources":["../../src/query/query.operation.ts"],"sourcesContent":["import { defineCommand, defineQuery } from '@lssm/lib.contracts/operation';\nimport {\n QueryModel,\n QueryResultModel,\n CreateQueryInputModel,\n ExecuteQueryInputModel,\n} from './query.schema';\n\nconst OWNERS = ['@example.analytics-dashboard'] as const;\n\n/**\n * Create a data query.\n */\nexport const CreateQueryContract = defineCommand({\n meta: {\n name: 'analytics.query.create',\n version: 1,\n stability: 'stable',\n owners: [...OWNERS],\n tags: ['analytics', 'query', 'create'],\n description: 'Create a data query.',\n goal: 'Define reusable data queries.',\n context: 'Query builder.',\n },\n io: { input: CreateQueryInputModel, output: QueryModel },\n policy: { auth: 'user' },\n sideEffects: {\n emits: [\n {\n name: 'analytics.query.created',\n version: 1,\n when: 'Query created',\n payload: QueryModel,\n },\n ],\n audit: ['analytics.query.created'],\n },\n});\n\n/**\n * Execute a data query.\n */\nexport const ExecuteQueryContract = defineQuery({\n meta: {\n name: 'analytics.query.execute',\n version: 1,\n stability: 'stable',\n owners: [...OWNERS],\n tags: ['analytics', 'query', 'execute'],\n description: 'Execute a data query.',\n goal: 'Fetch data for visualizations.',\n context: 'Dashboard rendering.',\n },\n io: { input: ExecuteQueryInputModel, output: QueryResultModel },\n policy: { auth: 'user' },\n});\n"],"mappings":";;;;AAQA,MAAM,SAAS,CAAC,+BAA+B;;;;AAK/C,MAAa,sBAAsB,cAAc;CAC/C,MAAM;EACJ,MAAM;EACN,SAAS;EACT,WAAW;EACX,QAAQ,CAAC,GAAG,OAAO;EACnB,MAAM;GAAC;GAAa;GAAS;GAAS;EACtC,aAAa;EACb,MAAM;EACN,SAAS;EACV;CACD,IAAI;EAAE,OAAO;EAAuB,QAAQ;EAAY;CACxD,QAAQ,EAAE,MAAM,QAAQ;CACxB,aAAa;EACX,OAAO,CACL;GACE,MAAM;GACN,SAAS;GACT,MAAM;GACN,SAAS;GACV,CACF;EACD,OAAO,CAAC,0BAA0B;EACnC;CACF,CAAC;;;;AAKF,MAAa,uBAAuB,YAAY;CAC9C,MAAM;EACJ,MAAM;EACN,SAAS;EACT,WAAW;EACX,QAAQ,CAAC,GAAG,OAAO;EACnB,MAAM;GAAC;GAAa;GAAS;GAAU;EACvC,aAAa;EACb,MAAM;EACN,SAAS;EACV;CACD,IAAI;EAAE,OAAO;EAAwB,QAAQ;EAAkB;CAC/D,QAAQ,EAAE,MAAM,QAAQ;CACzB,CAAC"}