@lucern/sdk 0.2.0-alpha.1 → 0.2.0-alpha.11

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 (317) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +691 -61
  3. package/dist/adminClient.d.ts +409 -0
  4. package/dist/adminClient.js +755 -0
  5. package/dist/adminClient.js.map +1 -0
  6. package/dist/answersClient.d.ts +23 -0
  7. package/dist/answersClient.js +333 -0
  8. package/dist/answersClient.js.map +1 -0
  9. package/dist/audience/index.d.ts +38 -0
  10. package/dist/audience/index.js +110 -0
  11. package/dist/audience/index.js.map +1 -0
  12. package/dist/{packages/sdk/src/audiencesClient.d.ts → audiencesClient.d.ts} +30 -18
  13. package/dist/audiencesClient.js +472 -0
  14. package/dist/audiencesClient.js.map +1 -0
  15. package/dist/auditClient.d.ts +29 -0
  16. package/dist/auditClient.js +386 -0
  17. package/dist/auditClient.js.map +1 -0
  18. package/dist/beliefs/index.d.ts +465 -0
  19. package/dist/beliefs/index.js +6433 -0
  20. package/dist/beliefs/index.js.map +1 -0
  21. package/dist/beliefs/lifecycle.d.ts +24 -0
  22. package/dist/beliefs/lifecycle.js +98 -0
  23. package/dist/beliefs/lifecycle.js.map +1 -0
  24. package/dist/beliefsClient.d.ts +241 -0
  25. package/dist/beliefsClient.js +646 -0
  26. package/dist/beliefsClient.js.map +1 -0
  27. package/dist/client.d.ts +2398 -0
  28. package/dist/client.js +6411 -0
  29. package/dist/client.js.map +1 -0
  30. package/dist/contextClient.d.ts +27 -0
  31. package/dist/contextClient.js +396 -0
  32. package/dist/contextClient.js.map +1 -0
  33. package/dist/contextFacade.d.ts +2 -0
  34. package/dist/contextFacade.js +73 -0
  35. package/dist/contextFacade.js.map +1 -0
  36. package/dist/{lucern/packages/domain-context/src/context-pack-compiler.d.ts → contextPackCompiler.d.ts} +11 -10
  37. package/dist/contextPackCompiler.js +1091 -0
  38. package/dist/contextPackCompiler.js.map +1 -0
  39. package/dist/contextPackPolicy.d.ts +84 -0
  40. package/dist/contextPackPolicy.js +347 -0
  41. package/dist/contextPackPolicy.js.map +1 -0
  42. package/dist/contextPackSchema.d.ts +7 -0
  43. package/dist/contextPackSchema.js +203 -0
  44. package/dist/contextPackSchema.js.map +1 -0
  45. package/dist/contextTypes.d.ts +135 -0
  46. package/dist/contextTypes.js +3 -0
  47. package/dist/contextTypes.js.map +1 -0
  48. package/dist/contracts/api-enums.contract.d.ts +81 -0
  49. package/dist/contracts/api-enums.contract.js +98 -0
  50. package/dist/contracts/api-enums.contract.js.map +1 -0
  51. package/dist/{lucern/contracts/src → contracts}/auth-session.contract.d.ts +14 -12
  52. package/dist/contracts/auth-session.contract.js +48 -0
  53. package/dist/contracts/auth-session.contract.js.map +1 -0
  54. package/dist/{lucern/contracts/src → contracts}/context-pack.contract.d.ts +56 -58
  55. package/dist/contracts/context-pack.contract.js +98 -0
  56. package/dist/contracts/context-pack.contract.js.map +1 -0
  57. package/dist/contracts/contextPack.d.ts +1 -0
  58. package/dist/contracts/contextPack.js +98 -0
  59. package/dist/contracts/contextPack.js.map +1 -0
  60. package/dist/contracts/index.d.ts +9 -0
  61. package/dist/contracts/index.js +4928 -0
  62. package/dist/contracts/index.js.map +1 -0
  63. package/dist/{lucern/contracts/src → contracts}/lens-filter.contract.d.ts +10 -8
  64. package/dist/contracts/lens-filter.contract.js +71 -0
  65. package/dist/contracts/lens-filter.contract.js.map +1 -0
  66. package/dist/contracts/lens-workflow.contract.d.ts +87 -0
  67. package/dist/contracts/lens-workflow.contract.js +123 -0
  68. package/dist/contracts/lens-workflow.contract.js.map +1 -0
  69. package/dist/contracts/lensFilter.d.ts +1 -0
  70. package/dist/contracts/lensFilter.js +71 -0
  71. package/dist/contracts/lensFilter.js.map +1 -0
  72. package/dist/contracts/lensWorkflow.d.ts +2 -0
  73. package/dist/contracts/lensWorkflow.js +123 -0
  74. package/dist/contracts/lensWorkflow.js.map +1 -0
  75. package/dist/contracts/mcp-tools.contract.d.ts +1 -0
  76. package/dist/contracts/mcp-tools.contract.js +3016 -0
  77. package/dist/contracts/mcp-tools.contract.js.map +1 -0
  78. package/dist/contracts/mcpTools.d.ts +1 -0
  79. package/dist/contracts/mcpTools.js +3016 -0
  80. package/dist/contracts/mcpTools.js.map +1 -0
  81. package/dist/contracts/prompt.contract.d.ts +26 -0
  82. package/dist/contracts/prompt.contract.js +12 -0
  83. package/dist/contracts/prompt.contract.js.map +1 -0
  84. package/dist/contracts/prompt.d.ts +1 -0
  85. package/dist/contracts/prompt.js +12 -0
  86. package/dist/contracts/prompt.js.map +1 -0
  87. package/dist/contracts/sdk-tools.contract.d.ts +2 -0
  88. package/dist/contracts/sdk-tools.contract.js +4164 -0
  89. package/dist/contracts/sdk-tools.contract.js.map +1 -0
  90. package/dist/contracts/sdkTools.d.ts +2 -0
  91. package/dist/contracts/sdkTools.js +4164 -0
  92. package/dist/contracts/sdkTools.js.map +1 -0
  93. package/dist/contracts/workflow-runtime.contract.d.ts +163 -0
  94. package/dist/contracts/workflow-runtime.contract.js +245 -0
  95. package/dist/contracts/workflow-runtime.contract.js.map +1 -0
  96. package/dist/contracts/workflowRuntime.d.ts +1 -0
  97. package/dist/contracts/workflowRuntime.js +245 -0
  98. package/dist/contracts/workflowRuntime.js.map +1 -0
  99. package/dist/contradictions/index.d.ts +158 -0
  100. package/dist/contradictions/index.js +6427 -0
  101. package/dist/contradictions/index.js.map +1 -0
  102. package/dist/{packages/sdk/src/controlObjectOwnership.d.ts → controlObjectOwnership.d.ts} +35 -18
  103. package/dist/controlObjectOwnership.js +215 -0
  104. package/dist/controlObjectOwnership.js.map +1 -0
  105. package/dist/{packages/sdk/src/coreClient.d.ts → coreClient.d.ts} +38 -14
  106. package/dist/coreClient.js +339 -0
  107. package/dist/coreClient.js.map +1 -0
  108. package/dist/customTools.d.ts +88 -0
  109. package/dist/customTools.js +248 -0
  110. package/dist/customTools.js.map +1 -0
  111. package/dist/decisions/index.d.ts +68 -0
  112. package/dist/decisions/index.js +6429 -0
  113. package/dist/decisions/index.js.map +1 -0
  114. package/dist/decisionsClient.d.ts +111 -0
  115. package/dist/decisionsClient.js +522 -0
  116. package/dist/decisionsClient.js.map +1 -0
  117. package/dist/domainContext.d.ts +1 -0
  118. package/dist/domainContext.js +3 -0
  119. package/dist/domainContext.js.map +1 -0
  120. package/dist/edges/index.d.ts +204 -0
  121. package/dist/edges/index.js +6428 -0
  122. package/dist/edges/index.js.map +1 -0
  123. package/dist/events.d.ts +178 -0
  124. package/dist/events.js +251 -0
  125. package/dist/events.js.map +1 -0
  126. package/dist/eventsCore.d.ts +49 -0
  127. package/dist/eventsCore.js +429 -0
  128. package/dist/eventsCore.js.map +1 -0
  129. package/dist/evidence/index.d.ts +295 -0
  130. package/dist/evidence/index.js +6428 -0
  131. package/dist/evidence/index.js.map +1 -0
  132. package/dist/evidenceClient.d.ts +119 -0
  133. package/dist/evidenceClient.js +350 -0
  134. package/dist/evidenceClient.js.map +1 -0
  135. package/dist/facade/context.d.ts +18 -0
  136. package/dist/facade/context.js +73 -0
  137. package/dist/facade/context.js.map +1 -0
  138. package/dist/gatewayFacades.d.ts +589 -0
  139. package/dist/gatewayFacades.js +2006 -0
  140. package/dist/gatewayFacades.js.map +1 -0
  141. package/dist/graphClient.d.ts +271 -0
  142. package/dist/graphClient.js +698 -0
  143. package/dist/graphClient.js.map +1 -0
  144. package/dist/{packages/sdk/src/harnessClient.d.ts → harnessClient.d.ts} +127 -35
  145. package/dist/harnessClient.js +607 -0
  146. package/dist/harnessClient.js.map +1 -0
  147. package/dist/identityClient.d.ts +140 -0
  148. package/dist/identityClient.js +497 -0
  149. package/dist/identityClient.js.map +1 -0
  150. package/dist/index.d.ts +45 -0
  151. package/dist/index.js +5284 -2568
  152. package/dist/index.js.map +1 -1
  153. package/dist/learningClient.d.ts +46 -0
  154. package/dist/learningClient.js +409 -0
  155. package/dist/learningClient.js.map +1 -0
  156. package/dist/lenses/index.d.ts +194 -0
  157. package/dist/lenses/index.js +6427 -0
  158. package/dist/lenses/index.js.map +1 -0
  159. package/dist/{packages/sdk/src/mcpParityClient.d.ts → mcpParityClient.d.ts} +11 -5
  160. package/dist/mcpParityClient.js +516 -0
  161. package/dist/mcpParityClient.js.map +1 -0
  162. package/dist/mcpParitySurface.d.ts +12 -0
  163. package/dist/mcpParitySurface.js +65 -0
  164. package/dist/mcpParitySurface.js.map +1 -0
  165. package/dist/mcpTools-DPZxowDX.d.ts +254 -0
  166. package/dist/nodes/index.d.ts +62 -0
  167. package/dist/nodes/index.js +6429 -0
  168. package/dist/nodes/index.js.map +1 -0
  169. package/dist/ontologies/index.d.ts +178 -0
  170. package/dist/ontologies/index.js +6430 -0
  171. package/dist/ontologies/index.js.map +1 -0
  172. package/dist/{packages/sdk/src/ontologyClient.d.ts → ontologyClient.d.ts} +44 -22
  173. package/dist/ontologyClient.js +513 -0
  174. package/dist/ontologyClient.js.map +1 -0
  175. package/dist/opinion.d.ts +11 -0
  176. package/dist/opinion.js +35 -0
  177. package/dist/opinion.js.map +1 -0
  178. package/dist/packRuntime.d.ts +2 -0
  179. package/dist/packRuntime.js +3 -0
  180. package/dist/packRuntime.js.map +1 -0
  181. package/dist/packsClient.d.ts +131 -0
  182. package/dist/packsClient.js +525 -0
  183. package/dist/packsClient.js.map +1 -0
  184. package/dist/{packages/sdk/src/policyClient.d.ts → policyClient.d.ts} +113 -18
  185. package/dist/policyClient.js +625 -0
  186. package/dist/policyClient.js.map +1 -0
  187. package/dist/questions/index.d.ts +297 -0
  188. package/dist/questions/index.js +6430 -0
  189. package/dist/questions/index.js.map +1 -0
  190. package/dist/realtime/index.d.ts +29 -0
  191. package/dist/realtime/index.js +23 -0
  192. package/dist/realtime/index.js.map +1 -0
  193. package/dist/realtime/refs.d.ts +17 -0
  194. package/dist/realtime/refs.js +9 -0
  195. package/dist/realtime/refs.js.map +1 -0
  196. package/dist/reportsClient.d.ts +41 -0
  197. package/dist/reportsClient.js +418 -0
  198. package/dist/reportsClient.js.map +1 -0
  199. package/dist/schemaClient.d.ts +64 -0
  200. package/dist/schemaClient.js +434 -0
  201. package/dist/schemaClient.js.map +1 -0
  202. package/dist/sdkSurface.d.ts +61 -0
  203. package/dist/sdkSurface.js +112 -0
  204. package/dist/sdkSurface.js.map +1 -0
  205. package/dist/sdkTools-CwXJDACb.d.ts +150 -0
  206. package/dist/sourcesClient.d.ts +24 -0
  207. package/dist/sourcesClient.js +339 -0
  208. package/dist/sourcesClient.js.map +1 -0
  209. package/dist/topics/index.d.ts +68 -0
  210. package/dist/topics/index.js +6428 -0
  211. package/dist/topics/index.js.map +1 -0
  212. package/dist/topicsClient.d.ts +84 -0
  213. package/dist/topicsClient.js +492 -0
  214. package/dist/topicsClient.js.map +1 -0
  215. package/dist/types.d.ts +715 -0
  216. package/dist/types.js +3 -0
  217. package/dist/types.js.map +1 -0
  218. package/dist/version.d.ts +4 -0
  219. package/dist/version.js +6 -0
  220. package/dist/version.js.map +1 -0
  221. package/dist/workflowClient.d.ts +316 -0
  222. package/dist/workflowClient.js +830 -0
  223. package/dist/workflowClient.js.map +1 -0
  224. package/dist/worktrees/index.d.ts +210 -0
  225. package/dist/worktrees/index.js +6430 -0
  226. package/dist/worktrees/index.js.map +1 -0
  227. package/package.json +92 -37
  228. package/dist/lucern/contracts/src/lens-workflow.contract.d.ts +0 -84
  229. package/dist/lucern/contracts/src/mcp-tools.contract.d.ts +0 -151
  230. package/dist/lucern/contracts/src/workflow-runtime.contract.d.ts +0 -161
  231. package/dist/lucern/mcp-server/src/context-pack-policy.d.ts +0 -119
  232. package/dist/lucern/mcp-server/src/context-pack-schema.d.ts +0 -18
  233. package/dist/lucern/modules/graph-primitives/src/ontology-matching.d.ts +0 -78
  234. package/dist/lucern/modules/graph-primitives/src/text-matching.d.ts +0 -53
  235. package/dist/lucern/packages/client-core/src/beliefs.d.ts +0 -30
  236. package/dist/lucern/packages/client-core/src/context.d.ts +0 -29
  237. package/dist/lucern/packages/client-core/src/contradictions.d.ts +0 -11
  238. package/dist/lucern/packages/client-core/src/edges.d.ts +0 -11
  239. package/dist/lucern/packages/client-core/src/events.d.ts +0 -9
  240. package/dist/lucern/packages/client-core/src/evidence.d.ts +0 -21
  241. package/dist/lucern/packages/client-core/src/graph.d.ts +0 -17
  242. package/dist/lucern/packages/client-core/src/identity.d.ts +0 -7
  243. package/dist/lucern/packages/client-core/src/ids.d.ts +0 -7
  244. package/dist/lucern/packages/client-core/src/ontologies.d.ts +0 -13
  245. package/dist/lucern/packages/client-core/src/questions.d.ts +0 -39
  246. package/dist/lucern/packages/client-core/src/search.d.ts +0 -7
  247. package/dist/lucern/packages/client-core/src/tasks.d.ts +0 -13
  248. package/dist/lucern/packages/client-core/src/topics.d.ts +0 -17
  249. package/dist/lucern/packages/client-core/src/webhooks.d.ts +0 -35
  250. package/dist/lucern/packages/client-core/src/worktrees.d.ts +0 -17
  251. package/dist/lucern/packages/domain-beliefs/src/beliefs.d.ts +0 -283
  252. package/dist/lucern/packages/domain-beliefs/src/index.d.ts +0 -1
  253. package/dist/lucern/packages/domain-context/src/compile.d.ts +0 -11
  254. package/dist/lucern/packages/domain-context/src/index.d.ts +0 -4
  255. package/dist/lucern/packages/domain-context/src/ports.d.ts +0 -58
  256. package/dist/lucern/packages/domain-context/src/public-types.d.ts +0 -1
  257. package/dist/lucern/packages/domain-edges/src/contradictions.d.ts +0 -59
  258. package/dist/lucern/packages/domain-edges/src/edges.d.ts +0 -91
  259. package/dist/lucern/packages/domain-edges/src/index.d.ts +0 -2
  260. package/dist/lucern/packages/domain-evidence/src/evidence.d.ts +0 -115
  261. package/dist/lucern/packages/domain-evidence/src/index.d.ts +0 -1
  262. package/dist/lucern/packages/domain-graph/src/graph.d.ts +0 -150
  263. package/dist/lucern/packages/domain-identity/src/index.d.ts +0 -1
  264. package/dist/lucern/packages/domain-identity/src/whoami.d.ts +0 -13
  265. package/dist/lucern/packages/domain-ontologies/src/ontologies.d.ts +0 -123
  266. package/dist/lucern/packages/domain-questions/src/index.d.ts +0 -1
  267. package/dist/lucern/packages/domain-questions/src/questions.d.ts +0 -147
  268. package/dist/lucern/packages/domain-search/src/search.d.ts +0 -97
  269. package/dist/lucern/packages/domain-tasks/src/index.d.ts +0 -1
  270. package/dist/lucern/packages/domain-tasks/src/tasks.d.ts +0 -102
  271. package/dist/lucern/packages/domain-topics/src/index.d.ts +0 -1
  272. package/dist/lucern/packages/domain-topics/src/topics.d.ts +0 -147
  273. package/dist/lucern/packages/domain-worktrees/src/index.d.ts +0 -1
  274. package/dist/lucern/packages/domain-worktrees/src/worktrees.d.ts +0 -185
  275. package/dist/lucern/packages/events/src/index.d.ts +0 -4
  276. package/dist/lucern/packages/events/src/matching.d.ts +0 -3
  277. package/dist/lucern/packages/events/src/outbox.d.ts +0 -15
  278. package/dist/lucern/packages/events/src/types.d.ts +0 -151
  279. package/dist/lucern/packages/events/src/webhooks.d.ts +0 -9
  280. package/dist/lucern/packages/sdk-typescript/src/facade/beliefs.d.ts +0 -15
  281. package/dist/lucern/packages/sdk-typescript/src/facade/context.d.ts +0 -12
  282. package/dist/lucern/packages/sdk-typescript/src/facade/contradictions.d.ts +0 -7
  283. package/dist/lucern/packages/sdk-typescript/src/facade/edges.d.ts +0 -7
  284. package/dist/lucern/packages/sdk-typescript/src/facade/events.d.ts +0 -6
  285. package/dist/lucern/packages/sdk-typescript/src/facade/evidence.d.ts +0 -21
  286. package/dist/lucern/packages/sdk-typescript/src/facade/graph.d.ts +0 -10
  287. package/dist/lucern/packages/sdk-typescript/src/facade/identity.d.ts +0 -5
  288. package/dist/lucern/packages/sdk-typescript/src/facade/ontologies.d.ts +0 -8
  289. package/dist/lucern/packages/sdk-typescript/src/facade/questions.d.ts +0 -39
  290. package/dist/lucern/packages/sdk-typescript/src/facade/search.d.ts +0 -5
  291. package/dist/lucern/packages/sdk-typescript/src/facade/tasks.d.ts +0 -8
  292. package/dist/lucern/packages/sdk-typescript/src/facade/topics.d.ts +0 -10
  293. package/dist/lucern/packages/sdk-typescript/src/facade/webhooks.d.ts +0 -16
  294. package/dist/lucern/packages/sdk-typescript/src/facade/worktrees.d.ts +0 -10
  295. package/dist/lucern/packages/sdk-typescript/src/index.d.ts +0 -28
  296. package/dist/packages/sdk/src/adminClient.d.ts +0 -89
  297. package/dist/packages/sdk/src/answersClient.d.ts +0 -5
  298. package/dist/packages/sdk/src/auditClient.d.ts +0 -23
  299. package/dist/packages/sdk/src/beliefsClient.d.ts +0 -54
  300. package/dist/packages/sdk/src/client.d.ts +0 -1610
  301. package/dist/packages/sdk/src/contextClient.d.ts +0 -9
  302. package/dist/packages/sdk/src/contracts/api-enums.contract.d.ts +0 -58
  303. package/dist/packages/sdk/src/customTools.d.ts +0 -65
  304. package/dist/packages/sdk/src/decisionsClient.d.ts +0 -110
  305. package/dist/packages/sdk/src/graphClient.d.ts +0 -209
  306. package/dist/packages/sdk/src/identityClient.d.ts +0 -104
  307. package/dist/packages/sdk/src/index.d.ts +0 -28
  308. package/dist/packages/sdk/src/learningClient.d.ts +0 -43
  309. package/dist/packages/sdk/src/mcpParitySurface.d.ts +0 -8
  310. package/dist/packages/sdk/src/packsClient.d.ts +0 -101
  311. package/dist/packages/sdk/src/reportsClient.d.ts +0 -31
  312. package/dist/packages/sdk/src/schemaClient.d.ts +0 -54
  313. package/dist/packages/sdk/src/sdkSurface.d.ts +0 -56
  314. package/dist/packages/sdk/src/topicsClient.d.ts +0 -45
  315. package/dist/packages/sdk/src/types.d.ts +0 -489
  316. package/dist/packages/sdk/src/version.d.ts +0 -2
  317. package/dist/packages/sdk/src/workflowClient.d.ts +0 -274
@@ -0,0 +1,110 @@
1
+ // src/audience/index.ts
2
+ var AUDIENCE_CLASS_RANK = {
3
+ public: 0,
4
+ restricted_external: 1,
5
+ internal: 2
6
+ };
7
+ function normalizeKey(key) {
8
+ return (key ?? "").trim().toLowerCase().replace(/[^a-z0-9:_-]+/g, "_").replace(/_+/g, "_").replace(/^_+|_+$/g, "");
9
+ }
10
+ function normalizeAudienceKey(key) {
11
+ return normalizeKey(key);
12
+ }
13
+ function normalizeAudienceMode(mode) {
14
+ if (mode === "public" || mode === "lp" || mode === "internal") {
15
+ return mode;
16
+ }
17
+ return "internal";
18
+ }
19
+ function classFromAudienceMode(mode) {
20
+ if (mode === "public") {
21
+ return "public";
22
+ }
23
+ if (mode === "lp") {
24
+ return "restricted_external";
25
+ }
26
+ return "internal";
27
+ }
28
+ function modeFromAudienceClass(audienceClass) {
29
+ if (audienceClass === "public") {
30
+ return "public";
31
+ }
32
+ if (audienceClass === "restricted_external") {
33
+ return "lp";
34
+ }
35
+ return "internal";
36
+ }
37
+ function classFromAudienceKey(audienceKey, fallback = "internal") {
38
+ const key = normalizeKey(audienceKey);
39
+ if (!key) {
40
+ return fallback;
41
+ }
42
+ if (key === "internal") {
43
+ return "internal";
44
+ }
45
+ if (key === "public") {
46
+ return "public";
47
+ }
48
+ if (key === "lp" || key === "external" || key === "client" || key === "partner" || key === "portfolio" || key === "network" || key === "restricted_external") {
49
+ return "restricted_external";
50
+ }
51
+ return fallback;
52
+ }
53
+ function resolveAudience(args) {
54
+ const fallbackMode = normalizeAudienceMode(args?.audienceMode);
55
+ const fallbackKey = normalizeKey(args?.audienceKey) || fallbackMode;
56
+ const fallbackClass = args?.audienceClass ?? classFromAudienceKey(fallbackKey);
57
+ return {
58
+ audienceKey: fallbackKey,
59
+ audienceClass: fallbackClass,
60
+ audienceMode: modeFromAudienceClass(fallbackClass)
61
+ };
62
+ }
63
+ function canViewAudienceLabel(viewerAudience, resourceAudienceLabel) {
64
+ const viewerClass = classFromAudienceKey(viewerAudience, "public");
65
+ const resourceClass = classFromAudienceKey(resourceAudienceLabel, "internal");
66
+ return canAudienceClassAccess(viewerClass, resourceClass);
67
+ }
68
+ function canAudienceClassAccess(viewerClass, resourceClass) {
69
+ return AUDIENCE_CLASS_RANK[viewerClass] >= AUDIENCE_CLASS_RANK[resourceClass];
70
+ }
71
+ function deriveAllowedAudienceClasses(visibility) {
72
+ if (visibility === "public") {
73
+ return ["internal", "restricted_external", "public"];
74
+ }
75
+ if (visibility === "firm" || visibility === "external") {
76
+ return ["internal", "restricted_external"];
77
+ }
78
+ return ["internal"];
79
+ }
80
+ function unique(items) {
81
+ return [...new Set(items)];
82
+ }
83
+ function intersect(left, right) {
84
+ const rightSet = new Set(right);
85
+ return left.filter((entry) => rightSet.has(entry));
86
+ }
87
+ function intersectAudienceScopes(visibilityScope, principalScope) {
88
+ const allowedAudienceClasses = intersect(
89
+ visibilityScope.allowedAudienceClasses,
90
+ principalScope.allowedAudienceClasses
91
+ );
92
+ const allowedAudienceKeys = intersect(
93
+ visibilityScope.allowedAudienceKeys.map(
94
+ (entry) => normalizeAudienceKey(entry)
95
+ ),
96
+ principalScope.allowedAudienceKeys.map((entry) => normalizeAudienceKey(entry))
97
+ ).filter(Boolean);
98
+ const mergedClasses = unique(allowedAudienceClasses);
99
+ return {
100
+ allowedAudienceClasses: mergedClasses,
101
+ allowedAudienceKeys: unique(allowedAudienceKeys),
102
+ allowedAudienceModes: unique(
103
+ mergedClasses.map((audienceClass) => modeFromAudienceClass(audienceClass))
104
+ )
105
+ };
106
+ }
107
+
108
+ export { AUDIENCE_CLASS_RANK, canAudienceClassAccess, canViewAudienceLabel, classFromAudienceKey, classFromAudienceMode, deriveAllowedAudienceClasses, intersectAudienceScopes, modeFromAudienceClass, normalizeAudienceKey, normalizeAudienceMode, resolveAudience };
109
+ //# sourceMappingURL=index.js.map
110
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/audience/index.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["export type AudienceMode = \"internal\" | \"lp\" | \"public\";\nexport type AudienceClass = \"internal\" | \"restricted_external\" | \"public\";\n\nexport type ResolvedAudience = {\n audienceKey: string;\n audienceClass: AudienceClass;\n audienceMode: AudienceMode;\n};\n\nexport type AllowedAudienceScope = {\n allowedAudienceClasses: AudienceClass[];\n allowedAudienceKeys: string[];\n allowedAudienceModes: AudienceMode[];\n};\n\nexport type PrincipalAudienceScope = {\n mode: \"legacy_open\" | \"grant_enforced\" | \"admin_override\";\n grantModelEnabled: boolean;\n grantedAudienceKeys: string[];\n grantedAudienceClasses: AudienceClass[];\n allowedAudienceKeys: string[];\n allowedAudienceClasses: AudienceClass[];\n allowedAudienceModes: AudienceMode[];\n};\n\nexport const AUDIENCE_CLASS_RANK: Record<AudienceClass, number> = {\n public: 0,\n restricted_external: 1,\n internal: 2,\n};\n\nfunction normalizeKey(key: string | undefined | null): string {\n return (key ?? \"\")\n .trim()\n .toLowerCase()\n .replace(/[^a-z0-9:_-]+/g, \"_\")\n .replace(/_+/g, \"_\")\n .replace(/^_+|_+$/g, \"\");\n}\n\nexport function normalizeAudienceKey(key: string | undefined | null): string {\n return normalizeKey(key);\n}\n\nexport function normalizeAudienceMode(\n mode: string | undefined | null\n): AudienceMode {\n if (mode === \"public\" || mode === \"lp\" || mode === \"internal\") {\n return mode;\n }\n return \"internal\";\n}\n\nexport function classFromAudienceMode(mode: AudienceMode): AudienceClass {\n if (mode === \"public\") {\n return \"public\";\n }\n if (mode === \"lp\") {\n return \"restricted_external\";\n }\n return \"internal\";\n}\n\nexport function modeFromAudienceClass(\n audienceClass: AudienceClass\n): AudienceMode {\n if (audienceClass === \"public\") {\n return \"public\";\n }\n if (audienceClass === \"restricted_external\") {\n return \"lp\";\n }\n return \"internal\";\n}\n\nexport function classFromAudienceKey(\n audienceKey: string | undefined | null,\n fallback: AudienceClass = \"internal\"\n): AudienceClass {\n const key = normalizeKey(audienceKey);\n if (!key) {\n return fallback;\n }\n if (key === \"internal\") {\n return \"internal\";\n }\n if (key === \"public\") {\n return \"public\";\n }\n if (\n key === \"lp\" ||\n key === \"external\" ||\n key === \"client\" ||\n key === \"partner\" ||\n key === \"portfolio\" ||\n key === \"network\" ||\n key === \"restricted_external\"\n ) {\n return \"restricted_external\";\n }\n return fallback;\n}\n\nexport function resolveAudience(args?: {\n audienceMode?: string | null;\n audienceKey?: string | null;\n audienceClass?: AudienceClass | null;\n}): ResolvedAudience {\n const fallbackMode = normalizeAudienceMode(args?.audienceMode);\n const fallbackKey = normalizeKey(args?.audienceKey) || fallbackMode;\n const fallbackClass =\n args?.audienceClass ?? classFromAudienceKey(fallbackKey);\n\n return {\n audienceKey: fallbackKey,\n audienceClass: fallbackClass,\n audienceMode: modeFromAudienceClass(fallbackClass),\n };\n}\n\nexport function canViewAudienceLabel(\n viewerAudience: string,\n resourceAudienceLabel: string | undefined | null\n): boolean {\n const viewerClass = classFromAudienceKey(viewerAudience, \"public\");\n const resourceClass = classFromAudienceKey(resourceAudienceLabel, \"internal\");\n return canAudienceClassAccess(viewerClass, resourceClass);\n}\n\nexport function canAudienceClassAccess(\n viewerClass: AudienceClass,\n resourceClass: AudienceClass\n): boolean {\n return AUDIENCE_CLASS_RANK[viewerClass] >= AUDIENCE_CLASS_RANK[resourceClass];\n}\n\nexport function deriveAllowedAudienceClasses(\n visibility: string | undefined | null\n): AudienceClass[] {\n if (visibility === \"public\") {\n return [\"internal\", \"restricted_external\", \"public\"];\n }\n if (visibility === \"firm\" || visibility === \"external\") {\n return [\"internal\", \"restricted_external\"];\n }\n return [\"internal\"];\n}\n\nfunction unique<T>(items: T[]): T[] {\n return [...new Set(items)];\n}\n\nfunction intersect<T>(left: T[], right: T[]): T[] {\n const rightSet = new Set(right);\n return left.filter((entry) => rightSet.has(entry));\n}\n\nexport function intersectAudienceScopes(\n visibilityScope: AllowedAudienceScope,\n principalScope: PrincipalAudienceScope\n): AllowedAudienceScope {\n const allowedAudienceClasses = intersect(\n visibilityScope.allowedAudienceClasses,\n principalScope.allowedAudienceClasses\n );\n const allowedAudienceKeys = intersect(\n visibilityScope.allowedAudienceKeys.map((entry) =>\n normalizeAudienceKey(entry)\n ),\n principalScope.allowedAudienceKeys.map((entry) => normalizeAudienceKey(entry))\n ).filter(Boolean);\n const mergedClasses = unique(allowedAudienceClasses);\n return {\n allowedAudienceClasses: mergedClasses,\n allowedAudienceKeys: unique(allowedAudienceKeys),\n allowedAudienceModes: unique(\n mergedClasses.map((audienceClass) => modeFromAudienceClass(audienceClass))\n ),\n };\n}\n"]}
@@ -1,7 +1,13 @@
1
- import { type GatewayClientConfig, type GatewayScope } from "./coreClient";
2
- import type { JsonObject } from "./types";
3
- export type AudiencesClientConfig = GatewayClientConfig;
4
- export type AudienceRegistryInput = GatewayScope & {
1
+ import { GatewayClientConfig, GatewayScope, PlatformGatewaySuccess } from './coreClient.js';
2
+ import { JsonObject, ListResult } from './types.js';
3
+ import './contracts/workflow-runtime.contract.js';
4
+ import './contracts/lens-workflow.contract.js';
5
+ import './contracts/lens-filter.contract.js';
6
+
7
+ /** Configuration for the audiences client. */
8
+ type AudiencesClientConfig = GatewayClientConfig;
9
+ /** Input for creating or updating an audience registry entry. */
10
+ type AudienceRegistryInput = GatewayScope & {
5
11
  audienceKey: string;
6
12
  audienceLabel: string;
7
13
  audienceClass: "internal" | "restricted_external" | "public";
@@ -9,7 +15,8 @@ export type AudienceRegistryInput = GatewayScope & {
9
15
  description?: string;
10
16
  metadata?: JsonObject;
11
17
  };
12
- export type AudienceGrantInput = GatewayScope & {
18
+ /** Input for creating an audience access grant. */
19
+ type AudienceGrantInput = GatewayScope & {
13
20
  audienceKey: string;
14
21
  audienceClass?: "internal" | "restricted_external" | "public";
15
22
  principalId?: string;
@@ -17,39 +24,42 @@ export type AudienceGrantInput = GatewayScope & {
17
24
  expiresAt?: number;
18
25
  metadata?: JsonObject;
19
26
  };
20
- export type AudienceGrantRevokeInput = GatewayScope & {
27
+ /** Input for revoking an audience grant by its identifier. */
28
+ type AudienceGrantRevokeInput = GatewayScope & {
21
29
  grantId: string;
22
30
  };
23
31
  /**
24
32
  * Create the audiences client for registry entries and grants.
33
+ * @param config - Gateway transport configuration.
34
+ * @returns An object with methods to manage audience registry entries and grants.
25
35
  */
26
- export declare function createAudiencesClient(config?: AudiencesClientConfig): {
36
+ declare function createAudiencesClient(config?: AudiencesClientConfig): {
27
37
  /**
28
38
  * List audience registry entries.
29
39
  */
30
40
  listRegistry(query?: GatewayScope & {
31
41
  effective?: boolean;
32
42
  status?: "active" | "disabled" | "archived";
33
- }): Promise<import("./coreClient").PlatformGatewaySuccess<import("./types").ListResult<any, "registryEntries">>>;
43
+ }): Promise<PlatformGatewaySuccess<ListResult<any, "registryEntries">>>;
34
44
  /**
35
45
  * @deprecated Use listRegistry.
36
46
  */
37
47
  getRegistry(query?: GatewayScope & {
38
48
  effective?: boolean;
39
49
  status?: "active" | "disabled" | "archived";
40
- }): Promise<import("./coreClient").PlatformGatewaySuccess<import("./types").ListResult<any, "registryEntries">>>;
50
+ }): Promise<PlatformGatewaySuccess<ListResult<any, "registryEntries">>>;
41
51
  /**
42
52
  * Create an audience registry entry.
43
53
  */
44
- createRegistryEntry(input: AudienceRegistryInput, idempotencyKey?: string): Promise<import("./coreClient").PlatformGatewaySuccess<unknown>>;
54
+ createRegistryEntry(input: AudienceRegistryInput, idempotencyKey?: string): Promise<PlatformGatewaySuccess<unknown>>;
45
55
  /**
46
56
  * Update an audience registry entry.
47
57
  */
48
- updateRegistryEntry(input: AudienceRegistryInput, idempotencyKey?: string): Promise<import("./coreClient").PlatformGatewaySuccess<unknown>>;
58
+ updateRegistryEntry(input: AudienceRegistryInput, idempotencyKey?: string): Promise<PlatformGatewaySuccess<unknown>>;
49
59
  /**
50
60
  * @deprecated Use createRegistryEntry or updateRegistryEntry.
51
61
  */
52
- upsertRegistry(input: AudienceRegistryInput, idempotencyKey?: string): Promise<import("./coreClient").PlatformGatewaySuccess<unknown>>;
62
+ upsertRegistry(input: AudienceRegistryInput, idempotencyKey?: string): Promise<PlatformGatewaySuccess<unknown>>;
53
63
  /**
54
64
  * List audience grants.
55
65
  */
@@ -58,7 +68,7 @@ export declare function createAudiencesClient(config?: AudiencesClientConfig): {
58
68
  principalId?: string;
59
69
  groupId?: string;
60
70
  status?: "active" | "revoked" | "expired";
61
- }): Promise<import("./coreClient").PlatformGatewaySuccess<import("./types").ListResult<any, "grants">>>;
71
+ }): Promise<PlatformGatewaySuccess<ListResult<any, "grants">>>;
62
72
  /**
63
73
  * @deprecated Use listGrants.
64
74
  */
@@ -67,21 +77,23 @@ export declare function createAudiencesClient(config?: AudiencesClientConfig): {
67
77
  principalId?: string;
68
78
  groupId?: string;
69
79
  status?: "active" | "revoked" | "expired";
70
- }): Promise<import("./coreClient").PlatformGatewaySuccess<import("./types").ListResult<any, "grants">>>;
80
+ }): Promise<PlatformGatewaySuccess<ListResult<any, "grants">>>;
71
81
  /**
72
82
  * Create an audience grant.
73
83
  */
74
- createGrant(input: AudienceGrantInput, idempotencyKey?: string): Promise<import("./coreClient").PlatformGatewaySuccess<unknown>>;
84
+ createGrant(input: AudienceGrantInput, idempotencyKey?: string): Promise<PlatformGatewaySuccess<unknown>>;
75
85
  /**
76
86
  * @deprecated Use createGrant.
77
87
  */
78
- grant(input: AudienceGrantInput, idempotencyKey?: string): Promise<import("./coreClient").PlatformGatewaySuccess<unknown>>;
88
+ grant(input: AudienceGrantInput, idempotencyKey?: string): Promise<PlatformGatewaySuccess<unknown>>;
79
89
  /**
80
90
  * Delete an audience grant by revoking it.
81
91
  */
82
- deleteGrant(input: AudienceGrantRevokeInput, idempotencyKey?: string): Promise<import("./coreClient").PlatformGatewaySuccess<unknown>>;
92
+ deleteGrant(input: AudienceGrantRevokeInput, idempotencyKey?: string): Promise<PlatformGatewaySuccess<unknown>>;
83
93
  /**
84
94
  * @deprecated Use deleteGrant.
85
95
  */
86
- revokeGrant(input: AudienceGrantRevokeInput, idempotencyKey?: string): Promise<import("./coreClient").PlatformGatewaySuccess<unknown>>;
96
+ revokeGrant(input: AudienceGrantRevokeInput, idempotencyKey?: string): Promise<PlatformGatewaySuccess<unknown>>;
87
97
  };
98
+
99
+ export { type AudienceGrantInput, type AudienceGrantRevokeInput, type AudienceRegistryInput, type AudiencesClientConfig, createAudiencesClient };