@ouraihub/aether-contracts 0.0.0-stage → 0.1.1

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 (88) hide show
  1. package/LICENSE +789 -0
  2. package/package.json +32 -3
  3. package/src/generated/Ack.ts +10 -0
  4. package/src/generated/Approval.ts +6 -0
  5. package/src/generated/ContextRef.ts +14 -0
  6. package/src/generated/ContextSource.ts +6 -0
  7. package/src/generated/ContextUsage.ts +27 -0
  8. package/src/generated/Conversation.ts +16 -0
  9. package/src/generated/ConversationSummary.ts +30 -0
  10. package/src/generated/Cost.ts +15 -0
  11. package/src/generated/Currency.ts +6 -0
  12. package/src/generated/Details.ts +6 -0
  13. package/src/generated/EndStatus.ts +6 -0
  14. package/src/generated/Endpoint.ts +54 -0
  15. package/src/generated/EndpointKey.ts +34 -0
  16. package/src/generated/EndpointKeySave.ts +30 -0
  17. package/src/generated/EndpointSave.ts +45 -0
  18. package/src/generated/ImagePart.ts +14 -0
  19. package/src/generated/ImageRef.ts +14 -0
  20. package/src/generated/IngestBatch.ts +15 -0
  21. package/src/generated/IngestEntry.ts +19 -0
  22. package/src/generated/IngestLevel.ts +6 -0
  23. package/src/generated/IngestReceipt.ts +14 -0
  24. package/src/generated/IssuedToken.ts +34 -0
  25. package/src/generated/KeyStrategy.ts +6 -0
  26. package/src/generated/KitError.ts +21 -0
  27. package/src/generated/KitErrorCode.ts +6 -0
  28. package/src/generated/LogEntry.ts +26 -0
  29. package/src/generated/LogLevel.ts +6 -0
  30. package/src/generated/LogStatus.ts +15 -0
  31. package/src/generated/ManualSave.ts +30 -0
  32. package/src/generated/McpTransport.ts +22 -0
  33. package/src/generated/Model.ts +58 -0
  34. package/src/generated/ModelFilter.ts +15 -0
  35. package/src/generated/ModelOption.ts +44 -0
  36. package/src/generated/ModelPricing.ts +16 -0
  37. package/src/generated/ModelRef.ts +14 -0
  38. package/src/generated/ModelSave.ts +60 -0
  39. package/src/generated/ModelType.ts +6 -0
  40. package/src/generated/PermissionMode.ts +7 -0
  41. package/src/generated/Preview.ts +50 -0
  42. package/src/generated/PreviewAction.ts +6 -0
  43. package/src/generated/PreviewCurrent.ts +14 -0
  44. package/src/generated/PricingTier.ts +26 -0
  45. package/src/generated/ProbeError.ts +23 -0
  46. package/src/generated/ProbeErrorKind.ts +6 -0
  47. package/src/generated/ProbeResult.ts +26 -0
  48. package/src/generated/ProbeTarget.ts +27 -0
  49. package/src/generated/ProbedModel.ts +62 -0
  50. package/src/generated/Protocol.ts +6 -0
  51. package/src/generated/Provider.ts +31 -0
  52. package/src/generated/ProviderSave.ts +32 -0
  53. package/src/generated/ReasoningConfig.ts +20 -0
  54. package/src/generated/ReasoningDialect.ts +6 -0
  55. package/src/generated/ReasoningEffort.ts +6 -0
  56. package/src/generated/RunAccepted.ts +18 -0
  57. package/src/generated/RunEvent.ts +121 -0
  58. package/src/generated/RunRequest.ts +84 -0
  59. package/src/generated/RunSnapshot.ts +36 -0
  60. package/src/generated/RunStatus.ts +6 -0
  61. package/src/generated/ScopeState.ts +22 -0
  62. package/src/generated/SearchHit.ts +18 -0
  63. package/src/generated/ServerDto.ts +44 -0
  64. package/src/generated/ServerSave.ts +40 -0
  65. package/src/generated/ServerSecret.ts +19 -0
  66. package/src/generated/SkillDto.ts +64 -0
  67. package/src/generated/SkillFileKind.ts +6 -0
  68. package/src/generated/SkillFileMeta.ts +19 -0
  69. package/src/generated/SkillMeta.ts +47 -0
  70. package/src/generated/SkillOrigin.ts +6 -0
  71. package/src/generated/SkillRef.ts +14 -0
  72. package/src/generated/Source.ts +15 -0
  73. package/src/generated/Status.ts +22 -0
  74. package/src/generated/TokenRecord.ts +30 -0
  75. package/src/generated/TokenUsage.ts +26 -0
  76. package/src/generated/ToolDto.ts +23 -0
  77. package/src/generated/ToolEffect.ts +6 -0
  78. package/src/generated/ToolOutcome.ts +6 -0
  79. package/src/generated/ToolSourceKind.ts +6 -0
  80. package/src/generated/Turn.ts +84 -0
  81. package/src/generated/TurnStatus.ts +6 -0
  82. package/src/generated/TypeSource.ts +6 -0
  83. package/src/index.ts +82 -0
  84. package/src/search.ts +50 -0
  85. package/src/validation.ts +368 -0
  86. package/src/validators.d.ts +177 -0
  87. package/src/validators.js +18 -0
  88. package/README.md +0 -3
package/package.json CHANGED
@@ -1,6 +1,35 @@
1
1
  {
2
2
  "name": "@ouraihub/aether-contracts",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
3
+ "version": "0.1.1",
4
+ "license": "LGPL-3.0-only",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "git+https://github.com/ouraihub/Aether.git",
8
+ "directory": "packages/contracts"
9
+ },
10
+ "type": "module",
11
+ "exports": {
12
+ ".": "./src/index.ts"
13
+ },
14
+ "dependencies": {
15
+ "ajv": "8.20.0"
16
+ },
17
+ "devDependencies": {
18
+ "typescript": "5.9.3"
19
+ },
20
+ "files": [
21
+ "src",
22
+ "!src/**/*.test.ts",
23
+ "!src/**/*.test.svelte",
24
+ "!src/**/__tests__"
25
+ ],
26
+ "publishConfig": {
27
+ "access": "public"
28
+ },
29
+ "scripts": {
30
+ "generate": "node scripts/generate.mjs",
31
+ "check-generated": "node scripts/generate.mjs --check",
32
+ "typecheck": "tsc --noEmit",
33
+ "test": "node --test test/contracts.test.mjs"
34
+ }
6
35
  }
@@ -0,0 +1,10 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+
3
+ /**
4
+ * Successful acknowledgement.
5
+ */
6
+ export type Ack = {
7
+ /**
8
+ * Always true.
9
+ */
10
+ ok: true, };
@@ -0,0 +1,6 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+
3
+ /**
4
+ * Default approval of a tool in the run catalogue; the host has the final say.
5
+ */
6
+ export type Approval = "auto" | "ask" | "deny";
@@ -0,0 +1,14 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+
3
+ /**
4
+ * App-defined context reference, not an authorization credential.
5
+ */
6
+ export type ContextRef = {
7
+ /**
8
+ * App-defined kind.
9
+ */
10
+ kind: string,
11
+ /**
12
+ * App-defined identifier.
13
+ */
14
+ id: string, };
@@ -0,0 +1,6 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+
3
+ /**
4
+ * Provenance of the current request context count.
5
+ */
6
+ export type ContextSource = "reported" | "estimated" | "unknown";
@@ -0,0 +1,27 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+ import type { ContextSource } from "./ContextSource.js";
3
+
4
+ /**
5
+ * Context count and identity of the most recent model request.
6
+ */
7
+ export type ContextUsage = {
8
+ /**
9
+ * Input plus output count.
10
+ */
11
+ tokens: number | null,
12
+ /**
13
+ * Configured real model window, not a fallback safety budget.
14
+ */
15
+ contextWindow: number | null,
16
+ /**
17
+ * Count provenance.
18
+ */
19
+ source: ContextSource,
20
+ /**
21
+ * Endpoint used for the count.
22
+ */
23
+ endpointId: string | null,
24
+ /**
25
+ * Model used for the count.
26
+ */
27
+ modelId: string | null, };
@@ -0,0 +1,16 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+ import type { ConversationSummary } from "./ConversationSummary.js";
3
+ import type { Turn } from "./Turn.js";
4
+
5
+ /**
6
+ * A display-only conversation, without native messages or database state.
7
+ */
8
+ export type Conversation = {
9
+ /**
10
+ * Conversation metadata.
11
+ */
12
+ summary: ConversationSummary,
13
+ /**
14
+ * All display candidates in sequence order.
15
+ */
16
+ turns: Array<Turn>, };
@@ -0,0 +1,30 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+
3
+ /**
4
+ * Metadata projected for the public history list.
5
+ */
6
+ export type ConversationSummary = {
7
+ /**
8
+ * Conversation identity.
9
+ */
10
+ id: string,
11
+ /**
12
+ * Display title.
13
+ */
14
+ title: string,
15
+ /**
16
+ * Optional host-defined scope, not an authorization claim.
17
+ */
18
+ scope: string | null,
19
+ /**
20
+ * Persisted completed context head.
21
+ */
22
+ selectedTurnId: string | null,
23
+ /**
24
+ * Creation time in Unix milliseconds.
25
+ */
26
+ createdAt: number,
27
+ /**
28
+ * Last history update in Unix milliseconds.
29
+ */
30
+ updatedAt: number, };
@@ -0,0 +1,15 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+ import type { Currency } from "./Currency.js";
3
+
4
+ /**
5
+ * Cost of one turn, fixed when the turn finishes.
6
+ */
7
+ export type Cost = {
8
+ /**
9
+ * Amount in `currency`.
10
+ */
11
+ amount: number,
12
+ /**
13
+ * Currency of the pricing used.
14
+ */
15
+ currency: Currency, };
@@ -0,0 +1,6 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+
3
+ /**
4
+ * Price currency.
5
+ */
6
+ export type Currency = "USD" | "CNY";
@@ -0,0 +1,6 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+
3
+ /**
4
+ * Whitelisted context sent to the UI. Anything else stays in the diagnostic log.
5
+ */
6
+ export type Details = { field?: string, reason?: string, status?: number, limit?: number, entity?: string, port?: number, errorId?: string, };
@@ -0,0 +1,6 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+
3
+ /**
4
+ * Terminal status of a run.
5
+ */
6
+ export type EndStatus = "completed" | "failed" | "cancelled";
@@ -0,0 +1,54 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+ import type { EndpointKey } from "./EndpointKey.js";
3
+ import type { KeyStrategy } from "./KeyStrategy.js";
4
+ import type { Model } from "./Model.js";
5
+ import type { Protocol } from "./Protocol.js";
6
+
7
+ /**
8
+ * A stored endpoint as shown to the UI: keys only as masked entries.
9
+ */
10
+ export type Endpoint = {
11
+ /**
12
+ * Endpoint id.
13
+ */
14
+ id: string,
15
+ /**
16
+ * Short name, unique within the provider.
17
+ */
18
+ slug: string,
19
+ /**
20
+ * Base URL as entered; may be empty.
21
+ */
22
+ baseUrl: string,
23
+ /**
24
+ * Wire protocol.
25
+ */
26
+ protocol: Protocol,
27
+ /**
28
+ * API keys ordered by position.
29
+ */
30
+ keys: Array<EndpointKey>,
31
+ /**
32
+ * How a request picks among `keys`.
33
+ */
34
+ keyStrategy: KeyStrategy,
35
+ /**
36
+ * Where model listing is fetched from.
37
+ */
38
+ probeUrl: string,
39
+ /**
40
+ * Selected models in display order.
41
+ */
42
+ models: Array<Model>,
43
+ /**
44
+ * Image generation base URL; `None` = use `base_url`.
45
+ */
46
+ imageBaseUrl: string | null,
47
+ /**
48
+ * Image edit (`/images/edits`) base URL; `None` = use `base_url`.
49
+ */
50
+ imageEditBaseUrl: string | null,
51
+ /**
52
+ * Custom request headers, applied before system headers.
53
+ */
54
+ headers: { [key in string]?: string }, };
@@ -0,0 +1,34 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+
3
+ /**
4
+ * One API key of an endpoint as shown to the UI: never the plaintext.
5
+ */
6
+ export type EndpointKey = {
7
+ /**
8
+ * Key id.
9
+ */
10
+ id: string,
11
+ /**
12
+ * Optional user label, at most 40 characters.
13
+ */
14
+ label: string,
15
+ /**
16
+ * Disabled keys are skipped by rotation.
17
+ */
18
+ enabled: boolean,
19
+ /**
20
+ * First 4 and last 4 characters; `None` when the ciphertext cannot be decrypted.
21
+ */
22
+ masked: string | null,
23
+ /**
24
+ * `false` when the ciphertext cannot be decrypted (e.g. another Windows user).
25
+ */
26
+ readable: boolean,
27
+ /**
28
+ * Unix milliseconds until which `FillFirst` skips this key; `None` = usable.
29
+ */
30
+ exhaustedUntil: number | null,
31
+ /**
32
+ * Why the key was set aside, e.g. `HTTP 429`; `None` when usable.
33
+ */
34
+ exhaustedReason: string | null, };
@@ -0,0 +1,30 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+
3
+ /**
4
+ * Adds (no `id`) or patches (with `id`) one key of an endpoint; omitted fields keep.
5
+ */
6
+ export type EndpointKeySave = {
7
+ /**
8
+ * Endpoint the key belongs to.
9
+ */
10
+ endpointId: string,
11
+ /**
12
+ * Existing key id; absent = new key.
13
+ */
14
+ id?: string,
15
+ /**
16
+ * Plaintext key, at most 4096 bytes; required for a new key.
17
+ */
18
+ key?: string,
19
+ /**
20
+ * Label, at most 40 characters; new keys default to `""`.
21
+ */
22
+ label?: string,
23
+ /**
24
+ * New keys default to enabled.
25
+ */
26
+ enabled?: boolean,
27
+ /**
28
+ * `true` clears a set-aside state so the key is tried again.
29
+ */
30
+ restore?: boolean, };
@@ -0,0 +1,45 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+ import type { KeyStrategy } from "./KeyStrategy.js";
3
+ import type { ModelSave } from "./ModelSave.js";
4
+ import type { Protocol } from "./Protocol.js";
5
+
6
+ /**
7
+ * One endpoint of a save request. Existing endpoints must carry their `id`.
8
+ */
9
+ export type EndpointSave = {
10
+ /**
11
+ * Existing endpoint id; absent = new endpoint.
12
+ */
13
+ id?: string,
14
+ /**
15
+ * Short name, 1–40 of `[a-z0-9-]`.
16
+ */
17
+ slug: string,
18
+ /**
19
+ * Base URL: empty, or `http(s)://` of at most 2048 bytes.
20
+ */
21
+ baseUrl: string,
22
+ /**
23
+ * Wire protocol.
24
+ */
25
+ protocol: Protocol,
26
+ /**
27
+ * Key selection; absent = keep (new endpoints: `RoundRobin`).
28
+ */
29
+ keyStrategy?: KeyStrategy,
30
+ /**
31
+ * Selected models in display order.
32
+ */
33
+ models: Array<ModelSave>,
34
+ /**
35
+ * Image generation base URL: empty/null = use `baseUrl`; absent = keep.
36
+ */
37
+ imageBaseUrl?: string | null,
38
+ /**
39
+ * Image edit (`/images/edits`) base URL: empty/null = use `base_url`; absent = keep.
40
+ */
41
+ imageEditBaseUrl?: string | null,
42
+ /**
43
+ * Custom request headers; absent = keep.
44
+ */
45
+ headers?: { [key in string]?: string }, };
@@ -0,0 +1,14 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+
3
+ /**
4
+ * Standard base64 image bytes without a data URL prefix.
5
+ */
6
+ export type ImagePart = {
7
+ /**
8
+ * Supported MIME type.
9
+ */
10
+ mime: string,
11
+ /**
12
+ * Standard base64 bytes.
13
+ */
14
+ data: string, };
@@ -0,0 +1,14 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+
3
+ /**
4
+ * Host-controlled display reference; expired images retain their MIME.
5
+ */
6
+ export type ImageRef = {
7
+ /**
8
+ * Supported MIME type.
9
+ */
10
+ mime: string,
11
+ /**
12
+ * Controlled display URL, absent after expiry.
13
+ */
14
+ url: string | null, };
@@ -0,0 +1,15 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+ import type { IngestEntry } from "./IngestEntry.js";
3
+
4
+ /**
5
+ * A batch of frontend log entries.
6
+ */
7
+ export type IngestBatch = {
8
+ /**
9
+ * Entries, at most 50 are accepted per batch.
10
+ */
11
+ entries: Array<IngestEntry>,
12
+ /**
13
+ * Entries the frontend dropped before sending (buffer overflow).
14
+ */
15
+ droppedCount: number, };
@@ -0,0 +1,19 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+ import type { IngestLevel } from "./IngestLevel.js";
3
+
4
+ /**
5
+ * One frontend log entry.
6
+ */
7
+ export type IngestEntry = {
8
+ /**
9
+ * Severity.
10
+ */
11
+ level: IngestLevel,
12
+ /**
13
+ * Dotted lower-case event name, e.g. `ui.dialog.opened`.
14
+ */
15
+ event: string,
16
+ /**
17
+ * Flat fields: bool, number or short non-secret string.
18
+ */
19
+ fields?: Record<string, unknown>, };
@@ -0,0 +1,6 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+
3
+ /**
4
+ * Frontend log levels.
5
+ */
6
+ export type IngestLevel = "debug" | "info" | "warn" | "error";
@@ -0,0 +1,14 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+
3
+ /**
4
+ * How many entries of a batch were written or refused.
5
+ */
6
+ export type IngestReceipt = {
7
+ /**
8
+ * Entries written to the log.
9
+ */
10
+ accepted: number,
11
+ /**
12
+ * Entries refused (over the batch limit or failing validation).
13
+ */
14
+ rejected: number, };
@@ -0,0 +1,34 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+
3
+ /**
4
+ * A freshly issued token: the only response that ever carries the secret, so no `Debug`.
5
+ */
6
+ export type IssuedToken = {
7
+ /**
8
+ * `<prefix>_<base64url>`; shown once.
9
+ */
10
+ token: string,
11
+ /**
12
+ * Token id.
13
+ */
14
+ id: string,
15
+ /**
16
+ * User-given name.
17
+ */
18
+ name: string,
19
+ /**
20
+ * Granted scope ids.
21
+ */
22
+ scopes: Array<string>,
23
+ /**
24
+ * Unix milliseconds.
25
+ */
26
+ createdAt: number,
27
+ /**
28
+ * Unix milliseconds, updated at most once a minute.
29
+ */
30
+ lastUsedAt: number | null,
31
+ /**
32
+ * Unix milliseconds once revoked.
33
+ */
34
+ revokedAt: number | null, };
@@ -0,0 +1,6 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+
3
+ /**
4
+ * How an endpoint picks among its enabled keys (docs/43 §3 of the host).
5
+ */
6
+ export type KeyStrategy = "round_robin" | "fill_first";
@@ -0,0 +1,21 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+ import type { Details } from "./Details.js";
3
+ import type { KitErrorCode } from "./KitErrorCode.js";
4
+
5
+ /**
6
+ * A failure crossing a aether boundary. Serializes to `{ code, message, details? }`;
7
+ * the cause chain is logged by whoever handles the error and never serialized.
8
+ */
9
+ export type KitError = {
10
+ /**
11
+ * Error code.
12
+ */
13
+ code: KitErrorCode,
14
+ /**
15
+ * Safe English fallback text.
16
+ */
17
+ message: string,
18
+ /**
19
+ * Omitted when empty.
20
+ */
21
+ details?: Details, };
@@ -0,0 +1,6 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+
3
+ /**
4
+ * Stable error codes. The UI translates by code, never by message (docs/00 §7.2).
5
+ */
6
+ export type KitErrorCode = "bad_request" | "not_found" | "conflict" | "unsupported" | "cancelled" | "unauthorized" | "forbidden" | "rate_limited" | "upstream" | "timeout" | "network" | "needs_config" | "budget_exceeded" | "incompatible_db" | "internal";
@@ -0,0 +1,26 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+
3
+ /**
4
+ * One parsed log line.
5
+ */
6
+ export type LogEntry = {
7
+ /**
8
+ * Position in the returned list, oldest first.
9
+ */
10
+ seq: number,
11
+ /**
12
+ * RFC 3339 UTC timestamp as written; empty for unparsable lines.
13
+ */
14
+ time: string,
15
+ /**
16
+ * `ERROR` | `WARN` | `INFO` | `DEBUG` | `TRACE`.
17
+ */
18
+ level: 'ERROR' | 'WARN' | 'INFO' | 'DEBUG' | 'TRACE',
19
+ /**
20
+ * Event target (module path, or `frontend` for ingested entries).
21
+ */
22
+ target: string,
23
+ /**
24
+ * Message followed by `k=v` fields.
25
+ */
26
+ message: string, };
@@ -0,0 +1,6 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+
3
+ /**
4
+ * Serialized diagnostic level. Native logging configuration uses `tracing::Level`.
5
+ */
6
+ export type LogLevel = "ERROR" | "WARN" | "INFO" | "DEBUG" | "TRACE";
@@ -0,0 +1,15 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+ import type { LogLevel } from "./LogLevel.js";
3
+
4
+ /**
5
+ * Current diagnostic level and availability of the configured log sink.
6
+ */
7
+ export type LogStatus = {
8
+ /**
9
+ * Effective level.
10
+ */
11
+ level: LogLevel,
12
+ /**
13
+ * Whether the most recent write, flush or rotation succeeded.
14
+ */
15
+ available: boolean, };
@@ -0,0 +1,30 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+
3
+ /**
4
+ * Create (no `id`) or edit a hand-written skill.
5
+ */
6
+ export type ManualSave = {
7
+ /**
8
+ * Existing skill id when editing.
9
+ */
10
+ id?: string,
11
+ /**
12
+ * Must equal the current revision when editing (two-window guard).
13
+ */
14
+ expectedRevision?: number,
15
+ /**
16
+ * Slug name.
17
+ */
18
+ name: string,
19
+ /**
20
+ * Description.
21
+ */
22
+ description: string,
23
+ /**
24
+ * Version; absent or `null` = unversioned.
25
+ */
26
+ version?: string | null,
27
+ /**
28
+ * Body.
29
+ */
30
+ body: string, };
@@ -0,0 +1,22 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+
3
+ /**
4
+ * How the server is reached (docs/27 §2). Requests reject unknown fields.
5
+ */
6
+ export type McpTransport = { "kind": "http",
7
+ /**
8
+ * URL without credentials; masked when listed.
9
+ */
10
+ url: string, } | { "kind": "stdio",
11
+ /**
12
+ * Program to start (a path or a name looked up in `PATH`).
13
+ */
14
+ command: string,
15
+ /**
16
+ * Arguments, passed as is (no shell).
17
+ */
18
+ args: Array<string>,
19
+ /**
20
+ * Absolute working directory; absent = inherited.
21
+ */
22
+ cwd?: string, };