@swiss-ai-hub/web 0.320.0 → 0.321.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.
- package/components/FormKit/AgentSelector.vue +20 -7
- package/components/FormKit/Repeater.vue +1 -4
- package/components/FormKit/VectorStoreInput.vue +43 -6
- package/components/Knowledge/Database/CreateModal.vue +315 -0
- package/components/Knowledge/Database/EmptyCard.vue +34 -0
- package/components/Knowledge/DeleteConfirmModal.vue +87 -0
- package/components/Knowledge/Namespace/Card.vue +18 -0
- package/components/Knowledge/Namespace/CreateModal.vue +11 -3
- package/components/Role/AccessCapabilities.vue +4 -4
- package/components/Role/AccessCapabilityGroup.vue +22 -6
- package/components/Role/AccessRulesEditor.vue +15 -12
- package/composables/app/useAppVersion.ts +31 -33
- package/composables/auth/useAuth.ts +3 -11
- package/composables/document/useCreateDatabase.ts +21 -0
- package/composables/document/useDeleteDatabase.ts +29 -0
- package/composables/document/useDeleteDocument.ts +1 -1
- package/composables/document/useDeleteDocuments.ts +1 -1
- package/composables/document/useDeleteNamespace.ts +30 -0
- package/composables/document/useIngestors.ts +23 -0
- package/composables/form/useCreateInstanceForm.ts +2 -2
- package/composables/form/useFormKitTransform.ts +44 -15
- package/formkit.config.ts +24 -1
- package/i18n/locales/de.yaml +60 -5
- package/i18n/locales/en.yaml +57 -3
- package/i18n/locales/fr.yaml +58 -3
- package/i18n/locales/it.yaml +60 -3
- package/middleware/agent-admin.ts +31 -0
- package/package.json +1 -1
- package/pages/[tenant]/service/agents.vue +3 -0
- package/pages/[tenant]/service/knowledge/[db]/[namespace]/[document_id].vue +12 -5
- package/pages/[tenant]/service/knowledge.vue +138 -0
- package/plugins/0.runtime-config.client.ts +5 -0
- package/plugins/oidc-client.ts +1 -1
- package/sdk/client/index.ts +29 -2
- package/sdk/client/schemas.gen.ts +641 -77
- package/sdk/client/sdk.gen.ts +159 -1
- package/sdk/client/types.gen.ts +543 -75
- package/plugins/keycloak-client.ts +0 -41
|
@@ -495,7 +495,7 @@ export const AgentClassDTOSchema = {
|
|
|
495
495
|
"FormKit elements defining the agent configuration form. Default values are embedded in the elements themselves.",
|
|
496
496
|
},
|
|
497
497
|
agent_config_specs: {
|
|
498
|
-
$ref: "#/components/schemas/
|
|
498
|
+
$ref: "#/components/schemas/ConfigSpecs",
|
|
499
499
|
description:
|
|
500
500
|
"Validation specification including the JSON schema for form submissions. Used by ModelCreationService to create Pydantic models for validation.",
|
|
501
501
|
},
|
|
@@ -737,29 +737,6 @@ export const AgentConfigDTOSchema = {
|
|
|
737
737
|
"Encapsulates the data transfer object for an agent INSTANCE's configuration.\n\nContains instance-level data (agent_id, name, description, icon) and the\nconfiguration form. Values come from both:\n- AgentClassEntity: class-level form schema\n- AgentConfigEntityDocument: instance-specific name, description, icon, agent_id\n\nNOTE: This represents config for an INSTANCE (with agent_id), not an agent CLASS.",
|
|
738
738
|
} as const;
|
|
739
739
|
|
|
740
|
-
export const AgentConfigSpecsSchema = {
|
|
741
|
-
properties: {
|
|
742
|
-
agent_class: {
|
|
743
|
-
type: "string",
|
|
744
|
-
title: "Agent Class",
|
|
745
|
-
description: "The class name of the agent.",
|
|
746
|
-
},
|
|
747
|
-
agent_config_schema: {
|
|
748
|
-
additionalProperties: true,
|
|
749
|
-
type: "object",
|
|
750
|
-
title: "Agent Config Schema",
|
|
751
|
-
description:
|
|
752
|
-
"JSON schema for validating form submissions. Generated from the agent's configurable fields via to_configurable_submission_model().",
|
|
753
|
-
default: {},
|
|
754
|
-
},
|
|
755
|
-
},
|
|
756
|
-
type: "object",
|
|
757
|
-
required: ["agent_class"],
|
|
758
|
-
title: "AgentConfigSpecs",
|
|
759
|
-
description:
|
|
760
|
-
"Validation specification for agent configuration form submissions.\n\nContains ONLY the agent class identifier and JSON schema for validation.\nInstance-level fields (name, description, icon, agent_id) are stored\nseparately in AgentConfigEntityDocument and provided by the Agent class.\n\nThe JSON schema is generated from the agent's configurable fields via\nto_configurable_submission_model() and is used to validate form submissions.",
|
|
761
|
-
} as const;
|
|
762
|
-
|
|
763
740
|
export const AgentEventSchema = {
|
|
764
741
|
properties: {
|
|
765
742
|
event_id: {
|
|
@@ -1015,6 +992,12 @@ export const AgentInTheLoopExceptionEventSchema = {
|
|
|
1015
992
|
description:
|
|
1016
993
|
"The exception event from the delegated agent containing error details and failure context.",
|
|
1017
994
|
},
|
|
995
|
+
request_event_id: {
|
|
996
|
+
type: "string",
|
|
997
|
+
title: "Request Event Id",
|
|
998
|
+
description:
|
|
999
|
+
"`event_id` of the `AgentInTheLoopRequestEvent` that failed. Carried here for the same reason the response carries it — a fan-out caller that cannot attribute a failure cannot complete its batch.",
|
|
1000
|
+
},
|
|
1018
1001
|
_event_name: {
|
|
1019
1002
|
type: "string",
|
|
1020
1003
|
title: "Event Name",
|
|
@@ -1035,7 +1018,12 @@ export const AgentInTheLoopExceptionEventSchema = {
|
|
|
1035
1018
|
},
|
|
1036
1019
|
additionalProperties: true,
|
|
1037
1020
|
type: "object",
|
|
1038
|
-
required: [
|
|
1021
|
+
required: [
|
|
1022
|
+
"exception_event",
|
|
1023
|
+
"request_event_id",
|
|
1024
|
+
"_event_name",
|
|
1025
|
+
"_parent_event_names",
|
|
1026
|
+
],
|
|
1039
1027
|
title: "AgentInTheLoopExceptionEvent",
|
|
1040
1028
|
description:
|
|
1041
1029
|
"An error response from an agent when a delegated task fails.\n\n### Why AgentInTheLoopExceptionEvent?\nWhen an agent encounters an error during a delegated task, this event:\n- Signals workflow disruption (since it's a `ControlEvent`), allowing error handling in the original agent\n- Is visible to the UI (since it's also a `DisplayEvent`), enabling monitoring and debugging of agent failures\n- Provides a dedicated error channel separate from successful responses",
|
|
@@ -1119,9 +1107,22 @@ export const AgentInTheLoopRequestEventSchema = {
|
|
|
1119
1107
|
type: "boolean",
|
|
1120
1108
|
title: "Share Run Id",
|
|
1121
1109
|
description:
|
|
1122
|
-
"Whether to share the run context with the other agent. Warning: In almost all cases, you will not want to share the run!",
|
|
1110
|
+
"Whether to share the run context with the other agent. Warning: In almost all cases, you will not want to share the run! The response subscription is scoped to the delegated run id, so sharing it makes every subscriber of a fan-out fire on every delegate.",
|
|
1123
1111
|
default: false,
|
|
1124
1112
|
},
|
|
1113
|
+
timeout_seconds: {
|
|
1114
|
+
anyOf: [
|
|
1115
|
+
{
|
|
1116
|
+
type: "number",
|
|
1117
|
+
},
|
|
1118
|
+
{
|
|
1119
|
+
type: "null",
|
|
1120
|
+
},
|
|
1121
|
+
],
|
|
1122
|
+
title: "Timeout Seconds",
|
|
1123
|
+
description:
|
|
1124
|
+
"How long to wait for the delegated agent before synthesizing a failure. `None` (the default) waits forever, which is what a delegate that never starts — an offline agent, a mistyped agent_id — costs the caller: no stop event is ever published, so the caller's run never resumes. Set it when the caller cannot tolerate that, and note it only covers a delegate that does not answer: the timer lives in the caller's dispatcher process, so it dies with the response subscription it guards.",
|
|
1125
|
+
},
|
|
1125
1126
|
_event_name: {
|
|
1126
1127
|
type: "string",
|
|
1127
1128
|
title: "Event Name",
|
|
@@ -1192,6 +1193,12 @@ export const AgentInTheLoopResponseEventSchema = {
|
|
|
1192
1193
|
description:
|
|
1193
1194
|
"The stop event from the delegated agent containing the task results and marks the completion.",
|
|
1194
1195
|
},
|
|
1196
|
+
request_event_id: {
|
|
1197
|
+
type: "string",
|
|
1198
|
+
title: "Request Event Id",
|
|
1199
|
+
description:
|
|
1200
|
+
"`event_id` of the `AgentInTheLoopRequestEvent` this answer belongs to. The only thing that tells a caller which delegated answer is which: a run that delegates once can infer it, but a fan-out receives N of these on one topic and nothing else on the payload distinguishes them.",
|
|
1201
|
+
},
|
|
1195
1202
|
_event_name: {
|
|
1196
1203
|
type: "string",
|
|
1197
1204
|
title: "Event Name",
|
|
@@ -1212,7 +1219,12 @@ export const AgentInTheLoopResponseEventSchema = {
|
|
|
1212
1219
|
},
|
|
1213
1220
|
additionalProperties: true,
|
|
1214
1221
|
type: "object",
|
|
1215
|
-
required: [
|
|
1222
|
+
required: [
|
|
1223
|
+
"stop_event",
|
|
1224
|
+
"request_event_id",
|
|
1225
|
+
"_event_name",
|
|
1226
|
+
"_parent_event_names",
|
|
1227
|
+
],
|
|
1216
1228
|
title: "AgentInTheLoopResponseEvent",
|
|
1217
1229
|
description:
|
|
1218
1230
|
"A response from an agent after completing a delegated task.\n\n### Why AgentInTheLoopResponseEvent?\nWhen an agent completes a task delegated through an `AgentInTheLoopRequestEvent`, the response:\n- Influences the workflow (since it's a `ControlEvent`), allowing the original agent to resume based on the result\n- Is visible to the UI (since it's also a `DisplayEvent`), enabling monitoring of agent interactions",
|
|
@@ -1499,6 +1511,19 @@ export const AgentSelectorSchema = {
|
|
|
1499
1511
|
description:
|
|
1500
1512
|
"Optional filter: only show agent classes that accept this start event type. Matches against event_name or event_parents in the agent's start_events.",
|
|
1501
1513
|
},
|
|
1514
|
+
agentClass: {
|
|
1515
|
+
anyOf: [
|
|
1516
|
+
{
|
|
1517
|
+
type: "string",
|
|
1518
|
+
},
|
|
1519
|
+
{
|
|
1520
|
+
type: "null",
|
|
1521
|
+
},
|
|
1522
|
+
],
|
|
1523
|
+
title: "Agentclass",
|
|
1524
|
+
description:
|
|
1525
|
+
"Pin the selection to one agent class. The class dropdown is not rendered and the profile dropdown lists only that class's profiles. Use it when the config already knows which blueprint answers — a dropdown offering one choice asks the admin to make a decision that was never theirs.",
|
|
1526
|
+
},
|
|
1502
1527
|
classPlaceholder: {
|
|
1503
1528
|
anyOf: [
|
|
1504
1529
|
{
|
|
@@ -1538,6 +1563,8 @@ export const AgentSelectorSchema = {
|
|
|
1538
1563
|
validation: {
|
|
1539
1564
|
type: "string",
|
|
1540
1565
|
title: "Validation",
|
|
1566
|
+
description:
|
|
1567
|
+
"Emits `agentRefRequired` where other elements emit FormKit's `required`.\n\nFormKit's `required` rule only asks whether a value is present, and this element's value is\nalways an `{agent_class, agent_id}` object. Picking a class alone emits a non-empty object with\na blank `agent_id`, which passes `required` and then delegates to a NATS wildcard at runtime.\n`agentRefRequired` (registered in the frontend FormKit config) looks at both halves.",
|
|
1541
1568
|
readOnly: true,
|
|
1542
1569
|
},
|
|
1543
1570
|
},
|
|
@@ -1546,7 +1573,7 @@ export const AgentSelectorSchema = {
|
|
|
1546
1573
|
required: ["label", "validation"],
|
|
1547
1574
|
title: "AgentSelector",
|
|
1548
1575
|
description:
|
|
1549
|
-
'A FormKit element for selecting an agent class and instance ID.\n\nThis element renders as a cascading selection:\n1. Agent class dropdown (loads from /api/v1/agents/classes)\n2. Agent ID dropdown (populated based on selected class from /api/v1/agents/classes/{class}/instances)\n\nThe output is a structured object containing both the class name and the instance ID:\n{"agent_class": str, "agent_id": str}\n\n### Optional Filtering by Start Event\n\nWhen `start_event` is specified, only agent classes that accept the given event type\nare shown. For example, `start_event="AskExpertStartEvent"` filters to only show agents\nwhose `start_events` contain an event with matching `event_name` or `event_parents`.\n\nThis is similar to ModelSelect\'s `mode` parameter for filtering by model type.\n\n### Form Duality\n\nWhen used with AgentRef, the form submission is validated directly into AgentRef:\n\n```python\nfrom swiss_ai_hub.core.form.elements.agent_selector import AgentSelector\nfrom swiss_ai_hub.core.form.forms.AgentRef import AgentRef\n\nclass MyConfig(Form):\n target_agent: Annotated[\n AgentRef | AgentSelector,\n Field(description="The target agent to invoke"),\n ]\n\n @classmethod\n def as_form(cls) -> "MyConfig":\n return cls(\n target_agent=AgentSelector(\n label=LocaleString(en="Target Agent", de="Ziel-Agent"),\n start_event="SomeStartEvent", # Optional filter\n ),\n )\n\n # Data mode - from submission:\n config = MyConfig(\n target_agent=AgentRef(\n agent_class="my_agent_class",\n agent_id="my_agent_id",\n ),\n )\n```',
|
|
1576
|
+
'A FormKit element for selecting an agent class and instance ID.\n\nThis element renders as a cascading selection:\n1. Agent class dropdown (loads from /api/v1/agents/classes)\n2. Agent ID dropdown (populated based on selected class from /api/v1/agents/classes/{class}/instances)\n\nThe output is a structured object containing both the class name and the instance ID:\n{"agent_class": str, "agent_id": str}\n\n### Optional Filtering by Start Event\n\nWhen `start_event` is specified, only agent classes that accept the given event type\nare shown. For example, `start_event="AskExpertStartEvent"` filters to only show agents\nwhose `start_events` contain an event with matching `event_name` or `event_parents`.\n\nThis is similar to ModelSelect\'s `mode` parameter for filtering by model type.\n\n### Pinning to One Agent Class\n\nWhen `agent_class` is specified, the class dropdown is not rendered at all and the profile dropdown lists only\nthat class\'s profiles. `start_event` is redundant then — the class is already decided — so set one or the other.\n\n### Form Duality\n\nWhen used with AgentRef, the form submission is validated directly into AgentRef:\n\n```python\nfrom swiss_ai_hub.core.form.elements.agent_selector import AgentSelector\nfrom swiss_ai_hub.core.form.forms.AgentRef import AgentRef\n\nclass MyConfig(Form):\n target_agent: Annotated[\n AgentRef | AgentSelector,\n Field(description="The target agent to invoke"),\n ]\n\n @classmethod\n def as_form(cls) -> "MyConfig":\n return cls(\n target_agent=AgentSelector(\n label=LocaleString(en="Target Agent", de="Ziel-Agent"),\n start_event="SomeStartEvent", # Optional filter\n ),\n )\n\n # Data mode - from submission:\n config = MyConfig(\n target_agent=AgentRef(\n agent_class="my_agent_class",\n agent_id="my_agent_id",\n ),\n )\n```',
|
|
1550
1577
|
} as const;
|
|
1551
1578
|
|
|
1552
1579
|
export const AgentSuitabilityAcceptEventSchema = {
|
|
@@ -2266,6 +2293,19 @@ export const BaseStoreMemoryEventSchema = {
|
|
|
2266
2293
|
title: "Deleted Relations",
|
|
2267
2294
|
description: "Deleted relations",
|
|
2268
2295
|
},
|
|
2296
|
+
llm_model_name: {
|
|
2297
|
+
anyOf: [
|
|
2298
|
+
{
|
|
2299
|
+
type: "string",
|
|
2300
|
+
},
|
|
2301
|
+
{
|
|
2302
|
+
type: "null",
|
|
2303
|
+
},
|
|
2304
|
+
],
|
|
2305
|
+
title: "Llm Model Name",
|
|
2306
|
+
description:
|
|
2307
|
+
"Model that extracted these memories (issue #1590), or None when the write stored verbatim text. Carried on this event only, for observability — it is not stored in mem0's metadata, so it cannot be recovered from the memory record itself once this event is gone.",
|
|
2308
|
+
},
|
|
2269
2309
|
_event_name: {
|
|
2270
2310
|
type: "string",
|
|
2271
2311
|
title: "Event Name",
|
|
@@ -2555,10 +2595,31 @@ export const CapabilitySchema = {
|
|
|
2555
2595
|
description:
|
|
2556
2596
|
"Exact access rule that grants this capability, or null for read-only capabilities.",
|
|
2557
2597
|
},
|
|
2598
|
+
companion_rules: {
|
|
2599
|
+
items: {
|
|
2600
|
+
type: "string",
|
|
2601
|
+
},
|
|
2602
|
+
type: "array",
|
|
2603
|
+
title: "Companion Rules",
|
|
2604
|
+
description:
|
|
2605
|
+
"Rules written *and* removed together with `rule`. A knowledge database's row carries `<rule>.>` here: its namespaces belong to it, and a `.>` rule never matches its own root, so the row needs both forms to mean 'this whole database'.",
|
|
2606
|
+
default: [],
|
|
2607
|
+
},
|
|
2608
|
+
revoked_rules: {
|
|
2609
|
+
items: {
|
|
2610
|
+
type: "string",
|
|
2611
|
+
},
|
|
2612
|
+
type: "array",
|
|
2613
|
+
title: "Revoked Rules",
|
|
2614
|
+
description:
|
|
2615
|
+
"Rules removed with `rule`, never written with it. An agent class's row carries `<rule>.>` here: granting it would hand over every profile of the class in the deployment, other tenants' included, but a ceiling written before that was understood still holds it.",
|
|
2616
|
+
default: [],
|
|
2617
|
+
},
|
|
2558
2618
|
granted: {
|
|
2559
2619
|
type: "boolean",
|
|
2560
2620
|
title: "Granted",
|
|
2561
|
-
description:
|
|
2621
|
+
description:
|
|
2622
|
+
"Whether the draft rules grant `rule` and every `companion_rules` entry.",
|
|
2562
2623
|
},
|
|
2563
2624
|
locked: {
|
|
2564
2625
|
type: "boolean",
|
|
@@ -5342,6 +5403,29 @@ export const CompletionUsageSchema = {
|
|
|
5342
5403
|
description: "Usage statistics for the completion request.",
|
|
5343
5404
|
} as const;
|
|
5344
5405
|
|
|
5406
|
+
export const ConfigSpecsSchema = {
|
|
5407
|
+
properties: {
|
|
5408
|
+
config_class: {
|
|
5409
|
+
type: "string",
|
|
5410
|
+
title: "Config Class",
|
|
5411
|
+
description: "The class name of the configuration this schema describes.",
|
|
5412
|
+
default: "",
|
|
5413
|
+
},
|
|
5414
|
+
config_schema: {
|
|
5415
|
+
additionalProperties: true,
|
|
5416
|
+
type: "object",
|
|
5417
|
+
title: "Config Schema",
|
|
5418
|
+
description:
|
|
5419
|
+
"JSON schema for validating form submissions. Generated from the configuration's configurable fields via to_configurable_submission_model().",
|
|
5420
|
+
default: {},
|
|
5421
|
+
},
|
|
5422
|
+
},
|
|
5423
|
+
type: "object",
|
|
5424
|
+
title: "ConfigSpecs",
|
|
5425
|
+
description:
|
|
5426
|
+
"Validation specification for a form-duality configuration, as announced by the service that owns it.\n\nCarries only the JSON schema the API validates submissions against, so a configuration class defined in\nan agent, process or pipeline container can be enforced by the API without that class being installed there.",
|
|
5427
|
+
} as const;
|
|
5428
|
+
|
|
5345
5429
|
export const ContextInsufficientRejectEventSchema = {
|
|
5346
5430
|
properties: {
|
|
5347
5431
|
event_id: {
|
|
@@ -5878,6 +5962,28 @@ export const CreateAgentInstanceRequestSchema = {
|
|
|
5878
5962
|
"Request body for creating a new agent instance.\nThe agent_class is provided in the URL path, not in the request body.",
|
|
5879
5963
|
} as const;
|
|
5880
5964
|
|
|
5965
|
+
export const CreateDatabaseRequestSchema = {
|
|
5966
|
+
properties: {
|
|
5967
|
+
ingestor: {
|
|
5968
|
+
type: "string",
|
|
5969
|
+
title: "Ingestor",
|
|
5970
|
+
description:
|
|
5971
|
+
"The deployed ingestion pipeline that processes this database's documents. Valid values are served by GET /knowledge/ingestors.",
|
|
5972
|
+
default: "document_ingestion",
|
|
5973
|
+
},
|
|
5974
|
+
configuration: {
|
|
5975
|
+
additionalProperties: true,
|
|
5976
|
+
type: "object",
|
|
5977
|
+
title: "Configuration",
|
|
5978
|
+
description:
|
|
5979
|
+
"The database's configuration as submitted through the ingestor's announced form: its multilingual name and description plus every knob the pipeline declares. Validated against the ingestor's schema.",
|
|
5980
|
+
default: {},
|
|
5981
|
+
},
|
|
5982
|
+
},
|
|
5983
|
+
type: "object",
|
|
5984
|
+
title: "CreateDatabaseRequest",
|
|
5985
|
+
} as const;
|
|
5986
|
+
|
|
5881
5987
|
export const CreateNamespaceRequestSchema = {
|
|
5882
5988
|
properties: {
|
|
5883
5989
|
folder_name: {
|
|
@@ -6521,6 +6627,18 @@ export const DatabaseDTOSchema = {
|
|
|
6521
6627
|
title: "Auto Sync",
|
|
6522
6628
|
description: "Whether this database auto-syncs namespaces",
|
|
6523
6629
|
},
|
|
6630
|
+
deletable: {
|
|
6631
|
+
type: "boolean",
|
|
6632
|
+
title: "Deletable",
|
|
6633
|
+
description:
|
|
6634
|
+
"Whether the database itself may be deleted; false for auto-synced databases, whose content is owned by a source, and for the legacy default_rag/shared_rag databases, which are re-provisioned from deployment configuration. Namespaces and individual documents are governed separately and stay deletable.",
|
|
6635
|
+
},
|
|
6636
|
+
ingestor: {
|
|
6637
|
+
type: "string",
|
|
6638
|
+
title: "Ingestor",
|
|
6639
|
+
description:
|
|
6640
|
+
"Identifier of the ingestion pipeline that processes this database, as served by GET /knowledge/ingestors. Visible to anyone who can see the database, so a database-level rule holder learns how it is configured without seeing its namespaces.",
|
|
6641
|
+
},
|
|
6524
6642
|
namespaces: {
|
|
6525
6643
|
items: {
|
|
6526
6644
|
$ref: "#/components/schemas/NamespaceDTO",
|
|
@@ -6531,10 +6649,73 @@ export const DatabaseDTOSchema = {
|
|
|
6531
6649
|
},
|
|
6532
6650
|
},
|
|
6533
6651
|
type: "object",
|
|
6534
|
-
required: [
|
|
6652
|
+
required: [
|
|
6653
|
+
"name",
|
|
6654
|
+
"display_name",
|
|
6655
|
+
"auto_sync",
|
|
6656
|
+
"deletable",
|
|
6657
|
+
"ingestor",
|
|
6658
|
+
"namespaces",
|
|
6659
|
+
],
|
|
6535
6660
|
title: "DatabaseDTO",
|
|
6536
6661
|
} as const;
|
|
6537
6662
|
|
|
6663
|
+
export const DatabaseResponseSchema = {
|
|
6664
|
+
properties: {
|
|
6665
|
+
name: {
|
|
6666
|
+
type: "string",
|
|
6667
|
+
title: "Name",
|
|
6668
|
+
description:
|
|
6669
|
+
"The database name (also the Milvus collection and Mongo store name).",
|
|
6670
|
+
},
|
|
6671
|
+
bucket_name: {
|
|
6672
|
+
type: "string",
|
|
6673
|
+
title: "Bucket Name",
|
|
6674
|
+
description: "The S3 bucket / data lake container name.",
|
|
6675
|
+
},
|
|
6676
|
+
ingestor: {
|
|
6677
|
+
type: "string",
|
|
6678
|
+
title: "Ingestor",
|
|
6679
|
+
description: "The deployed ingestion pipeline that owns this database.",
|
|
6680
|
+
},
|
|
6681
|
+
configuration: {
|
|
6682
|
+
additionalProperties: true,
|
|
6683
|
+
type: "object",
|
|
6684
|
+
title: "Configuration",
|
|
6685
|
+
description:
|
|
6686
|
+
"The ingestor's settings for this database, as validated against its announced schema.",
|
|
6687
|
+
default: {},
|
|
6688
|
+
},
|
|
6689
|
+
display_name: {
|
|
6690
|
+
anyOf: [
|
|
6691
|
+
{
|
|
6692
|
+
type: "string",
|
|
6693
|
+
},
|
|
6694
|
+
{
|
|
6695
|
+
type: "null",
|
|
6696
|
+
},
|
|
6697
|
+
],
|
|
6698
|
+
title: "Display Name",
|
|
6699
|
+
description: "A user-friendly display name for the database.",
|
|
6700
|
+
},
|
|
6701
|
+
description: {
|
|
6702
|
+
anyOf: [
|
|
6703
|
+
{
|
|
6704
|
+
type: "string",
|
|
6705
|
+
},
|
|
6706
|
+
{
|
|
6707
|
+
type: "null",
|
|
6708
|
+
},
|
|
6709
|
+
],
|
|
6710
|
+
title: "Description",
|
|
6711
|
+
description: "A brief description of the database's contents.",
|
|
6712
|
+
},
|
|
6713
|
+
},
|
|
6714
|
+
type: "object",
|
|
6715
|
+
required: ["name", "bucket_name", "ingestor"],
|
|
6716
|
+
title: "DatabaseResponse",
|
|
6717
|
+
} as const;
|
|
6718
|
+
|
|
6538
6719
|
export const DatasetSchema = {
|
|
6539
6720
|
properties: {
|
|
6540
6721
|
id: {
|
|
@@ -8505,7 +8686,7 @@ export const FullProcessInstanceDTOSchema = {
|
|
|
8505
8686
|
"List of agent work events that the process can receive. Agent work events are used to trigger the execution of an agent.",
|
|
8506
8687
|
},
|
|
8507
8688
|
process_config_specs: {
|
|
8508
|
-
$ref: "#/components/schemas/
|
|
8689
|
+
$ref: "#/components/schemas/ConfigSpecs",
|
|
8509
8690
|
description:
|
|
8510
8691
|
"Configuration specifications of the process class, including schema and parameters.",
|
|
8511
8692
|
},
|
|
@@ -11395,6 +11576,151 @@ export const IngestedNodeSchema = {
|
|
|
11395
11576
|
"A node represents a chunk of a document, like a paragraph, produced by a document parser and text splitter.\nThe attributes defined here are the minimal number of attributes that a node must have to ensure the\nUI can properly display it. Note that all attributes that are specific to text documents, like start_char_idx etc.\nmust be strictly optional, as we don't really know whether the node is indeed a text node. However, all attributes\nthat are purely technical, like the document_id to keep the back-ref to the ref_doc from which the node originates,\nare strictly necessary.",
|
|
11396
11577
|
} as const;
|
|
11397
11578
|
|
|
11579
|
+
export const IngestorDTOSchema = {
|
|
11580
|
+
properties: {
|
|
11581
|
+
name: {
|
|
11582
|
+
type: "string",
|
|
11583
|
+
title: "Name",
|
|
11584
|
+
description:
|
|
11585
|
+
"Ingestor identifier, as served by GET /knowledge/ingestors.",
|
|
11586
|
+
},
|
|
11587
|
+
display_name: {
|
|
11588
|
+
anyOf: [
|
|
11589
|
+
{
|
|
11590
|
+
type: "string",
|
|
11591
|
+
},
|
|
11592
|
+
{
|
|
11593
|
+
type: "null",
|
|
11594
|
+
},
|
|
11595
|
+
],
|
|
11596
|
+
title: "Display Name",
|
|
11597
|
+
description: "Localized name of the ingestion pipeline.",
|
|
11598
|
+
},
|
|
11599
|
+
description: {
|
|
11600
|
+
anyOf: [
|
|
11601
|
+
{
|
|
11602
|
+
type: "string",
|
|
11603
|
+
},
|
|
11604
|
+
{
|
|
11605
|
+
type: "null",
|
|
11606
|
+
},
|
|
11607
|
+
],
|
|
11608
|
+
title: "Description",
|
|
11609
|
+
description: "Localized description of what the pipeline does.",
|
|
11610
|
+
},
|
|
11611
|
+
form: {
|
|
11612
|
+
items: {
|
|
11613
|
+
oneOf: [
|
|
11614
|
+
{
|
|
11615
|
+
$ref: "#/components/schemas/HtmlElement",
|
|
11616
|
+
},
|
|
11617
|
+
{
|
|
11618
|
+
$ref: "#/components/schemas/AgentSelector",
|
|
11619
|
+
},
|
|
11620
|
+
{
|
|
11621
|
+
$ref: "#/components/schemas/CascadeSelect",
|
|
11622
|
+
},
|
|
11623
|
+
{
|
|
11624
|
+
$ref: "#/components/schemas/Checkbox",
|
|
11625
|
+
},
|
|
11626
|
+
{
|
|
11627
|
+
$ref: "#/components/schemas/ChipsInput",
|
|
11628
|
+
},
|
|
11629
|
+
{
|
|
11630
|
+
$ref: "#/components/schemas/ColorPicker",
|
|
11631
|
+
},
|
|
11632
|
+
{
|
|
11633
|
+
$ref: "#/components/schemas/CronInput",
|
|
11634
|
+
},
|
|
11635
|
+
{
|
|
11636
|
+
$ref: "#/components/schemas/DatePicker",
|
|
11637
|
+
},
|
|
11638
|
+
{
|
|
11639
|
+
$ref: "#/components/schemas/Group",
|
|
11640
|
+
},
|
|
11641
|
+
{
|
|
11642
|
+
$ref: "#/components/schemas/IconSelector",
|
|
11643
|
+
},
|
|
11644
|
+
{
|
|
11645
|
+
$ref: "#/components/schemas/InputMask",
|
|
11646
|
+
},
|
|
11647
|
+
{
|
|
11648
|
+
$ref: "#/components/schemas/InputNumber",
|
|
11649
|
+
},
|
|
11650
|
+
{
|
|
11651
|
+
$ref: "#/components/schemas/InputOtp",
|
|
11652
|
+
},
|
|
11653
|
+
{
|
|
11654
|
+
$ref: "#/components/schemas/InputText",
|
|
11655
|
+
},
|
|
11656
|
+
{
|
|
11657
|
+
$ref: "#/components/schemas/KnowledgeDatabaseSelector",
|
|
11658
|
+
},
|
|
11659
|
+
{
|
|
11660
|
+
$ref: "#/components/schemas/Knob",
|
|
11661
|
+
},
|
|
11662
|
+
{
|
|
11663
|
+
$ref: "#/components/schemas/Listbox",
|
|
11664
|
+
},
|
|
11665
|
+
{
|
|
11666
|
+
$ref: "#/components/schemas/LocaleInput",
|
|
11667
|
+
},
|
|
11668
|
+
{
|
|
11669
|
+
$ref: "#/components/schemas/ModelSelect",
|
|
11670
|
+
},
|
|
11671
|
+
{
|
|
11672
|
+
$ref: "#/components/schemas/MultiSelect",
|
|
11673
|
+
},
|
|
11674
|
+
{
|
|
11675
|
+
$ref: "#/components/schemas/Password",
|
|
11676
|
+
},
|
|
11677
|
+
{
|
|
11678
|
+
$ref: "#/components/schemas/RadioButton",
|
|
11679
|
+
},
|
|
11680
|
+
{
|
|
11681
|
+
$ref: "#/components/schemas/Rating",
|
|
11682
|
+
},
|
|
11683
|
+
{
|
|
11684
|
+
$ref: "#/components/schemas/Repeater",
|
|
11685
|
+
},
|
|
11686
|
+
{
|
|
11687
|
+
$ref: "#/components/schemas/Select",
|
|
11688
|
+
},
|
|
11689
|
+
{
|
|
11690
|
+
$ref: "#/components/schemas/SelectButton",
|
|
11691
|
+
},
|
|
11692
|
+
{
|
|
11693
|
+
$ref: "#/components/schemas/Slider",
|
|
11694
|
+
},
|
|
11695
|
+
{
|
|
11696
|
+
$ref: "#/components/schemas/TenantSelect",
|
|
11697
|
+
},
|
|
11698
|
+
{
|
|
11699
|
+
$ref: "#/components/schemas/Textarea",
|
|
11700
|
+
},
|
|
11701
|
+
{
|
|
11702
|
+
$ref: "#/components/schemas/ToggleButton",
|
|
11703
|
+
},
|
|
11704
|
+
{
|
|
11705
|
+
$ref: "#/components/schemas/ToggleSwitch",
|
|
11706
|
+
},
|
|
11707
|
+
{
|
|
11708
|
+
$ref: "#/components/schemas/VectorStoreInput",
|
|
11709
|
+
},
|
|
11710
|
+
],
|
|
11711
|
+
},
|
|
11712
|
+
type: "array",
|
|
11713
|
+
title: "Form",
|
|
11714
|
+
description:
|
|
11715
|
+
"FormKit elements a database of this ingestor is configured through, localized.",
|
|
11716
|
+
default: [],
|
|
11717
|
+
},
|
|
11718
|
+
},
|
|
11719
|
+
type: "object",
|
|
11720
|
+
required: ["name", "display_name", "description"],
|
|
11721
|
+
title: "IngestorDTO",
|
|
11722
|
+
} as const;
|
|
11723
|
+
|
|
11398
11724
|
export const InputAudioSchema = {
|
|
11399
11725
|
properties: {
|
|
11400
11726
|
data: {
|
|
@@ -17741,7 +18067,7 @@ export const ProcessClassDTOSchema = {
|
|
|
17741
18067
|
description: "FormKit elements defining the configuration form.",
|
|
17742
18068
|
},
|
|
17743
18069
|
process_config_specs: {
|
|
17744
|
-
$ref: "#/components/schemas/
|
|
18070
|
+
$ref: "#/components/schemas/ConfigSpecs",
|
|
17745
18071
|
description:
|
|
17746
18072
|
"Configuration specifications of the process class, including schema and parameters.",
|
|
17747
18073
|
},
|
|
@@ -17839,29 +18165,6 @@ export const ProcessConfigDTOSchema = {
|
|
|
17839
18165
|
title: "ProcessConfigDTO",
|
|
17840
18166
|
} as const;
|
|
17841
18167
|
|
|
17842
|
-
export const ProcessConfigSpecsSchema = {
|
|
17843
|
-
properties: {
|
|
17844
|
-
process_class: {
|
|
17845
|
-
type: "string",
|
|
17846
|
-
title: "Process Class",
|
|
17847
|
-
description: "The class name of the process.",
|
|
17848
|
-
default: "",
|
|
17849
|
-
},
|
|
17850
|
-
process_config_schema: {
|
|
17851
|
-
additionalProperties: true,
|
|
17852
|
-
type: "object",
|
|
17853
|
-
title: "Process Config Schema",
|
|
17854
|
-
description:
|
|
17855
|
-
"JSON schema for validating form submissions. Generated from the process's configurable fields via to_configurable_submission_model().",
|
|
17856
|
-
default: {},
|
|
17857
|
-
},
|
|
17858
|
-
},
|
|
17859
|
-
type: "object",
|
|
17860
|
-
title: "ProcessConfigSpecs",
|
|
17861
|
-
description:
|
|
17862
|
-
"Validation specification for process configuration form submissions.\n\nContains the process class identifier and JSON schema for validation.\nInstance-level fields (name, description, icon, process_id) are stored\nseparately in ProcessConfigEntityDocument and provided by the Process class.\n\nThe JSON schema is generated from the process's configurable fields via\nto_configurable_submission_model() and is used to validate form submissions.",
|
|
17863
|
-
} as const;
|
|
17864
|
-
|
|
17865
18168
|
export const ProcessHealthChecksSchema = {
|
|
17866
18169
|
properties: {
|
|
17867
18170
|
running: {
|
|
@@ -18276,10 +18579,12 @@ export const PromptTokensDetailsSchema = {
|
|
|
18276
18579
|
export const RAGFailureReasonSchema = {
|
|
18277
18580
|
type: "string",
|
|
18278
18581
|
enum: [
|
|
18582
|
+
"condensation_empty",
|
|
18279
18583
|
"context_insufficient",
|
|
18280
18584
|
"expert_declined",
|
|
18281
18585
|
"expert_errored",
|
|
18282
18586
|
"few_shot_rejected",
|
|
18587
|
+
"input_too_large",
|
|
18283
18588
|
],
|
|
18284
18589
|
title: "RAGFailureReason",
|
|
18285
18590
|
description: "Why a RAG run failed to produce a useful answer.",
|
|
@@ -18404,8 +18709,16 @@ export const RAGStartEventSchema = {
|
|
|
18404
18709
|
default: "de",
|
|
18405
18710
|
},
|
|
18406
18711
|
user: {
|
|
18407
|
-
|
|
18408
|
-
|
|
18712
|
+
anyOf: [
|
|
18713
|
+
{
|
|
18714
|
+
$ref: "#/components/schemas/UserIdentity",
|
|
18715
|
+
},
|
|
18716
|
+
{
|
|
18717
|
+
type: "null",
|
|
18718
|
+
},
|
|
18719
|
+
],
|
|
18720
|
+
description:
|
|
18721
|
+
"User on whose behalf the RAG run is executed, when there is one. Optional because a delegating agent forwards whatever identity its own start event carries, and a scheduled run carries none — there is no service account to substitute. The RAG agent's user-memory steps are what read it, and they are skipped without it rather than attributing one caller's memories to a shared identity.",
|
|
18409
18722
|
},
|
|
18410
18723
|
messages: {
|
|
18411
18724
|
items: {
|
|
@@ -18486,12 +18799,7 @@ export const RAGStartEventSchema = {
|
|
|
18486
18799
|
},
|
|
18487
18800
|
additionalProperties: true,
|
|
18488
18801
|
type: "object",
|
|
18489
|
-
required: [
|
|
18490
|
-
"user",
|
|
18491
|
-
"selected_namespaces",
|
|
18492
|
-
"_event_name",
|
|
18493
|
-
"_parent_event_names",
|
|
18494
|
-
],
|
|
18802
|
+
required: ["selected_namespaces", "_event_name", "_parent_event_names"],
|
|
18495
18803
|
title: "RAGStartEvent",
|
|
18496
18804
|
description:
|
|
18497
18805
|
"Namespace-aware start event for the RAG agent.\n\n`RAGStartEvent` is intended for non-chat publishers: custom domain front-ends that run their own namespace\nselection UI, or other agents delegating to RAG via `AgentInTheLoop`.",
|
|
@@ -21214,7 +21522,7 @@ export const StandaloneQuestionCondenserEventSchema = {
|
|
|
21214
21522
|
required: ["condensed_chat_message", "_event_name", "_parent_event_names"],
|
|
21215
21523
|
title: "StandaloneQuestionCondenserEvent",
|
|
21216
21524
|
description:
|
|
21217
|
-
"Event to condense chat messages into a single standalone question as a chat message.",
|
|
21525
|
+
"Event to condense chat messages into a single standalone question as a chat message.\n\nA blank condensation is refused by `condense_standalone_question`, before an event of this type can be\nbuilt. The invariant is deliberately *not* also a `field_validator` here: a validator on an event is not\nonly a publish-time contract, it runs on every `model_validate`, which is how the immutable log is read\nback — JetStream replays the whole stream on each agent start, and the API rebuilds a thread's timeline\nfrom the persisted display copy. Blank condensations did occur before the producer-side raise existed, so\nvalidating on read makes that history undeserializable: replay drops the event and\n`EventService.get_events_in_thread` fails the whole thread.",
|
|
21218
21526
|
} as const;
|
|
21219
21527
|
|
|
21220
21528
|
export const StartEventSchema = {
|
|
@@ -21411,6 +21719,19 @@ export const StoreOrganizationMemoryEventSchema = {
|
|
|
21411
21719
|
title: "Deleted Relations",
|
|
21412
21720
|
description: "Deleted relations",
|
|
21413
21721
|
},
|
|
21722
|
+
llm_model_name: {
|
|
21723
|
+
anyOf: [
|
|
21724
|
+
{
|
|
21725
|
+
type: "string",
|
|
21726
|
+
},
|
|
21727
|
+
{
|
|
21728
|
+
type: "null",
|
|
21729
|
+
},
|
|
21730
|
+
],
|
|
21731
|
+
title: "Llm Model Name",
|
|
21732
|
+
description:
|
|
21733
|
+
"Model that extracted these memories (issue #1590), or None when the write stored verbatim text. Carried on this event only, for observability — it is not stored in mem0's metadata, so it cannot be recovered from the memory record itself once this event is gone.",
|
|
21734
|
+
},
|
|
21414
21735
|
_event_name: {
|
|
21415
21736
|
type: "string",
|
|
21416
21737
|
title: "Event Name",
|
|
@@ -21519,6 +21840,19 @@ export const StoreUserMemoryEventSchema = {
|
|
|
21519
21840
|
title: "Deleted Relations",
|
|
21520
21841
|
description: "Deleted relations",
|
|
21521
21842
|
},
|
|
21843
|
+
llm_model_name: {
|
|
21844
|
+
anyOf: [
|
|
21845
|
+
{
|
|
21846
|
+
type: "string",
|
|
21847
|
+
},
|
|
21848
|
+
{
|
|
21849
|
+
type: "null",
|
|
21850
|
+
},
|
|
21851
|
+
],
|
|
21852
|
+
title: "Llm Model Name",
|
|
21853
|
+
description:
|
|
21854
|
+
"Model that extracted these memories (issue #1590), or None when the write stored verbatim text. Carried on this event only, for observability — it is not stored in mem0's metadata, so it cannot be recovered from the memory record itself once this event is gone.",
|
|
21855
|
+
},
|
|
21522
21856
|
_event_name: {
|
|
21523
21857
|
type: "string",
|
|
21524
21858
|
title: "Event Name",
|
|
@@ -24543,7 +24877,7 @@ export const VectorStoreInputSchema = {
|
|
|
24543
24877
|
required: ["label", "validation"],
|
|
24544
24878
|
title: "VectorStoreInput",
|
|
24545
24879
|
description:
|
|
24546
|
-
'A FormKit element for selecting a vector store collection, namespaces, and\nthe metadata keys publishers are allowed to filter on at query time.\n\nThis element renders as three controls:\n1. Database dropdown (loads from /api/v1/knowledge/databases)\n2.
|
|
24880
|
+
'A FormKit element for selecting a vector store collection, namespaces, and\nthe metadata keys publishers are allowed to filter on at query time.\n\nThis element renders as three controls:\n1. Database dropdown (loads from /api/v1/knowledge/databases)\n2. "All namespaces" switch, or a namespace multi-select populated from the selected database\n3. Free-form chips input for `allowed_metadata_filter_fields`\n\nThe output matches the configurable fields of `MilvusVectorStoreConfig`:\n{\n "collection_name": str,\n "index_namespaces": list[str],\n "all_namespaces": bool,\n "allowed_metadata_filter_fields": list[str],\n}\n\n### Form Duality\nWhen used with MilvusVectorStoreConfig, the form submission is validated\ndirectly into MilvusVectorStoreConfig (connection settings are read from\nMilvusSettings at runtime).\n\n### Example Usage\n```python\nfrom swiss_ai_hub.core.form.elements.vector_store_input import VectorStoreInput\nfrom swiss_ai_hub.core.persistence.rag.vectors.stores.milvus_vector_store_config import MilvusVectorStoreConfig\n\nclass MyRetrieverConfig(Form):\n vector_store: Annotated[\n MilvusVectorStoreConfig | VectorStoreInput,\n Field(description="The vector store configuration"),\n ]\n\n# Form mode - for rendering:\nconfig = MyRetrieverConfig(\n vector_store=VectorStoreInput(\n label=LocaleString(en="Vector Store", de="Vektorspeicher"),\n ),\n)\n\n# Data mode - from submission (Pydantic validates into MilvusVectorStoreConfig):\nconfig = MyRetrieverConfig(\n vector_store=MilvusVectorStoreConfig(\n collection_name="my-database",\n index_namespaces=["namespace1", "namespace2"],\n allowed_metadata_filter_fields=["department", "year"],\n ),\n)\n```',
|
|
24547
24881
|
} as const;
|
|
24548
24882
|
|
|
24549
24883
|
export const VideoBlockSchema = {
|
|
@@ -25115,7 +25449,7 @@ export const AgentClassDTOWritableSchema = {
|
|
|
25115
25449
|
"FormKit elements defining the agent configuration form. Default values are embedded in the elements themselves.",
|
|
25116
25450
|
},
|
|
25117
25451
|
agent_config_specs: {
|
|
25118
|
-
$ref: "#/components/schemas/
|
|
25452
|
+
$ref: "#/components/schemas/ConfigSpecs",
|
|
25119
25453
|
description:
|
|
25120
25454
|
"Validation specification including the JSON schema for form submissions. Used by ModelCreationService to create Pydantic models for validation.",
|
|
25121
25455
|
},
|
|
@@ -25436,10 +25770,16 @@ export const AgentInTheLoopExceptionEventWritableSchema = {
|
|
|
25436
25770
|
description:
|
|
25437
25771
|
"The exception event from the delegated agent containing error details and failure context.",
|
|
25438
25772
|
},
|
|
25773
|
+
request_event_id: {
|
|
25774
|
+
type: "string",
|
|
25775
|
+
title: "Request Event Id",
|
|
25776
|
+
description:
|
|
25777
|
+
"`event_id` of the `AgentInTheLoopRequestEvent` that failed. Carried here for the same reason the response carries it — a fan-out caller that cannot attribute a failure cannot complete its batch.",
|
|
25778
|
+
},
|
|
25439
25779
|
},
|
|
25440
25780
|
additionalProperties: true,
|
|
25441
25781
|
type: "object",
|
|
25442
|
-
required: ["exception_event"],
|
|
25782
|
+
required: ["exception_event", "request_event_id"],
|
|
25443
25783
|
title: "AgentInTheLoopExceptionEvent",
|
|
25444
25784
|
description:
|
|
25445
25785
|
"An error response from an agent when a delegated task fails.\n\n### Why AgentInTheLoopExceptionEvent?\nWhen an agent encounters an error during a delegated task, this event:\n- Signals workflow disruption (since it's a `ControlEvent`), allowing error handling in the original agent\n- Is visible to the UI (since it's also a `DisplayEvent`), enabling monitoring and debugging of agent failures\n- Provides a dedicated error channel separate from successful responses",
|
|
@@ -25523,9 +25863,22 @@ export const AgentInTheLoopRequestEventWritableSchema = {
|
|
|
25523
25863
|
type: "boolean",
|
|
25524
25864
|
title: "Share Run Id",
|
|
25525
25865
|
description:
|
|
25526
|
-
"Whether to share the run context with the other agent. Warning: In almost all cases, you will not want to share the run!",
|
|
25866
|
+
"Whether to share the run context with the other agent. Warning: In almost all cases, you will not want to share the run! The response subscription is scoped to the delegated run id, so sharing it makes every subscriber of a fan-out fire on every delegate.",
|
|
25527
25867
|
default: false,
|
|
25528
25868
|
},
|
|
25869
|
+
timeout_seconds: {
|
|
25870
|
+
anyOf: [
|
|
25871
|
+
{
|
|
25872
|
+
type: "number",
|
|
25873
|
+
},
|
|
25874
|
+
{
|
|
25875
|
+
type: "null",
|
|
25876
|
+
},
|
|
25877
|
+
],
|
|
25878
|
+
title: "Timeout Seconds",
|
|
25879
|
+
description:
|
|
25880
|
+
"How long to wait for the delegated agent before synthesizing a failure. `None` (the default) waits forever, which is what a delegate that never starts — an offline agent, a mistyped agent_id — costs the caller: no stop event is ever published, so the caller's run never resumes. Set it when the caller cannot tolerate that, and note it only covers a delegate that does not answer: the timer lives in the caller's dispatcher process, so it dies with the response subscription it guards.",
|
|
25881
|
+
},
|
|
25529
25882
|
},
|
|
25530
25883
|
additionalProperties: true,
|
|
25531
25884
|
type: "object",
|
|
@@ -25574,10 +25927,16 @@ export const AgentInTheLoopResponseEventWritableSchema = {
|
|
|
25574
25927
|
description:
|
|
25575
25928
|
"The stop event from the delegated agent containing the task results and marks the completion.",
|
|
25576
25929
|
},
|
|
25930
|
+
request_event_id: {
|
|
25931
|
+
type: "string",
|
|
25932
|
+
title: "Request Event Id",
|
|
25933
|
+
description:
|
|
25934
|
+
"`event_id` of the `AgentInTheLoopRequestEvent` this answer belongs to. The only thing that tells a caller which delegated answer is which: a run that delegates once can infer it, but a fan-out receives N of these on one topic and nothing else on the payload distinguishes them.",
|
|
25935
|
+
},
|
|
25577
25936
|
},
|
|
25578
25937
|
additionalProperties: true,
|
|
25579
25938
|
type: "object",
|
|
25580
|
-
required: ["stop_event"],
|
|
25939
|
+
required: ["stop_event", "request_event_id"],
|
|
25581
25940
|
title: "AgentInTheLoopResponseEvent",
|
|
25582
25941
|
description:
|
|
25583
25942
|
"A response from an agent after completing a delegated task.\n\n### Why AgentInTheLoopResponseEvent?\nWhen an agent completes a task delegated through an `AgentInTheLoopRequestEvent`, the response:\n- Influences the workflow (since it's a `ControlEvent`), allowing the original agent to resume based on the result\n- Is visible to the UI (since it's also a `DisplayEvent`), enabling monitoring of agent interactions",
|
|
@@ -25803,6 +26162,19 @@ export const AgentSelectorWritableSchema = {
|
|
|
25803
26162
|
description:
|
|
25804
26163
|
"Optional filter: only show agent classes that accept this start event type. Matches against event_name or event_parents in the agent's start_events.",
|
|
25805
26164
|
},
|
|
26165
|
+
agentClass: {
|
|
26166
|
+
anyOf: [
|
|
26167
|
+
{
|
|
26168
|
+
type: "string",
|
|
26169
|
+
},
|
|
26170
|
+
{
|
|
26171
|
+
type: "null",
|
|
26172
|
+
},
|
|
26173
|
+
],
|
|
26174
|
+
title: "Agentclass",
|
|
26175
|
+
description:
|
|
26176
|
+
"Pin the selection to one agent class. The class dropdown is not rendered and the profile dropdown lists only that class's profiles. Use it when the config already knows which blueprint answers — a dropdown offering one choice asks the admin to make a decision that was never theirs.",
|
|
26177
|
+
},
|
|
25806
26178
|
classPlaceholder: {
|
|
25807
26179
|
anyOf: [
|
|
25808
26180
|
{
|
|
@@ -25845,7 +26217,7 @@ export const AgentSelectorWritableSchema = {
|
|
|
25845
26217
|
required: ["label"],
|
|
25846
26218
|
title: "AgentSelector",
|
|
25847
26219
|
description:
|
|
25848
|
-
'A FormKit element for selecting an agent class and instance ID.\n\nThis element renders as a cascading selection:\n1. Agent class dropdown (loads from /api/v1/agents/classes)\n2. Agent ID dropdown (populated based on selected class from /api/v1/agents/classes/{class}/instances)\n\nThe output is a structured object containing both the class name and the instance ID:\n{"agent_class": str, "agent_id": str}\n\n### Optional Filtering by Start Event\n\nWhen `start_event` is specified, only agent classes that accept the given event type\nare shown. For example, `start_event="AskExpertStartEvent"` filters to only show agents\nwhose `start_events` contain an event with matching `event_name` or `event_parents`.\n\nThis is similar to ModelSelect\'s `mode` parameter for filtering by model type.\n\n### Form Duality\n\nWhen used with AgentRef, the form submission is validated directly into AgentRef:\n\n```python\nfrom swiss_ai_hub.core.form.elements.agent_selector import AgentSelector\nfrom swiss_ai_hub.core.form.forms.AgentRef import AgentRef\n\nclass MyConfig(Form):\n target_agent: Annotated[\n AgentRef | AgentSelector,\n Field(description="The target agent to invoke"),\n ]\n\n @classmethod\n def as_form(cls) -> "MyConfig":\n return cls(\n target_agent=AgentSelector(\n label=LocaleString(en="Target Agent", de="Ziel-Agent"),\n start_event="SomeStartEvent", # Optional filter\n ),\n )\n\n # Data mode - from submission:\n config = MyConfig(\n target_agent=AgentRef(\n agent_class="my_agent_class",\n agent_id="my_agent_id",\n ),\n )\n```',
|
|
26220
|
+
'A FormKit element for selecting an agent class and instance ID.\n\nThis element renders as a cascading selection:\n1. Agent class dropdown (loads from /api/v1/agents/classes)\n2. Agent ID dropdown (populated based on selected class from /api/v1/agents/classes/{class}/instances)\n\nThe output is a structured object containing both the class name and the instance ID:\n{"agent_class": str, "agent_id": str}\n\n### Optional Filtering by Start Event\n\nWhen `start_event` is specified, only agent classes that accept the given event type\nare shown. For example, `start_event="AskExpertStartEvent"` filters to only show agents\nwhose `start_events` contain an event with matching `event_name` or `event_parents`.\n\nThis is similar to ModelSelect\'s `mode` parameter for filtering by model type.\n\n### Pinning to One Agent Class\n\nWhen `agent_class` is specified, the class dropdown is not rendered at all and the profile dropdown lists only\nthat class\'s profiles. `start_event` is redundant then — the class is already decided — so set one or the other.\n\n### Form Duality\n\nWhen used with AgentRef, the form submission is validated directly into AgentRef:\n\n```python\nfrom swiss_ai_hub.core.form.elements.agent_selector import AgentSelector\nfrom swiss_ai_hub.core.form.forms.AgentRef import AgentRef\n\nclass MyConfig(Form):\n target_agent: Annotated[\n AgentRef | AgentSelector,\n Field(description="The target agent to invoke"),\n ]\n\n @classmethod\n def as_form(cls) -> "MyConfig":\n return cls(\n target_agent=AgentSelector(\n label=LocaleString(en="Target Agent", de="Ziel-Agent"),\n start_event="SomeStartEvent", # Optional filter\n ),\n )\n\n # Data mode - from submission:\n config = MyConfig(\n target_agent=AgentRef(\n agent_class="my_agent_class",\n agent_id="my_agent_id",\n ),\n )\n```',
|
|
25849
26221
|
} as const;
|
|
25850
26222
|
|
|
25851
26223
|
export const AgentSuitabilityAcceptEventWritableSchema = {
|
|
@@ -26279,6 +26651,19 @@ export const BaseStoreMemoryEventWritableSchema = {
|
|
|
26279
26651
|
title: "Deleted Relations",
|
|
26280
26652
|
description: "Deleted relations",
|
|
26281
26653
|
},
|
|
26654
|
+
llm_model_name: {
|
|
26655
|
+
anyOf: [
|
|
26656
|
+
{
|
|
26657
|
+
type: "string",
|
|
26658
|
+
},
|
|
26659
|
+
{
|
|
26660
|
+
type: "null",
|
|
26661
|
+
},
|
|
26662
|
+
],
|
|
26663
|
+
title: "Llm Model Name",
|
|
26664
|
+
description:
|
|
26665
|
+
"Model that extracted these memories (issue #1590), or None when the write stored verbatim text. Carried on this event only, for observability — it is not stored in mem0's metadata, so it cannot be recovered from the memory record itself once this event is gone.",
|
|
26666
|
+
},
|
|
26282
26667
|
},
|
|
26283
26668
|
additionalProperties: true,
|
|
26284
26669
|
type: "object",
|
|
@@ -28813,7 +29198,7 @@ export const FullProcessInstanceDTOWritableSchema = {
|
|
|
28813
29198
|
"List of agent work events that the process can receive. Agent work events are used to trigger the execution of an agent.",
|
|
28814
29199
|
},
|
|
28815
29200
|
process_config_specs: {
|
|
28816
|
-
$ref: "#/components/schemas/
|
|
29201
|
+
$ref: "#/components/schemas/ConfigSpecs",
|
|
28817
29202
|
description:
|
|
28818
29203
|
"Configuration specifications of the process class, including schema and parameters.",
|
|
28819
29204
|
},
|
|
@@ -30337,6 +30722,151 @@ export const IconSelectorWritableSchema = {
|
|
|
30337
30722
|
'A FormKit element for selecting or entering an Iconify icon name.\n\nThis element renders as an editable select with icon preview capability.\nUsers can either select from preset icon options or enter any valid Iconify icon name.\nThe selected/entered icon is displayed live in the input field.\n\n### Features\n- Dropdown with preset icon options (each showing the icon preview)\n- Editable input for entering custom Iconify icon names\n- Live icon preview in the input field\n- Supports any valid Iconify icon (e.g., \'lucide:bot\', \'meteor-icons:robot\')\n\n### Example Usage\n```python\nclass MyAgentConfig(AgentConfig):\n icon: Annotated[\n str | IconSelector,\n Field(description="Icon for the agent"),\n ]\n\n# Form mode - for rendering:\nconfig = MyAgentConfig(\n ...,\n icon=IconSelector(label=LocaleString(en="Icon", de="Symbol")),\n)\n\n# Data mode - from submission:\nconfig = MyAgentConfig(\n ...,\n icon="mage:robot",\n)\n```',
|
|
30338
30723
|
} as const;
|
|
30339
30724
|
|
|
30725
|
+
export const IngestorDTOWritableSchema = {
|
|
30726
|
+
properties: {
|
|
30727
|
+
name: {
|
|
30728
|
+
type: "string",
|
|
30729
|
+
title: "Name",
|
|
30730
|
+
description:
|
|
30731
|
+
"Ingestor identifier, as served by GET /knowledge/ingestors.",
|
|
30732
|
+
},
|
|
30733
|
+
display_name: {
|
|
30734
|
+
anyOf: [
|
|
30735
|
+
{
|
|
30736
|
+
type: "string",
|
|
30737
|
+
},
|
|
30738
|
+
{
|
|
30739
|
+
type: "null",
|
|
30740
|
+
},
|
|
30741
|
+
],
|
|
30742
|
+
title: "Display Name",
|
|
30743
|
+
description: "Localized name of the ingestion pipeline.",
|
|
30744
|
+
},
|
|
30745
|
+
description: {
|
|
30746
|
+
anyOf: [
|
|
30747
|
+
{
|
|
30748
|
+
type: "string",
|
|
30749
|
+
},
|
|
30750
|
+
{
|
|
30751
|
+
type: "null",
|
|
30752
|
+
},
|
|
30753
|
+
],
|
|
30754
|
+
title: "Description",
|
|
30755
|
+
description: "Localized description of what the pipeline does.",
|
|
30756
|
+
},
|
|
30757
|
+
form: {
|
|
30758
|
+
items: {
|
|
30759
|
+
oneOf: [
|
|
30760
|
+
{
|
|
30761
|
+
$ref: "#/components/schemas/HtmlElement",
|
|
30762
|
+
},
|
|
30763
|
+
{
|
|
30764
|
+
$ref: "#/components/schemas/AgentSelectorWritable",
|
|
30765
|
+
},
|
|
30766
|
+
{
|
|
30767
|
+
$ref: "#/components/schemas/CascadeSelectWritable",
|
|
30768
|
+
},
|
|
30769
|
+
{
|
|
30770
|
+
$ref: "#/components/schemas/CheckboxWritable",
|
|
30771
|
+
},
|
|
30772
|
+
{
|
|
30773
|
+
$ref: "#/components/schemas/ChipsInputWritable",
|
|
30774
|
+
},
|
|
30775
|
+
{
|
|
30776
|
+
$ref: "#/components/schemas/ColorPickerWritable",
|
|
30777
|
+
},
|
|
30778
|
+
{
|
|
30779
|
+
$ref: "#/components/schemas/CronInputWritable",
|
|
30780
|
+
},
|
|
30781
|
+
{
|
|
30782
|
+
$ref: "#/components/schemas/DatePickerWritable",
|
|
30783
|
+
},
|
|
30784
|
+
{
|
|
30785
|
+
$ref: "#/components/schemas/GroupWritable",
|
|
30786
|
+
},
|
|
30787
|
+
{
|
|
30788
|
+
$ref: "#/components/schemas/IconSelectorWritable",
|
|
30789
|
+
},
|
|
30790
|
+
{
|
|
30791
|
+
$ref: "#/components/schemas/InputMaskWritable",
|
|
30792
|
+
},
|
|
30793
|
+
{
|
|
30794
|
+
$ref: "#/components/schemas/InputNumberWritable",
|
|
30795
|
+
},
|
|
30796
|
+
{
|
|
30797
|
+
$ref: "#/components/schemas/InputOtpWritable",
|
|
30798
|
+
},
|
|
30799
|
+
{
|
|
30800
|
+
$ref: "#/components/schemas/InputTextWritable",
|
|
30801
|
+
},
|
|
30802
|
+
{
|
|
30803
|
+
$ref: "#/components/schemas/KnowledgeDatabaseSelectorWritable",
|
|
30804
|
+
},
|
|
30805
|
+
{
|
|
30806
|
+
$ref: "#/components/schemas/KnobWritable",
|
|
30807
|
+
},
|
|
30808
|
+
{
|
|
30809
|
+
$ref: "#/components/schemas/ListboxWritable",
|
|
30810
|
+
},
|
|
30811
|
+
{
|
|
30812
|
+
$ref: "#/components/schemas/LocaleInputWritable",
|
|
30813
|
+
},
|
|
30814
|
+
{
|
|
30815
|
+
$ref: "#/components/schemas/ModelSelectWritable",
|
|
30816
|
+
},
|
|
30817
|
+
{
|
|
30818
|
+
$ref: "#/components/schemas/MultiSelectWritable",
|
|
30819
|
+
},
|
|
30820
|
+
{
|
|
30821
|
+
$ref: "#/components/schemas/PasswordWritable",
|
|
30822
|
+
},
|
|
30823
|
+
{
|
|
30824
|
+
$ref: "#/components/schemas/RadioButtonWritable",
|
|
30825
|
+
},
|
|
30826
|
+
{
|
|
30827
|
+
$ref: "#/components/schemas/RatingWritable",
|
|
30828
|
+
},
|
|
30829
|
+
{
|
|
30830
|
+
$ref: "#/components/schemas/RepeaterWritable",
|
|
30831
|
+
},
|
|
30832
|
+
{
|
|
30833
|
+
$ref: "#/components/schemas/SelectWritable",
|
|
30834
|
+
},
|
|
30835
|
+
{
|
|
30836
|
+
$ref: "#/components/schemas/SelectButtonWritable",
|
|
30837
|
+
},
|
|
30838
|
+
{
|
|
30839
|
+
$ref: "#/components/schemas/SliderWritable",
|
|
30840
|
+
},
|
|
30841
|
+
{
|
|
30842
|
+
$ref: "#/components/schemas/TenantSelectWritable",
|
|
30843
|
+
},
|
|
30844
|
+
{
|
|
30845
|
+
$ref: "#/components/schemas/TextareaWritable",
|
|
30846
|
+
},
|
|
30847
|
+
{
|
|
30848
|
+
$ref: "#/components/schemas/ToggleButtonWritable",
|
|
30849
|
+
},
|
|
30850
|
+
{
|
|
30851
|
+
$ref: "#/components/schemas/ToggleSwitchWritable",
|
|
30852
|
+
},
|
|
30853
|
+
{
|
|
30854
|
+
$ref: "#/components/schemas/VectorStoreInputWritable",
|
|
30855
|
+
},
|
|
30856
|
+
],
|
|
30857
|
+
},
|
|
30858
|
+
type: "array",
|
|
30859
|
+
title: "Form",
|
|
30860
|
+
description:
|
|
30861
|
+
"FormKit elements a database of this ingestor is configured through, localized.",
|
|
30862
|
+
default: [],
|
|
30863
|
+
},
|
|
30864
|
+
},
|
|
30865
|
+
type: "object",
|
|
30866
|
+
required: ["name", "display_name", "description"],
|
|
30867
|
+
title: "IngestorDTO",
|
|
30868
|
+
} as const;
|
|
30869
|
+
|
|
30340
30870
|
export const InputMaskWritableSchema = {
|
|
30341
30871
|
properties: {
|
|
30342
30872
|
is_formkit_element: {
|
|
@@ -34372,7 +34902,7 @@ export const ProcessClassDTOWritableSchema = {
|
|
|
34372
34902
|
description: "FormKit elements defining the configuration form.",
|
|
34373
34903
|
},
|
|
34374
34904
|
process_config_specs: {
|
|
34375
|
-
$ref: "#/components/schemas/
|
|
34905
|
+
$ref: "#/components/schemas/ConfigSpecs",
|
|
34376
34906
|
description:
|
|
34377
34907
|
"Configuration specifications of the process class, including schema and parameters.",
|
|
34378
34908
|
},
|
|
@@ -34639,8 +35169,16 @@ export const RAGStartEventWritableSchema = {
|
|
|
34639
35169
|
default: "de",
|
|
34640
35170
|
},
|
|
34641
35171
|
user: {
|
|
34642
|
-
|
|
34643
|
-
|
|
35172
|
+
anyOf: [
|
|
35173
|
+
{
|
|
35174
|
+
$ref: "#/components/schemas/UserIdentity",
|
|
35175
|
+
},
|
|
35176
|
+
{
|
|
35177
|
+
type: "null",
|
|
35178
|
+
},
|
|
35179
|
+
],
|
|
35180
|
+
description:
|
|
35181
|
+
"User on whose behalf the RAG run is executed, when there is one. Optional because a delegating agent forwards whatever identity its own start event carries, and a scheduled run carries none — there is no service account to substitute. The RAG agent's user-memory steps are what read it, and they are skipped without it rather than attributing one caller's memories to a shared identity.",
|
|
34644
35182
|
},
|
|
34645
35183
|
messages: {
|
|
34646
35184
|
items: {
|
|
@@ -34704,7 +35242,7 @@ export const RAGStartEventWritableSchema = {
|
|
|
34704
35242
|
},
|
|
34705
35243
|
additionalProperties: true,
|
|
34706
35244
|
type: "object",
|
|
34707
|
-
required: ["
|
|
35245
|
+
required: ["selected_namespaces"],
|
|
34708
35246
|
title: "RAGStartEvent",
|
|
34709
35247
|
description:
|
|
34710
35248
|
"Namespace-aware start event for the RAG agent.\n\n`RAGStartEvent` is intended for non-chat publishers: custom domain front-ends that run their own namespace\nselection UI, or other agents delegating to RAG via `AgentInTheLoop`.",
|
|
@@ -36969,7 +37507,7 @@ export const StandaloneQuestionCondenserEventWritableSchema = {
|
|
|
36969
37507
|
required: ["condensed_chat_message"],
|
|
36970
37508
|
title: "StandaloneQuestionCondenserEvent",
|
|
36971
37509
|
description:
|
|
36972
|
-
"Event to condense chat messages into a single standalone question as a chat message.",
|
|
37510
|
+
"Event to condense chat messages into a single standalone question as a chat message.\n\nA blank condensation is refused by `condense_standalone_question`, before an event of this type can be\nbuilt. The invariant is deliberately *not* also a `field_validator` here: a validator on an event is not\nonly a publish-time contract, it runs on every `model_validate`, which is how the immutable log is read\nback — JetStream replays the whole stream on each agent start, and the API rebuilds a thread's timeline\nfrom the persisted display copy. Blank condensations did occur before the producer-side raise existed, so\nvalidating on read makes that history undeserializable: replay drops the event and\n`EventService.get_events_in_thread` fails the whole thread.",
|
|
36973
37511
|
} as const;
|
|
36974
37512
|
|
|
36975
37513
|
export const StartEventWritableSchema = {
|
|
@@ -37130,6 +37668,19 @@ export const StoreOrganizationMemoryEventWritableSchema = {
|
|
|
37130
37668
|
title: "Deleted Relations",
|
|
37131
37669
|
description: "Deleted relations",
|
|
37132
37670
|
},
|
|
37671
|
+
llm_model_name: {
|
|
37672
|
+
anyOf: [
|
|
37673
|
+
{
|
|
37674
|
+
type: "string",
|
|
37675
|
+
},
|
|
37676
|
+
{
|
|
37677
|
+
type: "null",
|
|
37678
|
+
},
|
|
37679
|
+
],
|
|
37680
|
+
title: "Llm Model Name",
|
|
37681
|
+
description:
|
|
37682
|
+
"Model that extracted these memories (issue #1590), or None when the write stored verbatim text. Carried on this event only, for observability — it is not stored in mem0's metadata, so it cannot be recovered from the memory record itself once this event is gone.",
|
|
37683
|
+
},
|
|
37133
37684
|
},
|
|
37134
37685
|
additionalProperties: true,
|
|
37135
37686
|
type: "object",
|
|
@@ -37219,6 +37770,19 @@ export const StoreUserMemoryEventWritableSchema = {
|
|
|
37219
37770
|
title: "Deleted Relations",
|
|
37220
37771
|
description: "Deleted relations",
|
|
37221
37772
|
},
|
|
37773
|
+
llm_model_name: {
|
|
37774
|
+
anyOf: [
|
|
37775
|
+
{
|
|
37776
|
+
type: "string",
|
|
37777
|
+
},
|
|
37778
|
+
{
|
|
37779
|
+
type: "null",
|
|
37780
|
+
},
|
|
37781
|
+
],
|
|
37782
|
+
title: "Llm Model Name",
|
|
37783
|
+
description:
|
|
37784
|
+
"Model that extracted these memories (issue #1590), or None when the write stored verbatim text. Carried on this event only, for observability — it is not stored in mem0's metadata, so it cannot be recovered from the memory record itself once this event is gone.",
|
|
37785
|
+
},
|
|
37222
37786
|
},
|
|
37223
37787
|
additionalProperties: true,
|
|
37224
37788
|
type: "object",
|
|
@@ -38789,5 +39353,5 @@ export const VectorStoreInputWritableSchema = {
|
|
|
38789
39353
|
required: ["label"],
|
|
38790
39354
|
title: "VectorStoreInput",
|
|
38791
39355
|
description:
|
|
38792
|
-
'A FormKit element for selecting a vector store collection, namespaces, and\nthe metadata keys publishers are allowed to filter on at query time.\n\nThis element renders as three controls:\n1. Database dropdown (loads from /api/v1/knowledge/databases)\n2.
|
|
39356
|
+
'A FormKit element for selecting a vector store collection, namespaces, and\nthe metadata keys publishers are allowed to filter on at query time.\n\nThis element renders as three controls:\n1. Database dropdown (loads from /api/v1/knowledge/databases)\n2. "All namespaces" switch, or a namespace multi-select populated from the selected database\n3. Free-form chips input for `allowed_metadata_filter_fields`\n\nThe output matches the configurable fields of `MilvusVectorStoreConfig`:\n{\n "collection_name": str,\n "index_namespaces": list[str],\n "all_namespaces": bool,\n "allowed_metadata_filter_fields": list[str],\n}\n\n### Form Duality\nWhen used with MilvusVectorStoreConfig, the form submission is validated\ndirectly into MilvusVectorStoreConfig (connection settings are read from\nMilvusSettings at runtime).\n\n### Example Usage\n```python\nfrom swiss_ai_hub.core.form.elements.vector_store_input import VectorStoreInput\nfrom swiss_ai_hub.core.persistence.rag.vectors.stores.milvus_vector_store_config import MilvusVectorStoreConfig\n\nclass MyRetrieverConfig(Form):\n vector_store: Annotated[\n MilvusVectorStoreConfig | VectorStoreInput,\n Field(description="The vector store configuration"),\n ]\n\n# Form mode - for rendering:\nconfig = MyRetrieverConfig(\n vector_store=VectorStoreInput(\n label=LocaleString(en="Vector Store", de="Vektorspeicher"),\n ),\n)\n\n# Data mode - from submission (Pydantic validates into MilvusVectorStoreConfig):\nconfig = MyRetrieverConfig(\n vector_store=MilvusVectorStoreConfig(\n collection_name="my-database",\n index_namespaces=["namespace1", "namespace2"],\n allowed_metadata_filter_fields=["department", "year"],\n ),\n)\n```',
|
|
38793
39357
|
} as const;
|