@lucern/sdk 0.2.0-alpha.7 → 0.2.0-alpha.9

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 (257) hide show
  1. package/dist/adminClient.d.ts +409 -0
  2. package/dist/adminClient.js +755 -0
  3. package/dist/adminClient.js.map +1 -0
  4. package/dist/answersClient.d.ts +23 -0
  5. package/dist/answersClient.js +333 -0
  6. package/dist/answersClient.js.map +1 -0
  7. package/dist/audiencesClient.d.ts +99 -0
  8. package/dist/audiencesClient.js +472 -0
  9. package/dist/audiencesClient.js.map +1 -0
  10. package/dist/auditClient.d.ts +29 -0
  11. package/dist/auditClient.js +386 -0
  12. package/dist/auditClient.js.map +1 -0
  13. package/dist/beliefsClient.d.ts +162 -0
  14. package/dist/beliefsClient.js +477 -0
  15. package/dist/beliefsClient.js.map +1 -0
  16. package/dist/client.d.ts +2378 -0
  17. package/dist/client.js +6134 -0
  18. package/dist/client.js.map +1 -0
  19. package/dist/contextClient.d.ts +27 -0
  20. package/dist/contextClient.js +396 -0
  21. package/dist/contextClient.js.map +1 -0
  22. package/dist/contextFacade.d.ts +2 -0
  23. package/dist/contextFacade.js +73 -0
  24. package/dist/contextFacade.js.map +1 -0
  25. package/dist/contextPackCompiler.d.ts +102 -0
  26. package/dist/contextPackCompiler.js +1091 -0
  27. package/dist/contextPackCompiler.js.map +1 -0
  28. package/dist/contextPackPolicy.d.ts +84 -0
  29. package/dist/contextPackPolicy.js +347 -0
  30. package/dist/contextPackPolicy.js.map +1 -0
  31. package/dist/contextPackSchema.d.ts +7 -0
  32. package/{src/contextPackSchema.ts → dist/contextPackSchema.js} +22 -70
  33. package/dist/contextPackSchema.js.map +1 -0
  34. package/dist/contextTypes.d.ts +135 -0
  35. package/dist/contextTypes.js +3 -0
  36. package/dist/contextTypes.js.map +1 -0
  37. package/dist/contracts/api-enums.contract.d.ts +81 -0
  38. package/dist/contracts/api-enums.contract.js +92 -0
  39. package/dist/contracts/api-enums.contract.js.map +1 -0
  40. package/dist/contracts/auth-session.contract.d.ts +55 -0
  41. package/dist/contracts/auth-session.contract.js +48 -0
  42. package/dist/contracts/auth-session.contract.js.map +1 -0
  43. package/dist/contracts/context-pack.contract.d.ts +492 -0
  44. package/dist/contracts/context-pack.contract.js +98 -0
  45. package/dist/contracts/context-pack.contract.js.map +1 -0
  46. package/dist/contracts/contextPack.d.ts +1 -0
  47. package/dist/contracts/contextPack.js +98 -0
  48. package/dist/contracts/contextPack.js.map +1 -0
  49. package/dist/contracts/index.d.ts +9 -0
  50. package/dist/contracts/index.js +4892 -0
  51. package/dist/contracts/index.js.map +1 -0
  52. package/dist/contracts/lens-filter.contract.d.ts +72 -0
  53. package/dist/contracts/lens-filter.contract.js +71 -0
  54. package/dist/contracts/lens-filter.contract.js.map +1 -0
  55. package/dist/contracts/lens-workflow.contract.d.ts +87 -0
  56. package/dist/contracts/lens-workflow.contract.js +123 -0
  57. package/dist/contracts/lens-workflow.contract.js.map +1 -0
  58. package/dist/contracts/lensFilter.d.ts +1 -0
  59. package/dist/contracts/lensFilter.js +71 -0
  60. package/dist/contracts/lensFilter.js.map +1 -0
  61. package/dist/contracts/lensWorkflow.d.ts +2 -0
  62. package/dist/contracts/lensWorkflow.js +123 -0
  63. package/dist/contracts/lensWorkflow.js.map +1 -0
  64. package/dist/contracts/mcp-tools.contract.d.ts +1 -0
  65. package/dist/contracts/mcp-tools.contract.js +2986 -0
  66. package/dist/contracts/mcp-tools.contract.js.map +1 -0
  67. package/dist/contracts/mcpTools.d.ts +1 -0
  68. package/dist/contracts/mcpTools.js +2986 -0
  69. package/dist/contracts/mcpTools.js.map +1 -0
  70. package/dist/contracts/prompt.contract.d.ts +26 -0
  71. package/dist/contracts/prompt.contract.js +12 -0
  72. package/dist/contracts/prompt.contract.js.map +1 -0
  73. package/dist/contracts/prompt.d.ts +1 -0
  74. package/dist/contracts/prompt.js +12 -0
  75. package/dist/contracts/prompt.js.map +1 -0
  76. package/dist/contracts/sdk-tools.contract.d.ts +2 -0
  77. package/dist/contracts/sdk-tools.contract.js +4134 -0
  78. package/dist/contracts/sdk-tools.contract.js.map +1 -0
  79. package/dist/contracts/sdkTools.d.ts +2 -0
  80. package/dist/contracts/sdkTools.js +4134 -0
  81. package/dist/contracts/sdkTools.js.map +1 -0
  82. package/dist/contracts/workflow-runtime.contract.d.ts +163 -0
  83. package/dist/contracts/workflow-runtime.contract.js +245 -0
  84. package/dist/contracts/workflow-runtime.contract.js.map +1 -0
  85. package/dist/contracts/workflowRuntime.d.ts +1 -0
  86. package/dist/contracts/workflowRuntime.js +245 -0
  87. package/dist/contracts/workflowRuntime.js.map +1 -0
  88. package/dist/controlObjectOwnership.d.ts +310 -0
  89. package/{src/controlObjectOwnership.ts → dist/controlObjectOwnership.js} +53 -124
  90. package/dist/controlObjectOwnership.js.map +1 -0
  91. package/dist/coreClient.d.ts +144 -0
  92. package/dist/coreClient.js +339 -0
  93. package/dist/coreClient.js.map +1 -0
  94. package/dist/customTools.d.ts +88 -0
  95. package/dist/customTools.js +248 -0
  96. package/dist/customTools.js.map +1 -0
  97. package/dist/decisionsClient.d.ts +111 -0
  98. package/dist/decisionsClient.js +522 -0
  99. package/dist/decisionsClient.js.map +1 -0
  100. package/dist/domainContext.d.ts +1 -0
  101. package/dist/domainContext.js +3 -0
  102. package/dist/domainContext.js.map +1 -0
  103. package/dist/events.d.ts +178 -0
  104. package/dist/events.js +249 -0
  105. package/dist/events.js.map +1 -0
  106. package/dist/eventsCore.d.ts +49 -0
  107. package/dist/eventsCore.js +429 -0
  108. package/dist/eventsCore.js.map +1 -0
  109. package/dist/facade/context.d.ts +18 -0
  110. package/dist/facade/context.js +73 -0
  111. package/dist/facade/context.js.map +1 -0
  112. package/dist/gatewayFacades.d.ts +591 -0
  113. package/dist/gatewayFacades.js +1953 -0
  114. package/dist/gatewayFacades.js.map +1 -0
  115. package/dist/graphClient.d.ts +271 -0
  116. package/dist/graphClient.js +698 -0
  117. package/dist/graphClient.js.map +1 -0
  118. package/dist/harnessClient.d.ts +314 -0
  119. package/dist/harnessClient.js +607 -0
  120. package/dist/harnessClient.js.map +1 -0
  121. package/dist/identityClient.d.ts +140 -0
  122. package/dist/identityClient.js +497 -0
  123. package/dist/identityClient.js.map +1 -0
  124. package/dist/index.d.ts +42 -0
  125. package/dist/index.js +11381 -0
  126. package/dist/index.js.map +1 -0
  127. package/dist/learningClient.d.ts +46 -0
  128. package/dist/learningClient.js +409 -0
  129. package/dist/learningClient.js.map +1 -0
  130. package/dist/mcpParityClient.d.ts +74 -0
  131. package/dist/mcpParityClient.js +516 -0
  132. package/dist/mcpParityClient.js.map +1 -0
  133. package/dist/mcpParitySurface.d.ts +12 -0
  134. package/{src/mcpParitySurface.ts → dist/mcpParitySurface.js} +9 -14
  135. package/dist/mcpParitySurface.js.map +1 -0
  136. package/dist/mcpTools-DPZxowDX.d.ts +254 -0
  137. package/dist/ontologyClient.d.ts +137 -0
  138. package/dist/ontologyClient.js +513 -0
  139. package/dist/ontologyClient.js.map +1 -0
  140. package/dist/packRuntime.d.ts +2 -0
  141. package/dist/packRuntime.js +3 -0
  142. package/dist/packRuntime.js.map +1 -0
  143. package/dist/packsClient.d.ts +131 -0
  144. package/dist/packsClient.js +525 -0
  145. package/dist/packsClient.js.map +1 -0
  146. package/dist/policyClient.d.ts +299 -0
  147. package/dist/policyClient.js +625 -0
  148. package/dist/policyClient.js.map +1 -0
  149. package/dist/realtime/index.d.ts +29 -0
  150. package/dist/realtime/index.js +23 -0
  151. package/dist/realtime/index.js.map +1 -0
  152. package/{src/realtime/refs.ts → dist/realtime/refs.d.ts} +5 -5
  153. package/dist/realtime/refs.js +9 -0
  154. package/dist/realtime/refs.js.map +1 -0
  155. package/dist/reportsClient.d.ts +41 -0
  156. package/dist/reportsClient.js +418 -0
  157. package/dist/reportsClient.js.map +1 -0
  158. package/dist/schemaClient.d.ts +64 -0
  159. package/dist/schemaClient.js +434 -0
  160. package/dist/schemaClient.js.map +1 -0
  161. package/dist/sdkSurface.d.ts +61 -0
  162. package/dist/sdkSurface.js +112 -0
  163. package/dist/sdkSurface.js.map +1 -0
  164. package/dist/sdkTools-CwXJDACb.d.ts +150 -0
  165. package/dist/topicsClient.d.ts +84 -0
  166. package/dist/topicsClient.js +492 -0
  167. package/dist/topicsClient.js.map +1 -0
  168. package/dist/types.d.ts +696 -0
  169. package/dist/types.js +3 -0
  170. package/dist/types.js.map +1 -0
  171. package/dist/version.d.ts +4 -0
  172. package/dist/version.js +6 -0
  173. package/dist/version.js.map +1 -0
  174. package/dist/workflowClient.d.ts +316 -0
  175. package/dist/workflowClient.js +830 -0
  176. package/dist/workflowClient.js.map +1 -0
  177. package/package.json +39 -7
  178. package/.turbo/turbo-build.log +0 -7
  179. package/.turbo/turbo-typecheck.log +0 -4
  180. package/examples/README.md +0 -69
  181. package/examples/contradiction.ts +0 -94
  182. package/examples/investigation-context.ts +0 -118
  183. package/examples/questions-and-tasks.ts +0 -55
  184. package/examples/quickstart.ts +0 -97
  185. package/examples/shared.ts +0 -318
  186. package/examples/strict-public-types.ts +0 -143
  187. package/examples/worktree-lifecycle.ts +0 -79
  188. package/src/README.md +0 -6
  189. package/src/adminClient.ts +0 -789
  190. package/src/answersClient.ts +0 -29
  191. package/src/audiencesClient.ts +0 -209
  192. package/src/auditClient.ts +0 -50
  193. package/src/beliefsClient.ts +0 -319
  194. package/src/client.ts +0 -2647
  195. package/src/contextClient.ts +0 -130
  196. package/src/contextFacade.ts +0 -15
  197. package/src/contextPackCompiler.ts +0 -828
  198. package/src/contextTypes.ts +0 -153
  199. package/src/contracts/api-enums.contract.ts +0 -202
  200. package/src/contracts/auth-session.contract.ts +0 -109
  201. package/src/contracts/context-pack.contract.ts +0 -700
  202. package/src/contracts/contextPack.ts +0 -1
  203. package/src/contracts/index.ts +0 -10
  204. package/src/contracts/lens-filter.contract.ts +0 -183
  205. package/src/contracts/lens-workflow.contract.ts +0 -162
  206. package/src/contracts/lensFilter.ts +0 -1
  207. package/src/contracts/lensWorkflow.ts +0 -1
  208. package/src/contracts/mcp-tools.contract.ts +0 -3636
  209. package/src/contracts/mcpTools.ts +0 -1
  210. package/src/contracts/prompt.contract.ts +0 -50
  211. package/src/contracts/prompt.ts +0 -1
  212. package/src/contracts/sdk-tools.contract.ts +0 -1457
  213. package/src/contracts/sdkTools.ts +0 -1
  214. package/src/contracts/workflow-runtime.contract.ts +0 -440
  215. package/src/contracts/workflowRuntime.ts +0 -1
  216. package/src/coreClient.ts +0 -570
  217. package/src/customTools.ts +0 -398
  218. package/src/decisionsClient.ts +0 -286
  219. package/src/domainContext.ts +0 -15
  220. package/src/events.ts +0 -531
  221. package/src/eventsCore.ts +0 -168
  222. package/src/facade/beliefs.ts +0 -83
  223. package/src/facade/context.ts +0 -110
  224. package/src/facade/contradictions.ts +0 -29
  225. package/src/facade/edges.ts +0 -30
  226. package/src/facade/events.ts +0 -23
  227. package/src/facade/evidence.ts +0 -41
  228. package/src/facade/graph.ts +0 -38
  229. package/src/facade/identity.ts +0 -16
  230. package/src/facade/ontologies.ts +0 -34
  231. package/src/facade/questions.ts +0 -59
  232. package/src/facade/search.ts +0 -16
  233. package/src/facade/tasks.ts +0 -37
  234. package/src/facade/topics.ts +0 -42
  235. package/src/facade/webhooks.ts +0 -58
  236. package/src/facade/worktrees.ts +0 -51
  237. package/src/gatewayFacades.ts +0 -1666
  238. package/src/graphClient.ts +0 -529
  239. package/src/harnessClient.ts +0 -585
  240. package/src/identityClient.ts +0 -278
  241. package/src/index.ts +0 -49
  242. package/src/learningClient.ts +0 -95
  243. package/src/mcpParityClient.ts +0 -240
  244. package/src/ontologyClient.ts +0 -275
  245. package/src/packRuntime.ts +0 -3
  246. package/src/packsClient.ts +0 -260
  247. package/src/policyClient.ts +0 -572
  248. package/src/promptCatalog.ts +0 -1
  249. package/src/realtime/index.ts +0 -51
  250. package/src/reportsClient.ts +0 -99
  251. package/src/schemaClient.ts +0 -129
  252. package/src/sdkSurface.ts +0 -190
  253. package/src/topicsClient.ts +0 -243
  254. package/src/types.ts +0 -807
  255. package/src/version.ts +0 -2
  256. package/src/workflowClient.ts +0 -826
  257. package/tsconfig.json +0 -9
@@ -1,29 +0,0 @@
1
- import {
2
- createGatewayRequestClient,
3
- type GatewayClientConfig,
4
- } from "./coreClient";
5
-
6
- /** Configuration for the answers client. */
7
- export type AnswersClientConfig = GatewayClientConfig;
8
-
9
- /**
10
- * Create the answers client for retrieving question answers.
11
- * @param config - Gateway transport configuration.
12
- * @returns An object with a `get` method to fetch the answer for a question.
13
- */
14
- export function createAnswersClient(config: AnswersClientConfig = {}) {
15
- const gateway = createGatewayRequestClient(config);
16
-
17
- return {
18
- /**
19
- * Get the current answer for a question.
20
- * @param questionId - The question node identifier.
21
- * @returns The answer record for the given question.
22
- */
23
- async get(questionId: string) {
24
- return gateway.request<Record<string, unknown>>({
25
- path: `/api/platform/v1/questions/${encodeURIComponent(questionId)}/answer`,
26
- });
27
- },
28
- };
29
- }
@@ -1,209 +0,0 @@
1
- import {
2
- createGatewayRequestClient,
3
- type GatewayClientConfig,
4
- type GatewayScope,
5
- randomIdempotencyKey,
6
- toQueryString,
7
- } from "./coreClient";
8
- import { createListResult, mapGatewayData } from "./sdkSurface";
9
- import type { JsonObject } from "./types";
10
-
11
- /** Configuration for the audiences client. */
12
- export type AudiencesClientConfig = GatewayClientConfig;
13
-
14
- /** Input for creating or updating an audience registry entry. */
15
- export type AudienceRegistryInput = GatewayScope & {
16
- audienceKey: string;
17
- audienceLabel: string;
18
- audienceClass: "internal" | "restricted_external" | "public";
19
- status?: "active" | "disabled" | "archived";
20
- description?: string;
21
- metadata?: JsonObject;
22
- };
23
-
24
- /** Input for creating an audience access grant. */
25
- export type AudienceGrantInput = GatewayScope & {
26
- audienceKey: string;
27
- audienceClass?: "internal" | "restricted_external" | "public";
28
- principalId?: string;
29
- groupId?: string;
30
- expiresAt?: number;
31
- metadata?: JsonObject;
32
- };
33
-
34
- /** Input for revoking an audience grant by its identifier. */
35
- export type AudienceGrantRevokeInput = GatewayScope & {
36
- grantId: string;
37
- };
38
-
39
- /**
40
- * Create the audiences client for registry entries and grants.
41
- * @param config - Gateway transport configuration.
42
- * @returns An object with methods to manage audience registry entries and grants.
43
- */
44
- export function createAudiencesClient(config: AudiencesClientConfig = {}) {
45
- const gateway = createGatewayRequestClient(config);
46
-
47
- return {
48
- /**
49
- * List audience registry entries.
50
- */
51
- async listRegistry(
52
- query: GatewayScope & {
53
- effective?: boolean;
54
- status?: "active" | "disabled" | "archived";
55
- } = {}
56
- ) {
57
- return gateway.request<unknown>({
58
- path: `/api/platform/v1/audiences/registry${toQueryString({
59
- ...query,
60
- effective:
61
- typeof query.effective === "boolean"
62
- ? query.effective
63
- ? "true"
64
- : "false"
65
- : undefined,
66
- status: query.status,
67
- })}`,
68
- }).then((response) =>
69
- mapGatewayData(response, (data) =>
70
- createListResult(
71
- Array.isArray(data) ? data : [],
72
- "registryEntries"
73
- )
74
- )
75
- );
76
- },
77
-
78
- /**
79
- * @deprecated Use listRegistry.
80
- */
81
- async getRegistry(
82
- query: GatewayScope & {
83
- effective?: boolean;
84
- status?: "active" | "disabled" | "archived";
85
- } = {}
86
- ) {
87
- return this.listRegistry(query);
88
- },
89
-
90
- /**
91
- * Create an audience registry entry.
92
- */
93
- async createRegistryEntry(
94
- input: AudienceRegistryInput,
95
- idempotencyKey?: string
96
- ) {
97
- return gateway.request<unknown>({
98
- path: "/api/platform/v1/audiences/registry",
99
- method: "POST",
100
- body: input,
101
- idempotencyKey: idempotencyKey ?? randomIdempotencyKey(),
102
- });
103
- },
104
-
105
- /**
106
- * Update an audience registry entry.
107
- */
108
- async updateRegistryEntry(
109
- input: AudienceRegistryInput,
110
- idempotencyKey?: string
111
- ) {
112
- return this.createRegistryEntry(input, idempotencyKey);
113
- },
114
-
115
- /**
116
- * @deprecated Use createRegistryEntry or updateRegistryEntry.
117
- */
118
- async upsertRegistry(
119
- input: AudienceRegistryInput,
120
- idempotencyKey?: string
121
- ) {
122
- return this.createRegistryEntry(input, idempotencyKey);
123
- },
124
-
125
- /**
126
- * List audience grants.
127
- */
128
- async listGrants(
129
- query: GatewayScope & {
130
- audienceKey?: string;
131
- principalId?: string;
132
- groupId?: string;
133
- status?: "active" | "revoked" | "expired";
134
- } = {}
135
- ) {
136
- return gateway.request<unknown>({
137
- path: `/api/platform/v1/audiences/grants${toQueryString({
138
- ...query,
139
- audienceKey: query.audienceKey,
140
- principalId: query.principalId,
141
- groupId: query.groupId,
142
- status: query.status,
143
- })}`,
144
- }).then((response) =>
145
- mapGatewayData(response, (data) =>
146
- createListResult(Array.isArray(data) ? data : [], "grants")
147
- )
148
- );
149
- },
150
-
151
- /**
152
- * @deprecated Use listGrants.
153
- */
154
- async getGrants(
155
- query: GatewayScope & {
156
- audienceKey?: string;
157
- principalId?: string;
158
- groupId?: string;
159
- status?: "active" | "revoked" | "expired";
160
- } = {}
161
- ) {
162
- return this.listGrants(query);
163
- },
164
-
165
- /**
166
- * Create an audience grant.
167
- */
168
- async createGrant(input: AudienceGrantInput, idempotencyKey?: string) {
169
- return gateway.request<unknown>({
170
- path: "/api/platform/v1/audiences/grants",
171
- method: "POST",
172
- body: input,
173
- idempotencyKey: idempotencyKey ?? randomIdempotencyKey(),
174
- });
175
- },
176
-
177
- /**
178
- * @deprecated Use createGrant.
179
- */
180
- async grant(input: AudienceGrantInput, idempotencyKey?: string) {
181
- return this.createGrant(input, idempotencyKey);
182
- },
183
-
184
- /**
185
- * Delete an audience grant by revoking it.
186
- */
187
- async deleteGrant(
188
- input: AudienceGrantRevokeInput,
189
- idempotencyKey?: string
190
- ) {
191
- return gateway.request<unknown>({
192
- path: "/api/platform/v1/audiences/grants/revoke",
193
- method: "POST",
194
- body: input,
195
- idempotencyKey: idempotencyKey ?? randomIdempotencyKey(),
196
- });
197
- },
198
-
199
- /**
200
- * @deprecated Use deleteGrant.
201
- */
202
- async revokeGrant(
203
- input: AudienceGrantRevokeInput,
204
- idempotencyKey?: string
205
- ) {
206
- return this.deleteGrant(input, idempotencyKey);
207
- },
208
- };
209
- }
@@ -1,50 +0,0 @@
1
- import {
2
- createGatewayRequestClient,
3
- type GatewayClientConfig,
4
- type GatewayScope,
5
- LucernApiError,
6
- toQueryString,
7
- } from "./coreClient";
8
- import { createListResult, mapGatewayData, normalizeTopicQuery } from "./sdkSurface";
9
- import type { TopicIdentifierInput } from "./types";
10
-
11
- export { LucernApiError };
12
- export type { GatewayScope, PlatformGatewaySuccess } from "./coreClient";
13
-
14
- /** Configuration for the audit client. */
15
- export type AuditClientConfig = GatewayClientConfig;
16
-
17
- /**
18
- * Create the audit client for transport-level audit event reads.
19
- * @param config - Gateway transport configuration.
20
- * @returns An object with methods to list audit events.
21
- */
22
- export function createAuditClient(config: AuditClientConfig = {}) {
23
- const gateway = createGatewayRequestClient(config);
24
-
25
- return {
26
- /**
27
- * List audit events for the current scope.
28
- */
29
- async listEvents(
30
- query: GatewayScope & {
31
- action?: string;
32
- decision?: string;
33
- traceId?: string;
34
- principalId?: string;
35
- topicId?: string;
36
- limit?: number;
37
- } & TopicIdentifierInput = {}
38
- ) {
39
- return gateway.request<unknown>({
40
- path: `/api/platform/v1/audit/events${toQueryString(
41
- normalizeTopicQuery(query)
42
- )}`,
43
- }).then((response) =>
44
- mapGatewayData(response, (data) =>
45
- createListResult(Array.isArray(data) ? data : [], "events")
46
- )
47
- );
48
- },
49
- };
50
- }
@@ -1,319 +0,0 @@
1
- import {
2
- createGatewayRequestClient,
3
- type GatewayClientConfig,
4
- LucernApiError,
5
- randomIdempotencyKey,
6
- } from "./coreClient";
7
- import { normalizeNodeWriteInput } from "./sdkSurface";
8
- import type {
9
- CreateBeliefResponse,
10
- ForkBeliefResponse,
11
- JsonObject,
12
- ModulateConfidenceResponse,
13
- } from "./types";
14
-
15
- export { LucernApiError };
16
- export type { PlatformGatewaySuccess } from "./coreClient";
17
- export type {
18
- CreateBeliefResponse,
19
- ForkBeliefResponse,
20
- ModulateConfidenceResponse,
21
- } from "./types";
22
-
23
- /** Configuration for the beliefs client. Inherits gateway transport settings. */
24
- export type BeliefsClientConfig = GatewayClientConfig;
25
-
26
- /**
27
- * Input for creating a new belief within a topic scope.
28
- *
29
- * Use `text` as the canonical belief statement.
30
- * `canonicalText` remains available as a legacy alias for backwards compatibility.
31
- * Beliefs start as unscored drafts and can be scored via confidence modulation.
32
- */
33
- export type CreateBeliefInput = {
34
- topicId?: string;
35
- /** Preferred belief statement alias. */
36
- text?: string;
37
- /** @deprecated Use text. */
38
- canonicalText?: string;
39
- layer?: "L1" | "L2" | "L3" | "L4";
40
- domain?: string;
41
- sourceType?: "human" | "ai" | "agent" | "imported";
42
- content?: string;
43
- contentHash?: string;
44
- globalId?: string;
45
- title?: string;
46
- subtype?: string;
47
- confidence?: number;
48
- tags?: string[];
49
- metadata?: JsonObject;
50
- verificationStatus?: "unverified" | "verified" | "rejected";
51
- };
52
-
53
- /**
54
- * Input for recording a confidence change on a belief.
55
- * Confidence modulation is append-only — each call adds a new credence history entry.
56
- */
57
- export type ModulateConfidenceInput = {
58
- confidence: number;
59
- trigger?:
60
- | "evidence_added"
61
- | "evidence_removed"
62
- | "contradiction_detected"
63
- | "contradiction_resolved"
64
- | "manual"
65
- | "decay"
66
- | "agent_assessment"
67
- | "merge_outcome"
68
- | "worktree_outcome"
69
- | "worktree_completed";
70
- rationale: string;
71
- certainty?: number;
72
- };
73
-
74
- /**
75
- * Input for forking a scored belief into a new formulation.
76
- * Scored beliefs are immutable — fork to evolve understanding.
77
- */
78
- export type ForkBeliefInput = {
79
- newFormulation: string;
80
- forkReason?:
81
- | "refinement"
82
- | "contradiction_response"
83
- | "scope_change"
84
- | "confidence_collapse"
85
- | "manual";
86
- rationale?: string;
87
- };
88
-
89
- /** Input for changing a belief's lifecycle status. */
90
- export type UpdateBeliefStatusInput = {
91
- id?: string;
92
- nodeId?: string;
93
- beliefId?: string;
94
- status: "active" | "superseded" | "archived";
95
- reason?: string;
96
- };
97
-
98
- /** Input for updating a belief's rationale without refining its text. */
99
- export type UpdateBeliefRationaleInput = {
100
- id?: string;
101
- nodeId?: string;
102
- beliefId?: string;
103
- rationale?: string;
104
- };
105
-
106
- /** Input for creating a belief-to-belief reasoning edge. */
107
- export type LinkBeliefsInput = {
108
- fromNodeId: string;
109
- toNodeId: string;
110
- edgeType: string;
111
- weight?: number;
112
- context?: string;
113
- };
114
-
115
- /** Input for unlinking a belief from an attached evidence item. */
116
- export type UnlinkBeliefEvidenceInput = {
117
- beliefNodeId?: string;
118
- beliefId?: string;
119
- nodeId?: string;
120
- insightId?: string;
121
- evidenceId?: string;
122
- };
123
-
124
- /** Input for updating a belief's criticality classification. */
125
- export type UpdateBeliefCriticalityInput = {
126
- id?: string;
127
- nodeId?: string;
128
- beliefId?: string;
129
- criticality:
130
- | "blocking"
131
- | "important"
132
- | "supporting"
133
- | "essential"
134
- | "nice_to_have";
135
- };
136
-
137
- /** Input for bulk-updating multiple beliefs' criticality. */
138
- export type BatchUpdateBeliefCriticalityInput = {
139
- updates: Array<{
140
- beliefId: string;
141
- criticality:
142
- | "blocking"
143
- | "important"
144
- | "supporting"
145
- | "essential"
146
- | "nice_to_have";
147
- ifFalseImpact?: string;
148
- triagePriority?: number;
149
- reasoning?: string;
150
- dependentBeliefIds?: string[];
151
- blockedByBeliefIds?: string[];
152
- }>;
153
- };
154
-
155
- /** Input for moving beliefs into a different topic scope. */
156
- export type ReassignBeliefsTopicInput = {
157
- beliefNodeIds?: string[];
158
- beliefIds?: string[];
159
- targetTopicId: string;
160
- reason?: string;
161
- };
162
-
163
- /**
164
- * Create the beliefs client for belief lifecycle operations.
165
- *
166
- * @param config - Gateway transport configuration.
167
- * @returns An object with `createBelief`, `modulateConfidence`, and `forkBelief` methods.
168
- */
169
- export function createBeliefsClient(config: BeliefsClientConfig = {}) {
170
- const gateway = createGatewayRequestClient(config);
171
-
172
- return {
173
- /**
174
- * Create a belief within a topic scope.
175
- */
176
- async createBelief(input: CreateBeliefInput, idempotencyKey?: string) {
177
- return gateway.request<CreateBeliefResponse>({
178
- path: "/api/platform/v1/beliefs",
179
- method: "POST",
180
- body: normalizeNodeWriteInput(input),
181
- idempotencyKey: idempotencyKey ?? randomIdempotencyKey(),
182
- });
183
- },
184
-
185
- /**
186
- * Record a confidence change for an existing belief.
187
- */
188
- async modulateConfidence(
189
- beliefId: string,
190
- input: ModulateConfidenceInput,
191
- idempotencyKey?: string
192
- ) {
193
- return gateway.request<ModulateConfidenceResponse>({
194
- path: `/api/platform/v1/beliefs/${encodeURIComponent(beliefId)}/confidence`,
195
- method: "POST",
196
- body: input,
197
- idempotencyKey: idempotencyKey ?? randomIdempotencyKey(),
198
- });
199
- },
200
-
201
- /**
202
- * Fork a scored belief into a new formulation.
203
- */
204
- async forkBelief(
205
- beliefId: string,
206
- input: ForkBeliefInput,
207
- idempotencyKey?: string
208
- ) {
209
- return gateway.request<ForkBeliefResponse>({
210
- path: `/api/platform/v1/beliefs/${encodeURIComponent(beliefId)}/fork`,
211
- method: "POST",
212
- body: input,
213
- idempotencyKey: idempotencyKey ?? randomIdempotencyKey(),
214
- });
215
- },
216
-
217
- /**
218
- * Update a belief's lifecycle status.
219
- */
220
- async updateBeliefStatus(
221
- input: UpdateBeliefStatusInput,
222
- idempotencyKey?: string
223
- ) {
224
- return gateway.request<Record<string, unknown>>({
225
- path: "/api/platform/v1/beliefs/update-status",
226
- method: "POST",
227
- body: input as JsonObject,
228
- idempotencyKey: idempotencyKey ?? randomIdempotencyKey(),
229
- });
230
- },
231
-
232
- /**
233
- * Update a belief's rationale without changing its text.
234
- */
235
- async updateBeliefRationale(
236
- input: UpdateBeliefRationaleInput,
237
- idempotencyKey?: string
238
- ) {
239
- return gateway.request<Record<string, unknown>>({
240
- path: "/api/platform/v1/beliefs/update-rationale",
241
- method: "POST",
242
- body: input as JsonObject,
243
- idempotencyKey: idempotencyKey ?? randomIdempotencyKey(),
244
- });
245
- },
246
-
247
- /**
248
- * Create a typed relationship between two beliefs.
249
- */
250
- async linkBeliefs(input: LinkBeliefsInput, idempotencyKey?: string) {
251
- return gateway.request<Record<string, unknown>>({
252
- path: "/api/platform/v1/beliefs/link",
253
- method: "POST",
254
- body: input as JsonObject,
255
- idempotencyKey: idempotencyKey ?? randomIdempotencyKey(),
256
- });
257
- },
258
-
259
- /**
260
- * Remove an evidence attachment from a belief.
261
- */
262
- async unlinkBeliefEvidence(
263
- input: UnlinkBeliefEvidenceInput,
264
- idempotencyKey?: string
265
- ) {
266
- return gateway.request<Record<string, unknown>>({
267
- path: "/api/platform/v1/beliefs/unlink-evidence",
268
- method: "POST",
269
- body: input as JsonObject,
270
- idempotencyKey: idempotencyKey ?? randomIdempotencyKey(),
271
- });
272
- },
273
-
274
- /**
275
- * Update a belief's criticality metadata.
276
- */
277
- async updateBeliefCriticality(
278
- input: UpdateBeliefCriticalityInput,
279
- idempotencyKey?: string
280
- ) {
281
- return gateway.request<Record<string, unknown>>({
282
- path: "/api/platform/v1/beliefs/update-criticality",
283
- method: "POST",
284
- body: input as JsonObject,
285
- idempotencyKey: idempotencyKey ?? randomIdempotencyKey(),
286
- });
287
- },
288
-
289
- /**
290
- * Update multiple beliefs' criticality in one mutation.
291
- */
292
- async batchUpdateBeliefCriticality(
293
- input: BatchUpdateBeliefCriticalityInput,
294
- idempotencyKey?: string
295
- ) {
296
- return gateway.request<Record<string, unknown>>({
297
- path: "/api/platform/v1/beliefs/batch-update-criticality",
298
- method: "POST",
299
- body: input as JsonObject,
300
- idempotencyKey: idempotencyKey ?? randomIdempotencyKey(),
301
- });
302
- },
303
-
304
- /**
305
- * Reassign beliefs to a different topic scope.
306
- */
307
- async reassignBeliefsTopic(
308
- input: ReassignBeliefsTopicInput,
309
- idempotencyKey?: string
310
- ) {
311
- return gateway.request<Record<string, unknown>>({
312
- path: "/api/platform/v1/beliefs/reassign-topic",
313
- method: "POST",
314
- body: input as JsonObject,
315
- idempotencyKey: idempotencyKey ?? randomIdempotencyKey(),
316
- });
317
- },
318
- };
319
- }