@semiont/core 0.5.3 → 0.5.5

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.
package/dist/index.d.ts CHANGED
@@ -1,6 +1,4 @@
1
1
  import { Subject, OperatorFunction, Observable } from 'rxjs';
2
- import { E as EnvironmentConfig, P as PlatformType$1 } from './config.types-oPv3Ajk-.js';
3
- export { A as AnthropicProviderConfig, a as AppConfig, B as BackendServiceConfig, D as DatabaseServiceConfig, b as EmbeddingServiceConfig, F as FrontendServiceConfig, G as GraphDatabaseType, c as GraphServiceConfig, I as InferenceProvidersConfig, M as McpServiceConfig, O as OllamaProviderConfig, S as SemiontConfig, d as ServicePlatformConfig, e as ServicesConfig, f as SiteConfig, V as VectorsServiceConfig } from './config.types-oPv3Ajk-.js';
4
2
 
5
3
  /**
6
4
  * This file was auto-generated by openapi-typescript.
@@ -320,7 +318,7 @@ interface paths {
320
318
  patch?: never;
321
319
  trace?: never;
322
320
  };
323
- "/api/tokens/worker": {
321
+ "/api/tokens/agent": {
324
322
  parameters: {
325
323
  query?: never;
326
324
  header?: never;
@@ -330,8 +328,10 @@ interface paths {
330
328
  get?: never;
331
329
  put?: never;
332
330
  /**
333
- * Worker Token Exchange
334
- * @description Exchange a shared secret for a bearer JWT. Used by workers and actors connecting to the EventBus.
331
+ * Software-Agent Token Exchange
332
+ * @description Exchange the shared secret plus an inference (provider, model) pair for a bearer JWT issued for that agent identity. Used by worker processes that emit on behalf of one or more software peers.
333
+ *
334
+ * The issued JWT carries the agent's DID (shape `did:web:<host>:agents:<provider>:<model>`); the bus stamps that DID onto `_userId` so events the agent emits attribute to the agent rather than to a generic worker pool.
335
335
  */
336
336
  post: {
337
337
  parameters: {
@@ -343,8 +343,12 @@ interface paths {
343
343
  requestBody: {
344
344
  content: {
345
345
  "application/json": {
346
- /** @description The shared worker secret (SEMIONT_WORKER_SECRET) */
346
+ /** @description The shared secret (SEMIONT_WORKER_SECRET) */
347
347
  secret: string;
348
+ /** @description Inference provider (e.g. ollama, anthropic) */
349
+ provider: string;
350
+ /** @description Model identifier (e.g. gemma2:27b, claude-3-5-sonnet) */
351
+ model: string;
348
352
  };
349
353
  };
350
354
  };
@@ -358,10 +362,21 @@ interface paths {
358
362
  "application/json": {
359
363
  /** @description Bearer JWT for subsequent authenticated requests */
360
364
  token: string;
365
+ /** @description DID of the software-agent identity the token is acting as */
366
+ did: string;
361
367
  };
362
368
  };
363
369
  };
364
- /** @description Invalid worker secret */
370
+ /** @description Missing or invalid request fields */
371
+ 400: {
372
+ headers: {
373
+ [name: string]: unknown;
374
+ };
375
+ content: {
376
+ "application/json": components["schemas"]["ErrorResponse"];
377
+ };
378
+ };
379
+ /** @description Invalid agent secret */
365
380
  401: {
366
381
  headers: {
367
382
  [name: string]: unknown;
@@ -370,7 +385,7 @@ interface paths {
370
385
  "application/json": components["schemas"]["ErrorResponse"];
371
386
  };
372
387
  };
373
- /** @description Worker authentication not configured */
388
+ /** @description Agent authentication not configured */
374
389
  503: {
375
390
  headers: {
376
391
  [name: string]: unknown;
@@ -1536,8 +1551,6 @@ interface paths {
1536
1551
  language?: string;
1537
1552
  /** @description JSON-stringified array of entity type names */
1538
1553
  entityTypes?: string;
1539
- /** @description How this resource was created (api, ui, upload, reference, cli, clone, generated) */
1540
- creationMethod?: string;
1541
1554
  /** @description For AI-generated resources: the annotation that triggered generation. Nested into generatedFrom.annotationId on the persisted event. */
1542
1555
  sourceAnnotationId?: string;
1543
1556
  /** @description For AI-generated resources: the source resource the generating annotation lives on. Nested into generatedFrom.resourceId on the persisted event. */
@@ -1790,15 +1803,16 @@ interface components {
1790
1803
  }[];
1791
1804
  };
1792
1805
  };
1793
- /** @description Minimal Person/Organization for attribution (W3C PROV compatible) */
1794
- Agent: {
1806
+ /** @description Web Annotation / W3C PROV Agent. Discriminated by @type — Person, Organization, or Software. Each branch carries fields appropriate to its kind. Software peers are first-class participants, not a sub-class of Person. */
1807
+ Agent: ({
1808
+ /** @constant */
1809
+ "@type": "Person";
1795
1810
  /**
1796
1811
  * Format: uri
1797
- * @description Unique identifier for the agent
1812
+ * @description DID-shaped identifier (e.g. did:web:host:users:email%40host)
1798
1813
  */
1799
1814
  "@id"?: string;
1800
- /** @description Type(s) of agent (Person, Organization, Software) */
1801
- "@type"?: string | string[];
1815
+ /** @description Display name */
1802
1816
  name: string;
1803
1817
  nickname?: string;
1804
1818
  email?: string;
@@ -1806,7 +1820,36 @@ interface components {
1806
1820
  homepage?: string;
1807
1821
  } & {
1808
1822
  [key: string]: unknown;
1809
- };
1823
+ }) | ({
1824
+ /** @constant */
1825
+ "@type": "Organization";
1826
+ /** Format: uri */
1827
+ "@id"?: string;
1828
+ name: string;
1829
+ homepage?: string;
1830
+ } & {
1831
+ [key: string]: unknown;
1832
+ }) | ({
1833
+ /** @constant */
1834
+ "@type": "Software";
1835
+ /**
1836
+ * Format: uri
1837
+ * @description DID-shaped identifier (e.g. did:web:host:agents:provider:model)
1838
+ */
1839
+ "@id"?: string;
1840
+ /** @description Stable human-friendly label. Not parsed; UI composes display from structured fields. */
1841
+ name: string;
1842
+ /** @description Inference provider (e.g. ollama, anthropic) */
1843
+ provider?: string;
1844
+ /** @description Model identifier (e.g. gemma2:27b, claude-3-5-sonnet) */
1845
+ model?: string;
1846
+ /** @description Inference parameters (temperature, maxTokens, systemPrompt, etc.). Runtime metadata, not part of identity. */
1847
+ parameters?: {
1848
+ [key: string]: unknown;
1849
+ };
1850
+ } & {
1851
+ [key: string]: unknown;
1852
+ });
1810
1853
  Annotation: {
1811
1854
  /**
1812
1855
  * @description W3C Web Annotation JSON-LD context
@@ -1826,10 +1869,14 @@ interface components {
1826
1869
  target: string | components["schemas"]["AnnotationTarget"];
1827
1870
  /** @description W3C Web Annotation body. Optional per the W3C spec — annotations whose motivation alone is meaningful (highlighting) legitimately omit it. Present values are either a single body or a non-empty array of bodies; the prior empty-array 'stub' branch has been removed (it was a naming lie shared between highlights and never-actually-emitted stub references, and the source of the #651 reference-annotation validator bug). */
1828
1871
  body?: components["schemas"]["AnnotationBody"] | components["schemas"]["AnnotationBody"][];
1872
+ /** @description Web Annotation creator — the entity that initiated the annotation. For human-driven work this is a Person; for autonomous-agent work this is a Software peer. */
1829
1873
  creator?: components["schemas"]["Agent"];
1830
1874
  created?: string;
1831
1875
  modified?: string;
1832
- generator?: components["schemas"]["Agent"];
1876
+ /** @description Web Annotation generator — the SoftwareAgent that produced the annotation, when software was involved. Absent for purely manual annotations. Single object is the common case; array supports pipelines that combine multiple software peers. */
1877
+ generator?: components["schemas"]["Agent"] | components["schemas"]["Agent"][];
1878
+ /** @description PROV-O wasAttributedTo — all parties responsible for this annotation. For human-prompted AI work this combines `creator` (the Person) and `generator` (the Software). For purely manual annotations it equals `[creator]`; for autonomous-agent work it equals `[generator]` (and `creator` may be the same Software). */
1879
+ wasAttributedTo?: components["schemas"]["Agent"] | components["schemas"]["Agent"][];
1833
1880
  };
1834
1881
  /** @description Phase 2: Body can be TextualBody (for entity tags, descriptions) or SpecificResource (for links) */
1835
1882
  AnnotationBody: components["schemas"]["TextualBody"] | components["schemas"]["SpecificResource"];
@@ -2154,8 +2201,6 @@ interface components {
2154
2201
  /** @description SHA-256 of content */
2155
2202
  contentChecksum: string;
2156
2203
  contentByteSize?: number;
2157
- /** @enum {string} */
2158
- creationMethod: "api" | "upload" | "ui" | "reference" | "cli" | "clone" | "generated";
2159
2204
  entityTypes?: string[];
2160
2205
  /** @description Working-tree URI (e.g. file://docs/overview.md) */
2161
2206
  storageUri?: string;
@@ -2175,8 +2220,6 @@ interface components {
2175
2220
  contentChecksum: string;
2176
2221
  contentByteSize?: number;
2177
2222
  parentResourceId: string;
2178
- /** @enum {string} */
2179
- creationMethod: "api" | "upload" | "ui" | "reference" | "cli" | "clone" | "generated";
2180
2223
  entityTypes?: string[];
2181
2224
  language?: string;
2182
2225
  };
@@ -2514,11 +2557,6 @@ interface components {
2514
2557
  entityTypes?: string[];
2515
2558
  /** @description Application-specific: Whether this resource is a draft */
2516
2559
  isDraft?: boolean;
2517
- /**
2518
- * @description Application-specific: How this resource was created
2519
- * @enum {string}
2520
- */
2521
- creationMethod?: "api" | "upload" | "ui" | "reference" | "cli" | "clone" | "generated";
2522
2560
  /** @description Application-specific: ID of annotation that triggered generation */
2523
2561
  sourceAnnotationId?: string;
2524
2562
  /** @description Application-specific: ID of source resource for clones/derivatives */
@@ -3428,7 +3466,6 @@ interface components {
3428
3466
  format: components["schemas"]["ContentFormat"];
3429
3467
  language?: string;
3430
3468
  entityTypes?: string[];
3431
- creationMethod?: string;
3432
3469
  isDraft?: boolean;
3433
3470
  generatedFrom?: {
3434
3471
  resourceId?: string;
@@ -3548,26 +3585,6 @@ declare function resourceUri(uri: string): ResourceUri;
3548
3585
  declare function annotationUri(uri: string): AnnotationUri;
3549
3586
  declare function resourceAnnotationUri(uri: string): ResourceAnnotationUri;
3550
3587
 
3551
- /**
3552
- * Resource creation methods - How resources are created in the system
3553
- */
3554
- /**
3555
- * Enumeration of all possible resource creation methods
3556
- */
3557
- declare const CREATION_METHODS: {
3558
- readonly API: "api";
3559
- readonly UPLOAD: "upload";
3560
- readonly UI: "ui";
3561
- readonly REFERENCE: "reference";
3562
- readonly CLI: "cli";
3563
- readonly CLONE: "clone";
3564
- readonly GENERATED: "generated";
3565
- };
3566
- /**
3567
- * Type for resource creation methods
3568
- */
3569
- type CreationMethod = typeof CREATION_METHODS[keyof typeof CREATION_METHODS];
3570
-
3571
3588
  /**
3572
3589
  * Branded identifier types for compile-time type safety.
3573
3590
  *
@@ -5294,7 +5311,6 @@ interface PutBinaryRequest {
5294
5311
  storageUri: string;
5295
5312
  entityTypes?: string[];
5296
5313
  language?: string;
5297
- creationMethod?: CreationMethod | string;
5298
5314
  sourceAnnotationId?: AnnotationId | string;
5299
5315
  sourceResourceId?: ResourceId | string;
5300
5316
  generationPrompt?: string;
@@ -5843,35 +5859,48 @@ declare function isDefined<T>(value: T | null | undefined): value is T;
5843
5859
  /**
5844
5860
  * DID (Decentralized Identifier) and W3C Agent utilities
5845
5861
  *
5846
- * Provides utilities for working with DID:WEB identifiers and converting
5847
- * between user representations and W3C Web Annotation Agent objects.
5862
+ * DID:WEB shapes used in Semiont:
5863
+ *
5864
+ * Person: did:web:<host>:users:<email%40host>
5865
+ * Software: did:web:<host>:agents:<provider>:<model>
5866
+ *
5867
+ * `didToAgent` is the inverse: parse the DID, recognize whether the
5868
+ * subject is a person or a software peer, and return a typed Agent.
5869
+ *
5870
+ * Humans and software peers share the same identity *shape* (a DID
5871
+ * with a typed Agent on read). What differs is the path segment
5872
+ * (`:users:` vs `:agents:`) and the schema-typed fields each kind
5873
+ * carries on its Agent record.
5848
5874
  */
5849
5875
 
5850
5876
  type Agent = components['schemas']['Agent'];
5851
5877
  /**
5852
- * Convert a user object to a DID:WEB identifier
5878
+ * Convert a user object to a DID:WEB identifier.
5853
5879
  *
5854
- * Format: did:web:domain.com:users:email%40domain.com
5855
- * Example: did:web:example.com:users:alice%40example.com
5856
- *
5857
- * Email is used as the stable, human-readable identifier (URI-encoded).
5858
- * This is used for W3C Web Annotation compliance and federation readiness.
5859
- *
5860
- * @param user - User object with email and domain
5861
- * @returns DID:WEB identifier string
5880
+ * Format: did:web:<domain>:users:<email%40domain>
5862
5881
  */
5863
5882
  declare function userToDid(user: {
5864
5883
  email: string;
5865
5884
  domain: string;
5866
5885
  }): string;
5867
5886
  /**
5868
- * Convert a user object to a W3C Agent object with DID:WEB identifier
5887
+ * Convert a software peer's (provider, model) configuration to a DID:WEB
5888
+ * identifier. Pool-vs-individual deployment is not part of identity —
5889
+ * one DID per (provider, model) on this host.
5869
5890
  *
5870
- * Creates a full Agent object for W3C Web Annotation compliance.
5871
- * Includes DID:WEB identifier, type, and name.
5891
+ * Format: did:web:<domain>:agents:<provider>:<model%2F-encoded>
5872
5892
  *
5873
- * @param user - User object with id, domain, name, and email
5874
- * @returns W3C Agent object
5893
+ * Model strings often contain `:` and `/` (e.g. `gemma2:27b`,
5894
+ * `library/llama3`); both must be URI-encoded so DID parsing isn't
5895
+ * ambiguous.
5896
+ */
5897
+ declare function agentToDid(agent: {
5898
+ domain: string;
5899
+ provider: string;
5900
+ model: string;
5901
+ }): string;
5902
+ /**
5903
+ * Convert a user object to a typed Person Agent with a DID:WEB identifier.
5875
5904
  */
5876
5905
  declare function userToAgent(user: {
5877
5906
  id: string;
@@ -5880,17 +5909,588 @@ declare function userToAgent(user: {
5880
5909
  email: string;
5881
5910
  }): Agent;
5882
5911
  /**
5883
- * Convert a DID string to a minimal W3C Agent object
5912
+ * Convert a software peer's configuration to a typed Software Agent.
5913
+ * The `name` is a stable human-friendly label, not a parseable join —
5914
+ * UI composes display from `provider`/`model` at render time.
5915
+ */
5916
+ declare function softwareToAgent(software: {
5917
+ domain: string;
5918
+ provider: string;
5919
+ model: string;
5920
+ parameters?: Record<string, unknown>;
5921
+ }): Agent;
5922
+ /**
5923
+ * Parse a DID:WEB string into a typed Agent.
5884
5924
  *
5885
- * Used when reconstructing annotations from events where only the DID is available.
5886
- * Creates a minimal Agent with just the required fields (id, type).
5887
- * Name is derived from the DID for display purposes.
5925
+ * Recognizes:
5926
+ * did:web:<host>:users:<email> → Person (name = decoded email)
5927
+ * did:web:<host>:agents:<provider>:<model> Software (provider + model)
5888
5928
  *
5889
- * @param did - DID:WEB identifier string
5890
- * @returns Minimal W3C Agent object
5929
+ * Anything else falls back to a Person with the trailing segment as
5930
+ * `name`. This is the read-side inverse of `userToDid`/`agentToDid`.
5891
5931
  */
5892
5932
  declare function didToAgent(did: string | undefined | null): Agent;
5893
5933
 
5934
+ /**
5935
+ * This interface was referenced by `HttpsSemiontOrgSchemasConfigJson`'s JSON-Schema
5936
+ * via the `definition` "PlatformType".
5937
+ */
5938
+ type PlatformType$1 = 'posix' | 'container' | 'aws' | 'external';
5939
+ /**
5940
+ * This interface was referenced by `HttpsSemiontOrgSchemasConfigJson`'s JSON-Schema
5941
+ * via the `definition` "GraphDatabaseType".
5942
+ */
5943
+ type GraphDatabaseType = 'neo4j' | 'janusgraph' | 'neptune' | 'memory';
5944
+ /**
5945
+ * This interface was referenced by `HttpsSemiontOrgSchemasConfigJson`'s JSON-Schema
5946
+ * via the `definition` "GraphServiceConfig".
5947
+ */
5948
+ type GraphServiceConfig = {
5949
+ [k: string]: unknown;
5950
+ } & {
5951
+ platform: ServicePlatformConfig;
5952
+ type: GraphDatabaseType;
5953
+ name?: string;
5954
+ uri?: string;
5955
+ url?: string;
5956
+ username?: string;
5957
+ password?: string;
5958
+ database?: string;
5959
+ host?: string;
5960
+ port?: number;
5961
+ storage?: string;
5962
+ index?: string;
5963
+ endpoint?: string;
5964
+ region?: string;
5965
+ command?: string;
5966
+ image?: string;
5967
+ janusgraphVersion?: string;
5968
+ javaOptions?: string;
5969
+ heapSize?: string;
5970
+ pageCacheSize?: string;
5971
+ noAuth?: boolean;
5972
+ dataPath?: string;
5973
+ timeout?: number;
5974
+ wait?: number;
5975
+ logsEndpoint?: string;
5976
+ tag?: string;
5977
+ resources?: ResourceRequirements;
5978
+ security?: SecurityRequirements;
5979
+ build?: boolean | BuildRequirements;
5980
+ dockerfile?: string;
5981
+ buildContext?: string;
5982
+ buildArgs?: {
5983
+ [k: string]: string;
5984
+ };
5985
+ buildTarget?: string;
5986
+ prebuilt?: boolean;
5987
+ noCache?: boolean;
5988
+ secrets?: string[];
5989
+ labels?: {
5990
+ [k: string]: string;
5991
+ };
5992
+ annotations?: {
5993
+ [k: string]: string;
5994
+ };
5995
+ dependencies?: string[];
5996
+ externalDependencies?: (string | {
5997
+ name?: string;
5998
+ url?: string;
5999
+ required?: boolean;
6000
+ healthCheck?: string;
6001
+ [k: string]: unknown;
6002
+ })[];
6003
+ environment?: {
6004
+ [k: string]: string;
6005
+ };
6006
+ env?: {
6007
+ [k: string]: string;
6008
+ };
6009
+ };
6010
+ /**
6011
+ * This interface was referenced by `HttpsSemiontOrgSchemasConfigJson`'s JSON-Schema
6012
+ * via the `definition` "ServicePlatformConfig".
6013
+ */
6014
+ interface ServicePlatformConfig {
6015
+ type: PlatformType$1;
6016
+ [k: string]: unknown;
6017
+ }
6018
+ /**
6019
+ * This interface was referenced by `HttpsSemiontOrgSchemasConfigJson`'s JSON-Schema
6020
+ * via the `definition` "ResourceRequirements".
6021
+ */
6022
+ interface ResourceRequirements {
6023
+ cpu?: string;
6024
+ memory?: string;
6025
+ gpu?: number;
6026
+ gpus?: number;
6027
+ replicas?: number;
6028
+ ephemeralStorage?: string;
6029
+ memoryReservation?: string;
6030
+ }
6031
+ /**
6032
+ * This interface was referenced by `HttpsSemiontOrgSchemasConfigJson`'s JSON-Schema
6033
+ * via the `definition` "SecurityRequirements".
6034
+ */
6035
+ interface SecurityRequirements {
6036
+ readOnlyRootFilesystem?: boolean;
6037
+ runAsNonRoot?: boolean;
6038
+ runAsUser?: number;
6039
+ runAsGroup?: number;
6040
+ capabilities?: string[] | {
6041
+ add?: string[];
6042
+ drop?: string[];
6043
+ [k: string]: unknown;
6044
+ };
6045
+ privileged?: boolean;
6046
+ allowPrivilegeEscalation?: boolean;
6047
+ }
6048
+ /**
6049
+ * This interface was referenced by `HttpsSemiontOrgSchemasConfigJson`'s JSON-Schema
6050
+ * via the `definition` "BuildRequirements".
6051
+ */
6052
+ interface BuildRequirements {
6053
+ dockerfile?: string;
6054
+ buildContext?: string;
6055
+ buildArgs?: {
6056
+ [k: string]: string;
6057
+ };
6058
+ buildTarget?: string;
6059
+ prebuilt?: boolean;
6060
+ noCache?: boolean;
6061
+ }
6062
+ /**
6063
+ * This interface was referenced by `HttpsSemiontOrgSchemasConfigJson`'s JSON-Schema
6064
+ * via the `definition` "BackendServiceConfig".
6065
+ */
6066
+ interface BackendServiceConfig {
6067
+ platform: ServicePlatformConfig;
6068
+ devMode?: boolean;
6069
+ command?: string;
6070
+ port: number;
6071
+ publicURL: string;
6072
+ corsOrigin: string;
6073
+ image?: string;
6074
+ cpu?: string;
6075
+ memory?: string;
6076
+ databaseUrl?: string;
6077
+ projectRoot?: string;
6078
+ timeout?: number;
6079
+ wait?: number;
6080
+ logsEndpoint?: string;
6081
+ tag?: string;
6082
+ resources?: ResourceRequirements;
6083
+ security?: SecurityRequirements;
6084
+ build?: boolean | BuildRequirements;
6085
+ dockerfile?: string;
6086
+ buildContext?: string;
6087
+ buildArgs?: {
6088
+ [k: string]: string;
6089
+ };
6090
+ buildTarget?: string;
6091
+ prebuilt?: boolean;
6092
+ noCache?: boolean;
6093
+ secrets?: string[];
6094
+ labels?: {
6095
+ [k: string]: string;
6096
+ };
6097
+ annotations?: {
6098
+ [k: string]: string;
6099
+ };
6100
+ dependencies?: string[];
6101
+ externalDependencies?: (string | {
6102
+ name?: string;
6103
+ url?: string;
6104
+ required?: boolean;
6105
+ healthCheck?: string;
6106
+ [k: string]: unknown;
6107
+ })[];
6108
+ redisUrl?: string;
6109
+ environment?: {
6110
+ [k: string]: string;
6111
+ };
6112
+ env?: {
6113
+ [k: string]: string;
6114
+ };
6115
+ }
6116
+ /**
6117
+ * This interface was referenced by `HttpsSemiontOrgSchemasConfigJson`'s JSON-Schema
6118
+ * via the `definition` "FrontendServiceConfig".
6119
+ */
6120
+ interface FrontendServiceConfig {
6121
+ platform: ServicePlatformConfig;
6122
+ devMode?: boolean;
6123
+ command?: string;
6124
+ port: number;
6125
+ siteName: string;
6126
+ image?: string;
6127
+ projectRoot?: string;
6128
+ databaseUrl?: string;
6129
+ timeout?: number;
6130
+ wait?: number;
6131
+ logsEndpoint?: string;
6132
+ tag?: string;
6133
+ resources?: ResourceRequirements;
6134
+ security?: SecurityRequirements;
6135
+ build?: boolean | BuildRequirements;
6136
+ dockerfile?: string;
6137
+ buildContext?: string;
6138
+ buildArgs?: {
6139
+ [k: string]: string;
6140
+ };
6141
+ buildTarget?: string;
6142
+ prebuilt?: boolean;
6143
+ noCache?: boolean;
6144
+ secrets?: string[];
6145
+ labels?: {
6146
+ [k: string]: string;
6147
+ };
6148
+ annotations?: {
6149
+ [k: string]: string;
6150
+ };
6151
+ dependencies?: string[];
6152
+ externalDependencies?: (string | {
6153
+ name?: string;
6154
+ url?: string;
6155
+ required?: boolean;
6156
+ healthCheck?: string;
6157
+ [k: string]: unknown;
6158
+ })[];
6159
+ environment?: {
6160
+ [k: string]: string;
6161
+ };
6162
+ env?: {
6163
+ [k: string]: string;
6164
+ };
6165
+ publicURL?: string;
6166
+ allowedOrigins?: string[];
6167
+ }
6168
+ /**
6169
+ * This interface was referenced by `HttpsSemiontOrgSchemasConfigJson`'s JSON-Schema
6170
+ * via the `definition` "VectorsServiceConfig".
6171
+ */
6172
+ interface VectorsServiceConfig {
6173
+ platform?: ServicePlatformConfig;
6174
+ type: 'qdrant' | 'memory';
6175
+ host?: string;
6176
+ port?: number;
6177
+ }
6178
+ /**
6179
+ * This interface was referenced by `HttpsSemiontOrgSchemasConfigJson`'s JSON-Schema
6180
+ * via the `definition` "EmbeddingServiceConfig".
6181
+ */
6182
+ interface EmbeddingServiceConfig {
6183
+ platform?: ServicePlatformConfig;
6184
+ type: 'voyage' | 'ollama';
6185
+ model: string;
6186
+ apiKey?: string;
6187
+ baseURL?: string;
6188
+ endpoint?: string;
6189
+ chunking?: {
6190
+ chunkSize?: number;
6191
+ overlap?: number;
6192
+ [k: string]: unknown;
6193
+ };
6194
+ }
6195
+ /**
6196
+ * This interface was referenced by `HttpsSemiontOrgSchemasConfigJson`'s JSON-Schema
6197
+ * via the `definition` "DatabaseServiceConfig".
6198
+ */
6199
+ interface DatabaseServiceConfig {
6200
+ platform: ServicePlatformConfig;
6201
+ type: string;
6202
+ name?: string;
6203
+ host: string;
6204
+ port: number;
6205
+ environment?: {
6206
+ [k: string]: string;
6207
+ };
6208
+ env?: {
6209
+ [k: string]: string;
6210
+ };
6211
+ description?: string;
6212
+ command?: string;
6213
+ image?: string;
6214
+ user?: string;
6215
+ username?: string;
6216
+ password?: string;
6217
+ database?: string;
6218
+ /**
6219
+ * Override the default data storage directory ($XDG_DATA_HOME/semiont/{name}/database/{service})
6220
+ */
6221
+ dataDir?: string;
6222
+ storageSize?: string;
6223
+ timeout?: number;
6224
+ wait?: number;
6225
+ logsEndpoint?: string;
6226
+ tag?: string;
6227
+ resources?: ResourceRequirements;
6228
+ security?: SecurityRequirements;
6229
+ build?: boolean | BuildRequirements;
6230
+ dockerfile?: string;
6231
+ buildContext?: string;
6232
+ buildArgs?: {
6233
+ [k: string]: string;
6234
+ };
6235
+ buildTarget?: string;
6236
+ prebuilt?: boolean;
6237
+ noCache?: boolean;
6238
+ secrets?: string[];
6239
+ labels?: {
6240
+ [k: string]: string;
6241
+ };
6242
+ annotations?: {
6243
+ [k: string]: string;
6244
+ };
6245
+ dependencies?: string[];
6246
+ externalDependencies?: (string | {
6247
+ name?: string;
6248
+ url?: string;
6249
+ required?: boolean;
6250
+ healthCheck?: string;
6251
+ [k: string]: unknown;
6252
+ })[];
6253
+ }
6254
+ /**
6255
+ * This interface was referenced by `HttpsSemiontOrgSchemasConfigJson`'s JSON-Schema
6256
+ * via the `definition` "OllamaProviderConfig".
6257
+ */
6258
+ interface OllamaProviderConfig {
6259
+ platform: ServicePlatformConfig;
6260
+ baseURL?: string;
6261
+ port?: number;
6262
+ image?: string;
6263
+ command?: string;
6264
+ timeout?: number;
6265
+ wait?: number;
6266
+ logsEndpoint?: string;
6267
+ }
6268
+ /**
6269
+ * This interface was referenced by `HttpsSemiontOrgSchemasConfigJson`'s JSON-Schema
6270
+ * via the `definition` "AnthropicProviderConfig".
6271
+ */
6272
+ interface AnthropicProviderConfig {
6273
+ platform: 'external';
6274
+ endpoint: string;
6275
+ apiKey: string;
6276
+ }
6277
+ /**
6278
+ * This interface was referenced by `HttpsSemiontOrgSchemasConfigJson`'s JSON-Schema
6279
+ * via the `definition` "InferenceProvidersConfig".
6280
+ */
6281
+ interface InferenceProvidersConfig {
6282
+ ollama?: OllamaProviderConfig;
6283
+ anthropic?: AnthropicProviderConfig;
6284
+ [k: string]: unknown;
6285
+ }
6286
+ /**
6287
+ * This interface was referenced by `HttpsSemiontOrgSchemasConfigJson`'s JSON-Schema
6288
+ * via the `definition` "McpServiceConfig".
6289
+ */
6290
+ interface McpServiceConfig {
6291
+ platform: ServicePlatformConfig;
6292
+ command?: string;
6293
+ image?: string;
6294
+ port?: number;
6295
+ dependsOn?: string[];
6296
+ timeout?: number;
6297
+ wait?: number;
6298
+ logsEndpoint?: string;
6299
+ tag?: string;
6300
+ resources?: ResourceRequirements;
6301
+ security?: SecurityRequirements;
6302
+ build?: boolean | BuildRequirements;
6303
+ dockerfile?: string;
6304
+ buildContext?: string;
6305
+ buildArgs?: {
6306
+ [k: string]: string;
6307
+ };
6308
+ buildTarget?: string;
6309
+ prebuilt?: boolean;
6310
+ noCache?: boolean;
6311
+ secrets?: string[];
6312
+ labels?: {
6313
+ [k: string]: string;
6314
+ };
6315
+ annotations?: {
6316
+ [k: string]: string;
6317
+ };
6318
+ dependencies?: string[];
6319
+ externalDependencies?: (string | {
6320
+ name?: string;
6321
+ url?: string;
6322
+ required?: boolean;
6323
+ healthCheck?: string;
6324
+ [k: string]: unknown;
6325
+ })[];
6326
+ environment?: {
6327
+ [k: string]: string;
6328
+ };
6329
+ env?: {
6330
+ [k: string]: string;
6331
+ };
6332
+ }
6333
+ /**
6334
+ * This interface was referenced by `HttpsSemiontOrgSchemasConfigJson`'s JSON-Schema
6335
+ * via the `definition` "ServicesConfig".
6336
+ */
6337
+ interface ServicesConfig {
6338
+ backend?: BackendServiceConfig;
6339
+ frontend?: FrontendServiceConfig;
6340
+ database?: DatabaseServiceConfig;
6341
+ graph?: GraphServiceConfig;
6342
+ mcp?: McpServiceConfig;
6343
+ vectors?: VectorsServiceConfig;
6344
+ embedding?: EmbeddingServiceConfig;
6345
+ [k: string]: unknown;
6346
+ }
6347
+ /**
6348
+ * This interface was referenced by `HttpsSemiontOrgSchemasConfigJson`'s JSON-Schema
6349
+ * via the `definition` "SiteConfig".
6350
+ */
6351
+ interface SiteConfig {
6352
+ /**
6353
+ * Display name for the site
6354
+ */
6355
+ siteName?: string;
6356
+ /**
6357
+ * Primary domain for the site
6358
+ */
6359
+ domain: string;
6360
+ /**
6361
+ * Administrator email address
6362
+ */
6363
+ adminEmail?: string;
6364
+ /**
6365
+ * Support email address (optional)
6366
+ */
6367
+ supportEmail?: string;
6368
+ /**
6369
+ * Email domains allowed for OAuth authentication
6370
+ *
6371
+ * @minItems 1
6372
+ */
6373
+ oauthAllowedDomains?: [string, ...string[]];
6374
+ }
6375
+ /**
6376
+ * This interface was referenced by `HttpsSemiontOrgSchemasConfigJson`'s JSON-Schema
6377
+ * via the `definition` "AppConfig".
6378
+ */
6379
+ interface AppConfig {
6380
+ features?: {
6381
+ enableAnalytics?: boolean;
6382
+ enableMaintenanceMode?: boolean;
6383
+ enableDebugLogging?: boolean;
6384
+ };
6385
+ security?: {
6386
+ /**
6387
+ * Session timeout in seconds
6388
+ */
6389
+ sessionTimeout?: number;
6390
+ /**
6391
+ * Maximum failed login attempts before lockout
6392
+ */
6393
+ maxLoginAttempts?: number;
6394
+ corsAllowedOrigins?: string[];
6395
+ /**
6396
+ * Enable local username/password authentication
6397
+ */
6398
+ enableLocalAuth?: boolean;
6399
+ /**
6400
+ * JWT signing secret (base64 encoded, 32+ bytes)
6401
+ */
6402
+ jwtSecret?: string;
6403
+ };
6404
+ performance?: {
6405
+ enableCaching?: boolean;
6406
+ /**
6407
+ * Cache timeout in seconds
6408
+ */
6409
+ cacheTimeout?: number;
6410
+ /**
6411
+ * Maximum request size (e.g., '10mb')
6412
+ */
6413
+ maxRequestSize?: string;
6414
+ };
6415
+ }
6416
+ /**
6417
+ * This interface was referenced by `HttpsSemiontOrgSchemasConfigJson`'s JSON-Schema
6418
+ * via the `definition` "EnvironmentConfig".
6419
+ */
6420
+ interface EnvironmentConfig {
6421
+ /**
6422
+ * Optional comment for documentation
6423
+ */
6424
+ _comment?: string;
6425
+ _metadata?: {
6426
+ environment: string;
6427
+ projectRoot: string | null;
6428
+ [k: string]: unknown;
6429
+ };
6430
+ /**
6431
+ * Environment name
6432
+ */
6433
+ name?: string;
6434
+ platform?: {
6435
+ default?: PlatformType$1;
6436
+ [k: string]: unknown;
6437
+ };
6438
+ services: ServicesConfig;
6439
+ inference?: InferenceProvidersConfig;
6440
+ workers?: {
6441
+ [k: string]: {
6442
+ inference?: {
6443
+ type?: string;
6444
+ model?: string;
6445
+ [k: string]: unknown;
6446
+ };
6447
+ [k: string]: unknown;
6448
+ };
6449
+ };
6450
+ actors?: {
6451
+ [k: string]: {
6452
+ inference?: {
6453
+ type?: string;
6454
+ model?: string;
6455
+ [k: string]: unknown;
6456
+ };
6457
+ [k: string]: unknown;
6458
+ };
6459
+ };
6460
+ site?: SiteConfig;
6461
+ app?: AppConfig;
6462
+ env?: {
6463
+ NODE_ENV?: 'development' | 'production' | 'test';
6464
+ [k: string]: unknown;
6465
+ };
6466
+ /**
6467
+ * Logging verbosity level
6468
+ */
6469
+ logLevel?: 'error' | 'warn' | 'info' | 'http' | 'debug';
6470
+ deployment?: {
6471
+ imageTagStrategy?: 'mutable' | 'immutable' | 'git-hash';
6472
+ [k: string]: unknown;
6473
+ };
6474
+ [k: string]: unknown;
6475
+ }
6476
+ /**
6477
+ * This interface was referenced by `HttpsSemiontOrgSchemasConfigJson`'s JSON-Schema
6478
+ * via the `definition` "SemiontConfig".
6479
+ */
6480
+ interface SemiontConfig {
6481
+ /**
6482
+ * Config file version (semver)
6483
+ */
6484
+ version: string;
6485
+ /**
6486
+ * Project name
6487
+ */
6488
+ project: string;
6489
+ site: SiteConfig;
6490
+ app?: AppConfig;
6491
+ services?: ServicesConfig;
6492
+ }
6493
+
5894
6494
  /**
5895
6495
  * TOML Config Loader
5896
6496
  *
@@ -6025,4 +6625,5 @@ declare function getAllPlatformTypes(): PlatformType[];
6025
6625
  declare const CORE_TYPES_VERSION = "0.1.0";
6026
6626
  declare const SDK_VERSION = "0.1.0";
6027
6627
 
6028
- export { type AccessToken, type Annotation, type AnnotationCategory, type AnnotationId, type AnnotationUri, type AssembledAnnotation, type AuthCode, BRIDGED_CHANNELS, type BackendDownload, type BaseUrl, type BodyItem, type BodyItemIdentity, type BodyOperation, type BoundingBox, type Brand, type BridgedChannel, type BurstBufferOptions, type BusOp, CHANNEL_SCHEMAS, CORE_TYPES_VERSION, CREATION_METHODS, type CloneToken, ConfigurationError, ConflictError, type ConnectionState, type ContentCache, type ContentFormat, type CreateAnnotationInternal, type CreationMethod, type Email, type EmittableChannel, type EntityType, type EntityTypeStats, type Environment, EnvironmentConfig, type EventBase, EventBus, type EventInput, type EventMap, type EventMetadata, type EventName, type EventOfType, type EventQuery, type EventSignature, type FragmentSelector, type GatheredContext, type GoogleAuthRequest, type GoogleCredential, type GraphConnection, type GraphPath, type HealthCheckResponse, type IBackendOperations, type IContentTransport, type ITransport, JWTTokenSchema, type JobId, LOCALES, type ListUsersResponse, type LocaleInfo, type Logger, type MCPToken, type MatchQuality, type MimeCategory, type Motivation, NotFoundError, PERSISTED_EVENT_TYPES, type PersistedEvent, type PersistedEventType, type PlatformType, type Point, type ProgressCallback, type ProgressEvent, type PutBinaryOptions, type PutBinaryProgress, type PutBinaryRequest, RESOURCE_BROADCAST_TYPES, type RefreshToken, type ResourceAnnotationUri, type ResourceAnnotations, type ResourceBroadcastType, type ResourceDescriptor, type ResourceFilter, type ResourceId, type ResourceUri, SDK_VERSION, ScopedEventBus, ScriptError, type SearchQuery, type SelectionData, type Selector, SemiontError, type StatusResponse, type StoredEvent, type StoredEventLike, type SvgSelector, type TagCategory, type TagSchema, type TextPosition, type TextPositionSelector, type TextQuoteSelector, type ActorInferenceConfig as TomlActorInferenceConfig, type TomlFileReader, type InferenceConfig as TomlInferenceConfig, type WorkerInferenceConfig as TomlWorkerInferenceConfig, type TransportErrorCode, UnauthorizedError, type UpdateResourceInput, type UpdateUserRequest, type UpdateUserResponse, type UserDID, type UserId, type UserResponse, type ValidatedAnnotation, ValidationError, type ValidationFailure, type ValidationResult, type ValidationSuccess, accessToken, annotationId, annotationUri, applyBodyOperations, assembleAnnotation, authCode, baseUrl, buildContentCache, burstBuffer, busLog, busLogEnabled, cloneToken, type components, createCircleSvg, createPolygonSvg, createRectangleSvg, createTomlConfigLoader, decodeRepresentation, decodeWithCharset, didToAgent, email, entityType, errField, extractBoundingBox, extractCharset, extractContext, findBestTextMatch, findBodyItem, findTextWithContext, formatLocaleDisplay, generateUuid, getAllLocaleCodes, getAllPlatformTypes, getAnnotationExactText, getAnnotationUriFromEvent, getBodySource, getBodyType, getChecksum, getCommentText, getCreator, getDerivedFrom, getExactText, getExtensionForMimeType, getFragmentSelector, getLanguage, getLocaleEnglishName, getLocaleInfo, getLocaleNativeName, getMimeCategory, getNodeEncoding, getPrimaryMediaType, getPrimaryRepresentation, getPrimarySelector, getResourceEntityTypes, getResourceId, getStorageUri, getSvgSelector, getTargetSelector, getTargetSource, getTextPositionSelector, getTextQuoteSelector, googleCredential, hasTargetSelector, isAnnotationId, isArchived, isArray, isAssessment, isBodyResolved, isBoolean, isComment, isDefined, isDraft, isEventRelatedToAnnotation, isFunction, isHighlight, isImageMimeType, isNull, isNullish, isNumber, isObject, isPdfMimeType, isReference, isResolvedReference, isResourceId, isStoredEvent, isString, isStubReference, isTag, isTextMimeType, isUndefined, isValidEmail, isValidPlatformType, jobId, loadTomlConfig, mcpToken, normalizeCoordinates, normalizeText, type operations, parseEnvironment, parseSvgSelector, type paths, refreshToken, resourceAnnotationUri, resourceId, resourceUri, scaleSvgToNative, searchQuery, serializePerKey, setBusLogTraceIdProvider, userDID, userId, userToAgent, userToDid, validateAndCorrectOffsets, validateData, validateEnvironment, validateSvgMarkup, verifyPosition };
6628
+ export { BRIDGED_CHANNELS, CHANNEL_SCHEMAS, CORE_TYPES_VERSION, ConfigurationError, ConflictError, EventBus, JWTTokenSchema, LOCALES, NotFoundError, PERSISTED_EVENT_TYPES, RESOURCE_BROADCAST_TYPES, SDK_VERSION, ScopedEventBus, ScriptError, SemiontError, UnauthorizedError, ValidationError, accessToken, agentToDid, annotationId, annotationUri, applyBodyOperations, assembleAnnotation, authCode, baseUrl, buildContentCache, burstBuffer, busLog, busLogEnabled, cloneToken, createCircleSvg, createPolygonSvg, createRectangleSvg, createTomlConfigLoader, decodeRepresentation, decodeWithCharset, didToAgent, email, entityType, errField, extractBoundingBox, extractCharset, extractContext, findBestTextMatch, findBodyItem, findTextWithContext, formatLocaleDisplay, generateUuid, getAllLocaleCodes, getAllPlatformTypes, getAnnotationExactText, getAnnotationUriFromEvent, getBodySource, getBodyType, getChecksum, getCommentText, getCreator, getDerivedFrom, getExactText, getExtensionForMimeType, getFragmentSelector, getLanguage, getLocaleEnglishName, getLocaleInfo, getLocaleNativeName, getMimeCategory, getNodeEncoding, getPrimaryMediaType, getPrimaryRepresentation, getPrimarySelector, getResourceEntityTypes, getResourceId, getStorageUri, getSvgSelector, getTargetSelector, getTargetSource, getTextPositionSelector, getTextQuoteSelector, googleCredential, hasTargetSelector, isAnnotationId, isArchived, isArray, isAssessment, isBodyResolved, isBoolean, isComment, isDefined, isDraft, isEventRelatedToAnnotation, isFunction, isHighlight, isImageMimeType, isNull, isNullish, isNumber, isObject, isPdfMimeType, isReference, isResolvedReference, isResourceId, isStoredEvent, isString, isStubReference, isTag, isTextMimeType, isUndefined, isValidEmail, isValidPlatformType, jobId, loadTomlConfig, mcpToken, normalizeCoordinates, normalizeText, parseEnvironment, parseSvgSelector, refreshToken, resourceAnnotationUri, resourceId, resourceUri, scaleSvgToNative, searchQuery, serializePerKey, setBusLogTraceIdProvider, softwareToAgent, userDID, userId, userToAgent, userToDid, validateAndCorrectOffsets, validateData, validateEnvironment, validateSvgMarkup, verifyPosition };
6629
+ export type { AccessToken, Annotation, AnnotationCategory, AnnotationId, AnnotationUri, AnthropicProviderConfig, AppConfig, AssembledAnnotation, AuthCode, BackendDownload, BackendServiceConfig, BaseUrl, BodyItem, BodyItemIdentity, BodyOperation, BoundingBox, Brand, BridgedChannel, BurstBufferOptions, BusOp, CloneToken, ConnectionState, ContentCache, ContentFormat, CreateAnnotationInternal, DatabaseServiceConfig, Email, EmbeddingServiceConfig, EmittableChannel, EntityType, EntityTypeStats, Environment, EnvironmentConfig, EventBase, EventInput, EventMap, EventMetadata, EventName, EventOfType, EventQuery, EventSignature, FragmentSelector, FrontendServiceConfig, GatheredContext, GoogleAuthRequest, GoogleCredential, GraphConnection, GraphDatabaseType, GraphPath, GraphServiceConfig, HealthCheckResponse, IBackendOperations, IContentTransport, ITransport, InferenceProvidersConfig, JobId, ListUsersResponse, LocaleInfo, Logger, MCPToken, MatchQuality, McpServiceConfig, MimeCategory, Motivation, OllamaProviderConfig, PersistedEvent, PersistedEventType, PlatformType, Point, ProgressCallback, ProgressEvent, PutBinaryOptions, PutBinaryProgress, PutBinaryRequest, RefreshToken, ResourceAnnotationUri, ResourceAnnotations, ResourceBroadcastType, ResourceDescriptor, ResourceFilter, ResourceId, ResourceUri, SearchQuery, SelectionData, Selector, SemiontConfig, ServicePlatformConfig, ServicesConfig, SiteConfig, StatusResponse, StoredEvent, StoredEventLike, SvgSelector, TagCategory, TagSchema, TextPosition, TextPositionSelector, TextQuoteSelector, ActorInferenceConfig as TomlActorInferenceConfig, TomlFileReader, InferenceConfig as TomlInferenceConfig, WorkerInferenceConfig as TomlWorkerInferenceConfig, TransportErrorCode, UpdateResourceInput, UpdateUserRequest, UpdateUserResponse, UserDID, UserId, UserResponse, ValidatedAnnotation, ValidationFailure, ValidationResult, ValidationSuccess, VectorsServiceConfig, components, operations, paths };