@qlever-llc/trellis 0.8.0-rc.6 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (139) hide show
  1. package/esm/generated-sdk/auth/contract.d.ts +2 -22
  2. package/esm/generated-sdk/auth/contract.d.ts.map +1 -1
  3. package/esm/generated-sdk/auth/contract.js +3 -26
  4. package/esm/generated-sdk/auth/mod.d.ts +1 -1
  5. package/esm/generated-sdk/auth/mod.d.ts.map +1 -1
  6. package/esm/generated-sdk/auth/mod.js +1 -1
  7. package/esm/generated-sdk/health/contract.d.ts +1 -1
  8. package/esm/generated-sdk/health/contract.d.ts.map +1 -1
  9. package/esm/generated-sdk/health/contract.js +3 -3
  10. package/esm/generated-sdk/health/mod.d.ts +1 -1
  11. package/esm/generated-sdk/health/mod.d.ts.map +1 -1
  12. package/esm/generated-sdk/health/mod.js +1 -1
  13. package/esm/generated-sdk/jobs/contract.d.ts +1 -1
  14. package/esm/generated-sdk/jobs/contract.d.ts.map +1 -1
  15. package/esm/generated-sdk/jobs/contract.js +3 -3
  16. package/esm/generated-sdk/jobs/mod.d.ts +1 -1
  17. package/esm/generated-sdk/jobs/mod.d.ts.map +1 -1
  18. package/esm/generated-sdk/jobs/mod.js +1 -1
  19. package/esm/generated-sdk/state/contract.d.ts +1 -1
  20. package/esm/generated-sdk/state/contract.d.ts.map +1 -1
  21. package/esm/generated-sdk/state/contract.js +3 -3
  22. package/esm/generated-sdk/state/mod.d.ts +1 -1
  23. package/esm/generated-sdk/state/mod.d.ts.map +1 -1
  24. package/esm/generated-sdk/state/mod.js +1 -1
  25. package/esm/generated-sdk/trellis-core/contract.d.ts +1 -1
  26. package/esm/generated-sdk/trellis-core/contract.d.ts.map +1 -1
  27. package/esm/generated-sdk/trellis-core/contract.js +3 -3
  28. package/esm/generated-sdk/trellis-core/mod.d.ts +1 -1
  29. package/esm/generated-sdk/trellis-core/mod.d.ts.map +1 -1
  30. package/esm/generated-sdk/trellis-core/mod.js +1 -1
  31. package/esm/index.d.ts +1 -0
  32. package/esm/npm/src/index.d.ts +1 -0
  33. package/esm/npm/src/sdk/auth.d.ts +0 -1
  34. package/esm/npm/src/sdk/auth.d.ts.map +1 -1
  35. package/esm/npm/src/sdk/auth.js +0 -1
  36. package/esm/npm/src/sdk/core.d.ts +0 -1
  37. package/esm/npm/src/sdk/core.d.ts.map +1 -1
  38. package/esm/npm/src/sdk/core.js +0 -1
  39. package/esm/npm/src/sdk/health.d.ts +0 -29
  40. package/esm/npm/src/sdk/health.d.ts.map +1 -1
  41. package/esm/npm/src/sdk/health.js +0 -25
  42. package/esm/npm/src/sdk/jobs.d.ts +0 -1
  43. package/esm/npm/src/sdk/jobs.d.ts.map +1 -1
  44. package/esm/npm/src/sdk/jobs.js +0 -1
  45. package/esm/npm/src/sdk/state.d.ts +0 -24
  46. package/esm/npm/src/sdk/state.d.ts.map +1 -1
  47. package/esm/npm/src/sdk/state.js +0 -27
  48. package/esm/npm/src/server/service.js +1 -1
  49. package/package.json +12 -16
  50. package/script/generated-sdk/auth/contract.d.ts +2 -22
  51. package/script/generated-sdk/auth/contract.d.ts.map +1 -1
  52. package/script/generated-sdk/auth/contract.js +4 -27
  53. package/script/generated-sdk/auth/mod.d.ts +1 -1
  54. package/script/generated-sdk/auth/mod.d.ts.map +1 -1
  55. package/script/generated-sdk/auth/mod.js +2 -3
  56. package/script/generated-sdk/health/contract.d.ts +1 -1
  57. package/script/generated-sdk/health/contract.d.ts.map +1 -1
  58. package/script/generated-sdk/health/contract.js +4 -4
  59. package/script/generated-sdk/health/mod.d.ts +1 -1
  60. package/script/generated-sdk/health/mod.d.ts.map +1 -1
  61. package/script/generated-sdk/health/mod.js +2 -2
  62. package/script/generated-sdk/jobs/contract.d.ts +1 -1
  63. package/script/generated-sdk/jobs/contract.d.ts.map +1 -1
  64. package/script/generated-sdk/jobs/contract.js +4 -4
  65. package/script/generated-sdk/jobs/mod.d.ts +1 -1
  66. package/script/generated-sdk/jobs/mod.d.ts.map +1 -1
  67. package/script/generated-sdk/jobs/mod.js +2 -2
  68. package/script/generated-sdk/state/contract.d.ts +1 -1
  69. package/script/generated-sdk/state/contract.d.ts.map +1 -1
  70. package/script/generated-sdk/state/contract.js +4 -4
  71. package/script/generated-sdk/state/mod.d.ts +1 -1
  72. package/script/generated-sdk/state/mod.d.ts.map +1 -1
  73. package/script/generated-sdk/state/mod.js +2 -2
  74. package/script/generated-sdk/trellis-core/contract.d.ts +1 -1
  75. package/script/generated-sdk/trellis-core/contract.d.ts.map +1 -1
  76. package/script/generated-sdk/trellis-core/contract.js +4 -4
  77. package/script/generated-sdk/trellis-core/mod.d.ts +1 -1
  78. package/script/generated-sdk/trellis-core/mod.d.ts.map +1 -1
  79. package/script/generated-sdk/trellis-core/mod.js +2 -2
  80. package/script/index.d.ts +1 -0
  81. package/script/npm/src/index.d.ts +1 -0
  82. package/script/npm/src/sdk/auth.d.ts +0 -1
  83. package/script/npm/src/sdk/auth.d.ts.map +1 -1
  84. package/script/npm/src/sdk/auth.js +0 -3
  85. package/script/npm/src/sdk/core.d.ts +0 -1
  86. package/script/npm/src/sdk/core.d.ts.map +1 -1
  87. package/script/npm/src/sdk/core.js +0 -3
  88. package/script/npm/src/sdk/health.d.ts +0 -25
  89. package/script/npm/src/sdk/health.d.ts.map +1 -1
  90. package/script/npm/src/sdk/health.js +0 -30
  91. package/script/npm/src/sdk/jobs.d.ts +0 -1
  92. package/script/npm/src/sdk/jobs.d.ts.map +1 -1
  93. package/script/npm/src/sdk/jobs.js +0 -3
  94. package/script/npm/src/sdk/state.d.ts +0 -20
  95. package/script/npm/src/sdk/state.d.ts.map +1 -1
  96. package/script/npm/src/sdk/state.js +0 -32
  97. package/script/npm/src/server/service.js +1 -1
  98. package/esm/generated-sdk/activity/api.d.ts +0 -17
  99. package/esm/generated-sdk/activity/api.d.ts.map +0 -1
  100. package/esm/generated-sdk/activity/api.js +0 -56
  101. package/esm/generated-sdk/activity/client.d.ts +0 -26
  102. package/esm/generated-sdk/activity/client.d.ts.map +0 -1
  103. package/esm/generated-sdk/activity/client.js +0 -1
  104. package/esm/generated-sdk/activity/contract.d.ts +0 -9
  105. package/esm/generated-sdk/activity/contract.d.ts.map +0 -1
  106. package/esm/generated-sdk/activity/contract.js +0 -49
  107. package/esm/generated-sdk/activity/mod.d.ts +0 -7
  108. package/esm/generated-sdk/activity/mod.d.ts.map +0 -1
  109. package/esm/generated-sdk/activity/mod.js +0 -4
  110. package/esm/generated-sdk/activity/schemas.d.ts +0 -300
  111. package/esm/generated-sdk/activity/schemas.d.ts.map +0 -1
  112. package/esm/generated-sdk/activity/schemas.js +0 -8
  113. package/esm/generated-sdk/activity/types.d.ts +0 -105
  114. package/esm/generated-sdk/activity/types.d.ts.map +0 -1
  115. package/esm/generated-sdk/activity/types.js +0 -2
  116. package/esm/npm/src/sdk/activity.d.ts +0 -2
  117. package/esm/npm/src/sdk/activity.d.ts.map +0 -1
  118. package/esm/npm/src/sdk/activity.js +0 -1
  119. package/script/generated-sdk/activity/api.d.ts +0 -17
  120. package/script/generated-sdk/activity/api.d.ts.map +0 -1
  121. package/script/generated-sdk/activity/api.js +0 -59
  122. package/script/generated-sdk/activity/client.d.ts +0 -26
  123. package/script/generated-sdk/activity/client.d.ts.map +0 -1
  124. package/script/generated-sdk/activity/client.js +0 -2
  125. package/script/generated-sdk/activity/contract.d.ts +0 -8
  126. package/script/generated-sdk/activity/contract.d.ts.map +0 -1
  127. package/script/generated-sdk/activity/contract.js +0 -52
  128. package/script/generated-sdk/activity/mod.d.ts +0 -7
  129. package/script/generated-sdk/activity/mod.d.ts.map +0 -1
  130. package/script/generated-sdk/activity/mod.js +0 -28
  131. package/script/generated-sdk/activity/schemas.d.ts +0 -300
  132. package/script/generated-sdk/activity/schemas.d.ts.map +0 -1
  133. package/script/generated-sdk/activity/schemas.js +0 -11
  134. package/script/generated-sdk/activity/types.d.ts +0 -105
  135. package/script/generated-sdk/activity/types.d.ts.map +0 -1
  136. package/script/generated-sdk/activity/types.js +0 -5
  137. package/script/npm/src/sdk/activity.d.ts +0 -2
  138. package/script/npm/src/sdk/activity.d.ts.map +0 -1
  139. package/script/npm/src/sdk/activity.js +0 -17
@@ -14,36 +14,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.use = exports.CONTRACT_ID = exports.CONTRACT_DIGEST = exports.CONTRACT = exports.API = exports.state = exports.useDefaults = void 0;
18
- const mod_js_1 = require("../../../generated-sdk/state/mod.js");
19
- Object.defineProperty(exports, "API", { enumerable: true, get: function () { return mod_js_1.API; } });
20
- Object.defineProperty(exports, "CONTRACT", { enumerable: true, get: function () { return mod_js_1.CONTRACT; } });
21
- Object.defineProperty(exports, "CONTRACT_DIGEST", { enumerable: true, get: function () { return mod_js_1.CONTRACT_DIGEST; } });
22
- Object.defineProperty(exports, "CONTRACT_ID", { enumerable: true, get: function () { return mod_js_1.CONTRACT_ID; } });
23
- Object.defineProperty(exports, "use", { enumerable: true, get: function () { return mod_js_1.use; } });
24
17
  __exportStar(require("../../../generated-sdk/state/mod.js"), exports);
25
- const DEFAULT_STATE_RPC_CALL = [
26
- "State.Get",
27
- "State.Put",
28
- "State.Delete",
29
- "State.List",
30
- ];
31
- function mergeStateUseDefaults(spec) {
32
- const rpcCall = [...DEFAULT_STATE_RPC_CALL];
33
- for (const key of spec?.rpc?.call ?? []) {
34
- if (!rpcCall.includes(key)) {
35
- rpcCall.push(key);
36
- }
37
- }
38
- return {
39
- ...spec,
40
- rpc: {
41
- ...spec?.rpc,
42
- call: rpcCall,
43
- },
44
- };
45
- }
46
- exports.useDefaults = ((spec) => {
47
- return (0, mod_js_1.use)(mergeStateUseDefaults(spec));
48
- });
49
- exports.state = Object.assign(mod_js_1.state, { useDefaults: exports.useDefaults });
@@ -279,7 +279,7 @@ async function createConnectedService(args) {
279
279
  const runtimeApi = {
280
280
  ...currentApi,
281
281
  rpc: {
282
- ...auth_js_1.auth.API.owned.rpc,
282
+ ...auth_js_1.sdk.API.owned.rpc,
283
283
  ...currentApi.rpc,
284
284
  },
285
285
  };
@@ -1,17 +0,0 @@
1
- import type { TrellisAPI } from "@qlever-llc/trellis/contracts";
2
- export declare const OWNED_API: TrellisAPI;
3
- export declare const USED_API: TrellisAPI;
4
- export declare const API: {
5
- readonly owned: TrellisAPI;
6
- readonly used: TrellisAPI;
7
- readonly trellis: {
8
- readonly rpc: any;
9
- readonly operations: any;
10
- readonly events: any;
11
- readonly subjects: any;
12
- };
13
- };
14
- export type OwnedApi = typeof API.owned;
15
- export type Api = typeof API.trellis;
16
- export type ApiViews = typeof API;
17
- //# sourceMappingURL=api.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../../../src/.build/generated-sdk/activity/api.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,SAAS,YAuCA,CAAC;AAEvB,eAAO,MAAM,QAAQ,YASU,CAAC;AAEhC,eAAO,MAAM,GAAG;;;;;;;;;CASN,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,CAAC,KAAK,CAAC;AACxC,MAAM,MAAM,GAAG,GAAG,OAAO,GAAG,CAAC,OAAO,CAAC;AACrC,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,CAAC"}
@@ -1,56 +0,0 @@
1
- import { schema } from "@qlever-llc/trellis/contracts";
2
- import { ActivityGetRequestSchema, ActivityGetResponseSchema, ActivityListRequestSchema, ActivityListResponseSchema, ActivityRecordedEventSchema, HealthRequestSchema, HealthResponseSchema } from "./schemas.js";
3
- export const OWNED_API = {
4
- rpc: {
5
- "Activity.Get": {
6
- subject: "rpc.v1.Activity.Get",
7
- input: schema(ActivityGetRequestSchema),
8
- output: schema(ActivityGetResponseSchema),
9
- callerCapabilities: ["admin"],
10
- errors: ["UnexpectedError", "ValidationError"],
11
- declaredErrorTypes: ["UnexpectedError", "ValidationError"],
12
- },
13
- "Activity.Health": {
14
- subject: "rpc.v1.Activity.Health",
15
- input: schema(HealthRequestSchema),
16
- output: schema(HealthResponseSchema),
17
- callerCapabilities: [],
18
- errors: ["UnexpectedError"],
19
- declaredErrorTypes: ["UnexpectedError"],
20
- },
21
- "Activity.List": {
22
- subject: "rpc.v1.Activity.List",
23
- input: schema(ActivityListRequestSchema),
24
- output: schema(ActivityListResponseSchema),
25
- callerCapabilities: ["admin"],
26
- errors: ["UnexpectedError", "ValidationError"],
27
- declaredErrorTypes: ["UnexpectedError", "ValidationError"],
28
- },
29
- },
30
- operations: {},
31
- events: {
32
- "Activity.Recorded": {
33
- subject: "events.v1.Activity.Recorded",
34
- event: schema(ActivityRecordedEventSchema),
35
- publishCapabilities: ["service:events:activity"],
36
- subscribeCapabilities: ["service:events:activity"],
37
- },
38
- },
39
- subjects: {},
40
- };
41
- export const USED_API = {
42
- rpc: {},
43
- operations: {},
44
- events: {},
45
- subjects: {},
46
- };
47
- export const API = {
48
- owned: OWNED_API,
49
- used: USED_API,
50
- trellis: {
51
- rpc: { ...OWNED_API.rpc, ...USED_API.rpc },
52
- operations: { ...OWNED_API.operations, ...USED_API.operations },
53
- events: { ...OWNED_API.events, ...USED_API.events },
54
- subjects: { ...OWNED_API.subjects, ...USED_API.subjects },
55
- },
56
- };
@@ -1,26 +0,0 @@
1
- import type { AsyncResult, BaseError, EventOpts, MaybeAsync, ReceiveTransferGrant, ReceiveTransferHandle, RequestOpts, SendTransferGrant, SendTransferHandle, TrellisConnection, UnexpectedError, ValidationError } from "@qlever-llc/trellis";
2
- import type { API } from "./api.js";
3
- import type * as Types from "./types.js";
4
- type EventCallback<TMessage> = {
5
- bivarianceHack(message: TMessage): MaybeAsync<void, BaseError>;
6
- }["bivarianceHack"];
7
- export type TrellisActivityState = {};
8
- export interface TrellisActivityClient {
9
- readonly name: string;
10
- readonly timeout: number;
11
- readonly stream: string;
12
- readonly api: typeof API.trellis;
13
- readonly state: TrellisActivityState;
14
- readonly connection: TrellisConnection;
15
- transfer(grant: SendTransferGrant): SendTransferHandle;
16
- transfer(grant: ReceiveTransferGrant): ReceiveTransferHandle;
17
- request(method: "Activity.Get", input: Types.ActivityGetInput, opts?: RequestOpts): AsyncResult<Types.ActivityGetOutput, BaseError>;
18
- request(method: "Activity.Health", input: Types.ActivityHealthInput, opts?: RequestOpts): AsyncResult<Types.ActivityHealthOutput, BaseError>;
19
- request(method: "Activity.List", input: Types.ActivityListInput, opts?: RequestOpts): AsyncResult<Types.ActivityListOutput, BaseError>;
20
- publish(event: "Activity.Recorded", data: Omit<Types.ActivityRecordedEvent, "header">): AsyncResult<void, ValidationError | UnexpectedError>;
21
- event(event: "Activity.Recorded", subjectData: Record<string, unknown>, fn: EventCallback<Types.ActivityRecordedEvent>, opts?: EventOpts): AsyncResult<void, ValidationError | UnexpectedError>;
22
- wait(): AsyncResult<void, BaseError>;
23
- }
24
- export type Client = TrellisActivityClient;
25
- export {};
26
- //# sourceMappingURL=client.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../../../src/.build/generated-sdk/activity/client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAuB,UAAU,EAAyD,oBAAoB,EAAE,qBAAqB,EAAE,WAAW,EAAE,iBAAiB,EAAE,kBAAkB,EAAwC,iBAAiB,EAAE,eAAe,EAAE,eAAe,EAAyB,MAAM,qBAAqB,CAAC;AACxX,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,KAAK,KAAK,KAAK,MAAM,YAAY,CAAC;AAEzC,KAAK,aAAa,CAAC,QAAQ,IAAI;IAC7B,cAAc,CAAC,OAAO,EAAE,QAAQ,GAAG,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;CAChE,CAAC,gBAAgB,CAAC,CAAC;AAEpB,MAAM,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAEtC,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,CAAC,OAAO,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,oBAAoB,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,iBAAiB,GAAG,kBAAkB,CAAC;IACvD,QAAQ,CAAC,KAAK,EAAE,oBAAoB,GAAG,qBAAqB,CAAC;IAC7D,OAAO,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,CAAC,gBAAgB,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;IACpI,OAAO,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,KAAK,CAAC,mBAAmB,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAC;IAC7I,OAAO,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,CAAC,iBAAiB,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;IACvI,OAAO,CAAC,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,qBAAqB,EAAE,QAAQ,CAAC,GAAG,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,eAAe,CAAC,CAAC;IAC7I,KAAK,CAAC,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,aAAa,CAAC,KAAK,CAAC,qBAAqB,CAAC,EAAE,IAAI,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,eAAe,CAAC,CAAC;IAChM,IAAI,IAAI,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;CACtC;AAED,MAAM,MAAM,MAAM,GAAG,qBAAqB,CAAC"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,9 +0,0 @@
1
- import type { TrellisAPI } from "@qlever-llc/trellis/contracts";
2
- import type { SdkContractModule, TrellisContractV1 } from "@qlever-llc/trellis";
3
- import { API } from "./api.js";
4
- export declare const CONTRACT_ID: "trellis.activity@v1";
5
- export declare const CONTRACT_DIGEST: "JHCfvE0pDQdIItC7R8xK4Y2vfMgqFeB9IbFsv1Vdotw";
6
- export declare const CONTRACT: TrellisContractV1;
7
- export declare const activity: SdkContractModule<typeof CONTRACT_ID, typeof API.owned>;
8
- export declare const use: import("@qlever-llc/trellis").ContractUseFn<"trellis.activity@v1", TrellisAPI>;
9
- //# sourceMappingURL=contract.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../../../../../src/.build/generated-sdk/activity/contract.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAyB,iBAAiB,EAAE,iBAAiB,EAAW,MAAM,qBAAqB,CAAC;AAChH,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAI/B,eAAO,MAAM,WAAW,EAAG,qBAA8B,CAAC;AAC1D,eAAO,MAAM,eAAe,EAAG,6CAAsD,CAAC;AACtF,eAAO,MAAM,QAAQ,EAAojM,iBAAiB,CAAC;AAyB3lM,eAAO,MAAM,QAAQ,EAAE,iBAAiB,CAAC,OAAO,WAAW,EAAE,OAAO,GAAG,CAAC,KAAK,CA6B5E,CAAC;AAEF,eAAO,MAAM,GAAG,gFAAe,CAAC"}
@@ -1,49 +0,0 @@
1
- import { API } from "./api.js";
2
- const CONTRACT_MODULE_METADATA = Symbol.for("@qlever-llc/trellis/contracts/contract-module");
3
- export const CONTRACT_ID = "trellis.activity@v1";
4
- export const CONTRACT_DIGEST = "JHCfvE0pDQdIItC7R8xK4Y2vfMgqFeB9IbFsv1Vdotw";
5
- export const CONTRACT = { "description": "Project authentication activity into queryable audit records.", "displayName": "Trellis Activity", "events": { "Activity.Recorded": { "capabilities": { "publish": ["service:events:activity"], "subscribe": ["service:events:activity"] }, "event": { "schema": "ActivityRecordedEvent" }, "subject": "events.v1.Activity.Recorded", "version": "v1" } }, "format": "trellis.contract.v1", "id": "trellis.activity@v1", "kind": "service", "resources": { "kv": { "activity": { "history": 1, "purpose": "Store normalized audit activity entries for the service projection.", "required": true, "schema": { "schema": "ActivityEntry" }, "ttlMs": 0 } } }, "rpc": { "Activity.Get": { "capabilities": { "call": ["admin"] }, "errors": [{ "type": "UnexpectedError" }, { "type": "ValidationError" }], "input": { "schema": "ActivityGetRequest" }, "output": { "schema": "ActivityGetResponse" }, "subject": "rpc.v1.Activity.Get", "version": "v1" }, "Activity.Health": { "capabilities": { "call": [] }, "errors": [{ "type": "UnexpectedError" }], "input": { "schema": "HealthRequest" }, "output": { "schema": "HealthResponse" }, "subject": "rpc.v1.Activity.Health", "version": "v1" }, "Activity.List": { "capabilities": { "call": ["admin"] }, "errors": [{ "type": "UnexpectedError" }, { "type": "ValidationError" }], "input": { "schema": "ActivityListRequest" }, "output": { "schema": "ActivityListResponse" }, "subject": "rpc.v1.Activity.List", "version": "v1" } }, "schemas": { "ActivityEntry": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "id": { "type": "string" }, "kind": { "anyOf": [{ "const": "auth.connect", "type": "string" }, { "const": "auth.disconnect", "type": "string" }, { "const": "auth.session_revoked", "type": "string" }, { "const": "auth.connection_kicked", "type": "string" }] }, "metadata": { "patternProperties": { "^.*$": {} }, "type": "object" }, "occurredAt": { "format": "date-time", "type": "string" }, "principalId": { "type": "string" }, "principalLabel": { "type": "string" }, "principalOrigin": { "type": "string" }, "sessionKey": { "type": "string" }, "summary": { "type": "string" }, "userNkey": { "type": "string" } }, "required": ["id", "kind", "occurredAt", "principalOrigin", "principalId", "principalLabel", "summary"], "type": "object" }, "ActivityGetRequest": { "additionalProperties": false, "properties": { "id": { "type": "string" } }, "required": ["id"], "type": "object" }, "ActivityGetResponse": { "additionalProperties": false, "properties": { "entry": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "id": { "type": "string" }, "kind": { "anyOf": [{ "const": "auth.connect", "type": "string" }, { "const": "auth.disconnect", "type": "string" }, { "const": "auth.session_revoked", "type": "string" }, { "const": "auth.connection_kicked", "type": "string" }] }, "metadata": { "patternProperties": { "^.*$": {} }, "type": "object" }, "occurredAt": { "format": "date-time", "type": "string" }, "principalId": { "type": "string" }, "principalLabel": { "type": "string" }, "principalOrigin": { "type": "string" }, "sessionKey": { "type": "string" }, "summary": { "type": "string" }, "userNkey": { "type": "string" } }, "required": ["id", "kind", "occurredAt", "principalOrigin", "principalId", "principalLabel", "summary"], "type": "object" } }, "required": ["entry"], "type": "object" }, "ActivityListRequest": { "additionalProperties": false, "properties": { "kind": { "anyOf": [{ "const": "auth.connect", "type": "string" }, { "const": "auth.disconnect", "type": "string" }, { "const": "auth.session_revoked", "type": "string" }, { "const": "auth.connection_kicked", "type": "string" }] }, "limit": { "maximum": 200, "minimum": 1, "type": "integer" } }, "type": "object" }, "ActivityListResponse": { "additionalProperties": false, "properties": { "entries": { "items": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "id": { "type": "string" }, "kind": { "anyOf": [{ "const": "auth.connect", "type": "string" }, { "const": "auth.disconnect", "type": "string" }, { "const": "auth.session_revoked", "type": "string" }, { "const": "auth.connection_kicked", "type": "string" }] }, "metadata": { "patternProperties": { "^.*$": {} }, "type": "object" }, "occurredAt": { "format": "date-time", "type": "string" }, "principalId": { "type": "string" }, "principalLabel": { "type": "string" }, "principalOrigin": { "type": "string" }, "sessionKey": { "type": "string" }, "summary": { "type": "string" }, "userNkey": { "type": "string" } }, "required": ["id", "kind", "occurredAt", "principalOrigin", "principalId", "principalLabel", "summary"], "type": "object" }, "type": "array" } }, "required": ["entries"], "type": "object" }, "ActivityRecordedEvent": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "header": { "properties": { "id": { "type": "string" }, "time": { "format": "date-time", "type": "string" } }, "required": ["id", "time"], "type": "object" }, "id": { "type": "string" }, "kind": { "anyOf": [{ "const": "auth.connect", "type": "string" }, { "const": "auth.disconnect", "type": "string" }, { "const": "auth.session_revoked", "type": "string" }, { "const": "auth.connection_kicked", "type": "string" }] }, "metadata": { "patternProperties": { "^.*$": {} }, "type": "object" }, "occurredAt": { "format": "date-time", "type": "string" }, "principalId": { "type": "string" }, "principalLabel": { "type": "string" }, "principalOrigin": { "type": "string" }, "sessionKey": { "type": "string" }, "summary": { "type": "string" }, "userNkey": { "type": "string" } }, "required": ["header", "id", "kind", "occurredAt", "principalOrigin", "principalId", "principalLabel", "summary"], "type": "object" }, "HealthRequest": { "properties": {}, "type": "object" }, "HealthResponse": { "properties": { "checks": { "items": { "properties": { "error": { "type": "string" }, "info": { "patternProperties": { "^.*$": {} }, "type": "object" }, "latencyMs": { "type": "number" }, "name": { "type": "string" }, "status": { "anyOf": [{ "const": "ok", "type": "string" }, { "const": "failed", "type": "string" }] }, "summary": { "type": "string" } }, "required": ["name", "status", "latencyMs"], "type": "object" }, "type": "array" }, "service": { "type": "string" }, "status": { "anyOf": [{ "const": "healthy", "type": "string" }, { "const": "unhealthy", "type": "string" }, { "const": "degraded", "type": "string" }] }, "timestamp": { "format": "date-time", "type": "string" } }, "required": ["status", "service", "timestamp", "checks"], "type": "object" } }, "uses": { "auth": { "contract": "trellis.auth@v1", "events": { "subscribe": ["Auth.Connect", "Auth.ConnectionKicked", "Auth.Disconnect", "Auth.SessionRevoked"] }, "rpc": { "call": ["Auth.Logout", "Auth.Me"] } }, "core": { "contract": "trellis.core@v1", "rpc": { "call": ["Trellis.Bindings.Get", "Trellis.Catalog"] } }, "health": { "contract": "trellis.health@v1", "events": { "publish": ["Health.Heartbeat"] } } } };
6
- function assertSelectedKeysExist(kind, keys, api) {
7
- if (!keys) {
8
- return;
9
- }
10
- for (const key of keys) {
11
- if (!Object.hasOwn(api, key)) {
12
- throw new Error(`Contract '${CONTRACT_ID}' does not expose ${kind} key '${key}'`);
13
- }
14
- }
15
- }
16
- function assertValidUseSpec(spec) {
17
- assertSelectedKeysExist("rpc", spec.rpc?.call, API.owned.rpc);
18
- assertSelectedKeysExist("operations", spec.operations?.call, API.owned.operations);
19
- assertSelectedKeysExist("events", spec.events?.publish, API.owned.events);
20
- assertSelectedKeysExist("events", spec.events?.subscribe, API.owned.events);
21
- }
22
- export const activity = {
23
- CONTRACT_ID,
24
- CONTRACT_DIGEST,
25
- CONTRACT,
26
- API,
27
- use: ((spec) => {
28
- assertValidUseSpec(spec);
29
- const dependencyUse = {
30
- contract: CONTRACT_ID,
31
- ...(spec.rpc?.call ? { rpc: { call: [...spec.rpc.call] } } : {}),
32
- ...(spec.operations?.call ? { operations: { call: [...spec.operations.call] } } : {}),
33
- ...((spec.events?.publish || spec.events?.subscribe)
34
- ? {
35
- events: {
36
- ...(spec.events.publish ? { publish: [...spec.events.publish] } : {}),
37
- ...(spec.events.subscribe ? { subscribe: [...spec.events.subscribe] } : {}),
38
- },
39
- }
40
- : {}),
41
- };
42
- Object.defineProperty(dependencyUse, CONTRACT_MODULE_METADATA, {
43
- value: activity,
44
- enumerable: false,
45
- });
46
- return dependencyUse;
47
- }),
48
- };
49
- export const use = activity.use;
@@ -1,7 +0,0 @@
1
- export { API, OWNED_API } from "./api.js";
2
- export type { Api, ApiViews, OwnedApi } from "./api.js";
3
- export * from "./types.js";
4
- export * from "./schemas.js";
5
- export type { Client, TrellisActivityClient, TrellisActivityState } from "./client.js";
6
- export { CONTRACT, CONTRACT_DIGEST, CONTRACT_ID, use, activity } from "./contract.js";
7
- //# sourceMappingURL=mod.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../../../../src/.build/generated-sdk/activity/mod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACxD,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,YAAY,EAAE,MAAM,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACvF,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC"}
@@ -1,4 +0,0 @@
1
- export { API, OWNED_API } from "./api.js";
2
- export * from "./types.js";
3
- export * from "./schemas.js";
4
- export { CONTRACT, CONTRACT_DIGEST, CONTRACT_ID, use, activity } from "./contract.js";
@@ -1,300 +0,0 @@
1
- export declare const ActivityGetRequestSchema: {
2
- readonly additionalProperties: false;
3
- readonly properties: {
4
- readonly id: {
5
- readonly type: "string";
6
- };
7
- };
8
- readonly required: readonly ["id"];
9
- readonly type: "object";
10
- };
11
- export declare const ActivityGetResponseSchema: {
12
- readonly additionalProperties: false;
13
- readonly properties: {
14
- readonly entry: {
15
- readonly additionalProperties: false;
16
- readonly properties: {
17
- readonly actor: {
18
- readonly type: "string";
19
- };
20
- readonly id: {
21
- readonly type: "string";
22
- };
23
- readonly kind: {
24
- readonly anyOf: readonly [{
25
- readonly const: "auth.connect";
26
- readonly type: "string";
27
- }, {
28
- readonly const: "auth.disconnect";
29
- readonly type: "string";
30
- }, {
31
- readonly const: "auth.session_revoked";
32
- readonly type: "string";
33
- }, {
34
- readonly const: "auth.connection_kicked";
35
- readonly type: "string";
36
- }];
37
- };
38
- readonly metadata: {
39
- readonly patternProperties: {
40
- readonly "^.*$": {};
41
- };
42
- readonly type: "object";
43
- };
44
- readonly occurredAt: {
45
- readonly format: "date-time";
46
- readonly type: "string";
47
- };
48
- readonly principalId: {
49
- readonly type: "string";
50
- };
51
- readonly principalLabel: {
52
- readonly type: "string";
53
- };
54
- readonly principalOrigin: {
55
- readonly type: "string";
56
- };
57
- readonly sessionKey: {
58
- readonly type: "string";
59
- };
60
- readonly summary: {
61
- readonly type: "string";
62
- };
63
- readonly userNkey: {
64
- readonly type: "string";
65
- };
66
- };
67
- readonly required: readonly ["id", "kind", "occurredAt", "principalOrigin", "principalId", "principalLabel", "summary"];
68
- readonly type: "object";
69
- };
70
- };
71
- readonly required: readonly ["entry"];
72
- readonly type: "object";
73
- };
74
- export declare const ActivityListRequestSchema: {
75
- readonly additionalProperties: false;
76
- readonly properties: {
77
- readonly kind: {
78
- readonly anyOf: readonly [{
79
- readonly const: "auth.connect";
80
- readonly type: "string";
81
- }, {
82
- readonly const: "auth.disconnect";
83
- readonly type: "string";
84
- }, {
85
- readonly const: "auth.session_revoked";
86
- readonly type: "string";
87
- }, {
88
- readonly const: "auth.connection_kicked";
89
- readonly type: "string";
90
- }];
91
- };
92
- readonly limit: {
93
- readonly maximum: 200;
94
- readonly minimum: 1;
95
- readonly type: "integer";
96
- };
97
- };
98
- readonly type: "object";
99
- };
100
- export declare const ActivityListResponseSchema: {
101
- readonly additionalProperties: false;
102
- readonly properties: {
103
- readonly entries: {
104
- readonly items: {
105
- readonly additionalProperties: false;
106
- readonly properties: {
107
- readonly actor: {
108
- readonly type: "string";
109
- };
110
- readonly id: {
111
- readonly type: "string";
112
- };
113
- readonly kind: {
114
- readonly anyOf: readonly [{
115
- readonly const: "auth.connect";
116
- readonly type: "string";
117
- }, {
118
- readonly const: "auth.disconnect";
119
- readonly type: "string";
120
- }, {
121
- readonly const: "auth.session_revoked";
122
- readonly type: "string";
123
- }, {
124
- readonly const: "auth.connection_kicked";
125
- readonly type: "string";
126
- }];
127
- };
128
- readonly metadata: {
129
- readonly patternProperties: {
130
- readonly "^.*$": {};
131
- };
132
- readonly type: "object";
133
- };
134
- readonly occurredAt: {
135
- readonly format: "date-time";
136
- readonly type: "string";
137
- };
138
- readonly principalId: {
139
- readonly type: "string";
140
- };
141
- readonly principalLabel: {
142
- readonly type: "string";
143
- };
144
- readonly principalOrigin: {
145
- readonly type: "string";
146
- };
147
- readonly sessionKey: {
148
- readonly type: "string";
149
- };
150
- readonly summary: {
151
- readonly type: "string";
152
- };
153
- readonly userNkey: {
154
- readonly type: "string";
155
- };
156
- };
157
- readonly required: readonly ["id", "kind", "occurredAt", "principalOrigin", "principalId", "principalLabel", "summary"];
158
- readonly type: "object";
159
- };
160
- readonly type: "array";
161
- };
162
- };
163
- readonly required: readonly ["entries"];
164
- readonly type: "object";
165
- };
166
- export declare const ActivityRecordedEventSchema: {
167
- readonly additionalProperties: false;
168
- readonly properties: {
169
- readonly actor: {
170
- readonly type: "string";
171
- };
172
- readonly header: {
173
- readonly properties: {
174
- readonly id: {
175
- readonly type: "string";
176
- };
177
- readonly time: {
178
- readonly format: "date-time";
179
- readonly type: "string";
180
- };
181
- };
182
- readonly required: readonly ["id", "time"];
183
- readonly type: "object";
184
- };
185
- readonly id: {
186
- readonly type: "string";
187
- };
188
- readonly kind: {
189
- readonly anyOf: readonly [{
190
- readonly const: "auth.connect";
191
- readonly type: "string";
192
- }, {
193
- readonly const: "auth.disconnect";
194
- readonly type: "string";
195
- }, {
196
- readonly const: "auth.session_revoked";
197
- readonly type: "string";
198
- }, {
199
- readonly const: "auth.connection_kicked";
200
- readonly type: "string";
201
- }];
202
- };
203
- readonly metadata: {
204
- readonly patternProperties: {
205
- readonly "^.*$": {};
206
- };
207
- readonly type: "object";
208
- };
209
- readonly occurredAt: {
210
- readonly format: "date-time";
211
- readonly type: "string";
212
- };
213
- readonly principalId: {
214
- readonly type: "string";
215
- };
216
- readonly principalLabel: {
217
- readonly type: "string";
218
- };
219
- readonly principalOrigin: {
220
- readonly type: "string";
221
- };
222
- readonly sessionKey: {
223
- readonly type: "string";
224
- };
225
- readonly summary: {
226
- readonly type: "string";
227
- };
228
- readonly userNkey: {
229
- readonly type: "string";
230
- };
231
- };
232
- readonly required: readonly ["header", "id", "kind", "occurredAt", "principalOrigin", "principalId", "principalLabel", "summary"];
233
- readonly type: "object";
234
- };
235
- export declare const HealthRequestSchema: {
236
- readonly properties: {};
237
- readonly type: "object";
238
- };
239
- export declare const HealthResponseSchema: {
240
- readonly properties: {
241
- readonly checks: {
242
- readonly items: {
243
- readonly properties: {
244
- readonly error: {
245
- readonly type: "string";
246
- };
247
- readonly info: {
248
- readonly patternProperties: {
249
- readonly "^.*$": {};
250
- };
251
- readonly type: "object";
252
- };
253
- readonly latencyMs: {
254
- readonly type: "number";
255
- };
256
- readonly name: {
257
- readonly type: "string";
258
- };
259
- readonly status: {
260
- readonly anyOf: readonly [{
261
- readonly const: "ok";
262
- readonly type: "string";
263
- }, {
264
- readonly const: "failed";
265
- readonly type: "string";
266
- }];
267
- };
268
- readonly summary: {
269
- readonly type: "string";
270
- };
271
- };
272
- readonly required: readonly ["name", "status", "latencyMs"];
273
- readonly type: "object";
274
- };
275
- readonly type: "array";
276
- };
277
- readonly service: {
278
- readonly type: "string";
279
- };
280
- readonly status: {
281
- readonly anyOf: readonly [{
282
- readonly const: "healthy";
283
- readonly type: "string";
284
- }, {
285
- readonly const: "unhealthy";
286
- readonly type: "string";
287
- }, {
288
- readonly const: "degraded";
289
- readonly type: "string";
290
- }];
291
- };
292
- readonly timestamp: {
293
- readonly format: "date-time";
294
- readonly type: "string";
295
- };
296
- };
297
- readonly required: readonly ["status", "service", "timestamp", "checks"];
298
- readonly type: "object";
299
- };
300
- //# sourceMappingURL=schemas.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../../../../src/.build/generated-sdk/activity/schemas.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,wBAAwB;;;;;;;;;CAAkH,CAAC;AAExJ,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAkzB,CAAC;AAEz1B,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;CAA0U,CAAC;AAEjX,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA+0B,CAAC;AAEv3B,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAw2B,CAAC;AAEj5B,eAAO,MAAM,mBAAmB;;;CAA6C,CAAC;AAE9E,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA6pB,CAAC"}
@@ -1,8 +0,0 @@
1
- // Generated from ./generated/contracts/manifests/trellis.activity@v1.json
2
- export const ActivityGetRequestSchema = { "additionalProperties": false, "properties": { "id": { "type": "string" } }, "required": ["id"], "type": "object" };
3
- export const ActivityGetResponseSchema = { "additionalProperties": false, "properties": { "entry": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "id": { "type": "string" }, "kind": { "anyOf": [{ "const": "auth.connect", "type": "string" }, { "const": "auth.disconnect", "type": "string" }, { "const": "auth.session_revoked", "type": "string" }, { "const": "auth.connection_kicked", "type": "string" }] }, "metadata": { "patternProperties": { "^.*$": {} }, "type": "object" }, "occurredAt": { "format": "date-time", "type": "string" }, "principalId": { "type": "string" }, "principalLabel": { "type": "string" }, "principalOrigin": { "type": "string" }, "sessionKey": { "type": "string" }, "summary": { "type": "string" }, "userNkey": { "type": "string" } }, "required": ["id", "kind", "occurredAt", "principalOrigin", "principalId", "principalLabel", "summary"], "type": "object" } }, "required": ["entry"], "type": "object" };
4
- export const ActivityListRequestSchema = { "additionalProperties": false, "properties": { "kind": { "anyOf": [{ "const": "auth.connect", "type": "string" }, { "const": "auth.disconnect", "type": "string" }, { "const": "auth.session_revoked", "type": "string" }, { "const": "auth.connection_kicked", "type": "string" }] }, "limit": { "maximum": 200, "minimum": 1, "type": "integer" } }, "type": "object" };
5
- export const ActivityListResponseSchema = { "additionalProperties": false, "properties": { "entries": { "items": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "id": { "type": "string" }, "kind": { "anyOf": [{ "const": "auth.connect", "type": "string" }, { "const": "auth.disconnect", "type": "string" }, { "const": "auth.session_revoked", "type": "string" }, { "const": "auth.connection_kicked", "type": "string" }] }, "metadata": { "patternProperties": { "^.*$": {} }, "type": "object" }, "occurredAt": { "format": "date-time", "type": "string" }, "principalId": { "type": "string" }, "principalLabel": { "type": "string" }, "principalOrigin": { "type": "string" }, "sessionKey": { "type": "string" }, "summary": { "type": "string" }, "userNkey": { "type": "string" } }, "required": ["id", "kind", "occurredAt", "principalOrigin", "principalId", "principalLabel", "summary"], "type": "object" }, "type": "array" } }, "required": ["entries"], "type": "object" };
6
- export const ActivityRecordedEventSchema = { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "header": { "properties": { "id": { "type": "string" }, "time": { "format": "date-time", "type": "string" } }, "required": ["id", "time"], "type": "object" }, "id": { "type": "string" }, "kind": { "anyOf": [{ "const": "auth.connect", "type": "string" }, { "const": "auth.disconnect", "type": "string" }, { "const": "auth.session_revoked", "type": "string" }, { "const": "auth.connection_kicked", "type": "string" }] }, "metadata": { "patternProperties": { "^.*$": {} }, "type": "object" }, "occurredAt": { "format": "date-time", "type": "string" }, "principalId": { "type": "string" }, "principalLabel": { "type": "string" }, "principalOrigin": { "type": "string" }, "sessionKey": { "type": "string" }, "summary": { "type": "string" }, "userNkey": { "type": "string" } }, "required": ["header", "id", "kind", "occurredAt", "principalOrigin", "principalId", "principalLabel", "summary"], "type": "object" };
7
- export const HealthRequestSchema = { "properties": {}, "type": "object" };
8
- export const HealthResponseSchema = { "properties": { "checks": { "items": { "properties": { "error": { "type": "string" }, "info": { "patternProperties": { "^.*$": {} }, "type": "object" }, "latencyMs": { "type": "number" }, "name": { "type": "string" }, "status": { "anyOf": [{ "const": "ok", "type": "string" }, { "const": "failed", "type": "string" }] }, "summary": { "type": "string" } }, "required": ["name", "status", "latencyMs"], "type": "object" }, "type": "array" }, "service": { "type": "string" }, "status": { "anyOf": [{ "const": "healthy", "type": "string" }, { "const": "unhealthy", "type": "string" }, { "const": "degraded", "type": "string" }] }, "timestamp": { "format": "date-time", "type": "string" } }, "required": ["status", "service", "timestamp", "checks"], "type": "object" };