mindgraph 0.12.0 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2024 Shuruheel Ahamed
3
+ Copyright (c) 2024 Syed Shan-E-Haider Rizvi
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/dist/index.d.mts CHANGED
@@ -190,7 +190,7 @@ interface CaptureRequest {
190
190
  agent_id?: string;
191
191
  }
192
192
  interface EntityRequest {
193
- action: "create" | "alias" | "resolve" | "fuzzy_resolve" | "merge" | "relate";
193
+ action: "create" | "resolve_identity" | "alias" | "resolve" | "fuzzy_resolve" | "merge" | "relate";
194
194
  label?: string;
195
195
  text?: string;
196
196
  canonical_uid?: string;
@@ -203,6 +203,14 @@ interface EntityRequest {
203
203
  edge_type?: string;
204
204
  props?: Record<string, unknown>;
205
205
  agent_id?: string;
206
+ /** Server-canonicalized exact identity. Values may contain only strings and integers. */
207
+ identity?: {
208
+ namespace: string;
209
+ key_version: 1;
210
+ key: unknown;
211
+ };
212
+ /** Explicit writable Project/repository/agent Space for an identity-backed create. */
213
+ identity_space_uid?: string;
206
214
  }
207
215
  interface ArgumentRequest {
208
216
  claim: {
@@ -330,6 +338,9 @@ interface SessionRequest {
330
338
  salience?: number;
331
339
  session_uid?: string;
332
340
  relevant_node_uids?: string[];
341
+ harness?: "claude-code" | "codex" | "generic";
342
+ harness_session_id?: string;
343
+ model?: string;
333
344
  props?: Record<string, unknown>;
334
345
  agent_id?: string;
335
346
  }
@@ -342,6 +353,10 @@ interface DistillRequest {
342
353
  salience?: number;
343
354
  summarizes_uids?: string[];
344
355
  session_uid?: string;
356
+ work_uid?: string;
357
+ execution_uid?: string;
358
+ idempotency_key?: string;
359
+ supersedes_uid?: string;
345
360
  props?: Record<string, unknown>;
346
361
  agent_id?: string;
347
362
  }
@@ -354,8 +369,31 @@ interface MemoryConfigRequest {
354
369
  props?: Record<string, unknown>;
355
370
  agent_id?: string;
356
371
  }
372
+ interface MemorySyncRequest {
373
+ action: "scan" | "begin" | "record" | "finalize" | "status" | "abandon";
374
+ provider?: string;
375
+ repo_id?: string;
376
+ logical_path?: string;
377
+ content_hash?: string;
378
+ content?: string;
379
+ source_uid?: string;
380
+ execution_uid?: string;
381
+ assertion_fingerprint?: string;
382
+ planned_fingerprints?: string[];
383
+ current_fingerprints?: string[];
384
+ source_selector?: Record<string, unknown>;
385
+ capture_type?: "lesson" | "journal" | "claim" | "decision" | "risk";
386
+ label?: string;
387
+ summary?: string;
388
+ props?: Record<string, unknown>;
389
+ expected_execution_version?: number;
390
+ baseline_version?: number;
391
+ repo_space_uid?: string;
392
+ file_present?: boolean;
393
+ agent_id?: string;
394
+ }
357
395
  interface PlanRequest {
358
- action: "create_task" | "create_plan" | "add_step" | "update_status" | "get_plan";
396
+ action: "create_task" | "create_plan" | "add_step" | "update_status" | "get_plan" | "resume_work" | "claim_task" | "heartbeat" | "start_iteration" | "checkpoint_iteration" | "block_task" | "complete_task" | "abandon_iteration";
359
397
  label?: string;
360
398
  summary?: string;
361
399
  confidence?: number;
@@ -363,15 +401,39 @@ interface PlanRequest {
363
401
  goal_uid?: string;
364
402
  task_uid?: string;
365
403
  plan_uid?: string;
404
+ step_uid?: string;
405
+ execution_uid?: string;
406
+ session_uid?: string;
366
407
  depends_on_uids?: string[];
367
408
  target_uid?: string;
368
409
  status?: string;
410
+ task_status?: string;
411
+ step_status?: string;
412
+ execution_status?: "completed" | "failed" | "abandoned";
413
+ expected_version?: number;
414
+ lease_epoch?: number;
415
+ lease_ttl_secs?: number;
416
+ idempotency_key?: string;
417
+ allow_takeover?: boolean;
418
+ release_lease?: boolean;
419
+ override_reason?: string;
420
+ scope_uids?: string[];
421
+ limit?: number;
422
+ input_snapshot?: Record<string, unknown>;
423
+ output_snapshot?: Record<string, unknown>;
424
+ side_effects?: string[];
425
+ outcome?: string;
426
+ error?: string;
427
+ next_action?: string;
428
+ checkpoint_summary?: string;
429
+ test_summary?: string;
430
+ produces_node_uids?: string[];
369
431
  related_uids?: string[];
370
432
  props?: Record<string, unknown>;
371
433
  agent_id?: string;
372
434
  }
373
435
  interface GovernanceRequest {
374
- action: "create_policy" | "set_budget" | "request_approval" | "resolve_approval" | "get_pending";
436
+ action: "create_policy" | "set_budget" | "request_approval" | "resolve_approval" | "get_pending" | "check";
375
437
  label?: string;
376
438
  summary?: string;
377
439
  confidence?: number;
@@ -380,9 +442,30 @@ interface GovernanceRequest {
380
442
  approval_uid?: string;
381
443
  approved?: boolean;
382
444
  requires_plan_uid?: string;
445
+ act?: string;
446
+ target?: GovernanceTarget;
447
+ purpose?: string;
448
+ context?: Record<string, unknown>;
449
+ mode?: "permit_default" | "deny_default";
450
+ tier?: "native" | "checkpoint" | "advisory" | "dry_run";
383
451
  props?: Record<string, unknown>;
384
452
  agent_id?: string;
385
453
  }
454
+ interface GovernanceTarget {
455
+ node_uid?: string;
456
+ document_uid?: string;
457
+ node_type?: string;
458
+ ontology_class?: string;
459
+ tags?: string[];
460
+ space?: string;
461
+ classifications?: string[];
462
+ tool_name?: string;
463
+ tool_annotations?: string[];
464
+ execution_uid?: string;
465
+ action?: string;
466
+ mutability?: "read" | "write";
467
+ target_uids?: string[];
468
+ }
386
469
  interface ExecutionRequest {
387
470
  action: "start" | "complete" | "fail" | "register_agent" | "get_executions";
388
471
  label?: string;
@@ -391,10 +474,16 @@ interface ExecutionRequest {
391
474
  salience?: number;
392
475
  plan_uid?: string;
393
476
  executor_uid?: string;
477
+ affordance_uid?: string;
394
478
  execution_uid?: string;
395
479
  produces_node_uid?: string;
396
480
  filter_plan_uid?: string;
397
481
  related_uids?: string[];
482
+ input_snapshot?: Record<string, unknown>;
483
+ output_snapshot?: Record<string, unknown>;
484
+ side_effects?: string[];
485
+ outcome?: string;
486
+ error?: string;
398
487
  props?: Record<string, unknown>;
399
488
  agent_id?: string;
400
489
  }
@@ -415,6 +504,8 @@ interface RetrieveRequest {
415
504
  * reflect what the user likes.
416
505
  */
417
506
  query?: string;
507
+ /** Corpus Project whose member sources define the retrieval boundary. */
508
+ project_uid?: string;
418
509
  k?: number;
419
510
  threshold?: number;
420
511
  layer?: string;
@@ -528,6 +619,8 @@ interface IngestChunkResponse {
528
619
  interface IngestDocumentRequest {
529
620
  content: string;
530
621
  title?: string;
622
+ /** Corpus Project to attach the ingested document to. */
623
+ project_uid?: string;
531
624
  document_type?: string;
532
625
  /** Semantic content type: "article" (default), "meeting_notes", "journal". Drives default extraction layers. */
533
626
  content_type?: string;
@@ -592,6 +685,8 @@ interface IngestSessionRequest {
592
685
  }
593
686
  interface RetrieveContextRequest {
594
687
  query: string;
688
+ /** Corpus Project whose member sources define the retrieval boundary. */
689
+ project_uid?: string;
595
690
  /** Max graph nodes to return (default 10). */
596
691
  node_limit?: number;
597
692
  /** Max wiki articles to return (default 3). Set to 0 to skip. */
@@ -869,6 +964,12 @@ interface MindGraphConfig {
869
964
  apiKey?: string;
870
965
  jwt?: string;
871
966
  orgId?: string;
967
+ /**
968
+ * Non-security telemetry hint for first-party adapters. The cloud accepts
969
+ * only `dashboard`/`mcp`, normalizes everything else to `api`, and never
970
+ * uses this value for authorization or result membership.
971
+ */
972
+ telemetrySurface?: "dashboard" | "mcp";
872
973
  /** Max retries for 503 (server warming up) responses. Default: 3. Set to 0 to disable. */
873
974
  maxRetries?: number;
874
975
  /** Initial backoff in ms before first retry. Doubles each attempt. Default: 1000. */
@@ -1146,8 +1247,10 @@ interface OntologyToolDescriptor {
1146
1247
  description: string;
1147
1248
  schema_id: string;
1148
1249
  object_type: string;
1149
- /** "search" | "object" | "object_context" */
1150
- maps_to: string;
1250
+ maps_to: "search" | "object" | "object_context" | "related" | "structured_query";
1251
+ relation?: string;
1252
+ entry_role?: "source" | "target";
1253
+ far_type?: string;
1151
1254
  input_schema: Record<string, unknown>;
1152
1255
  }
1153
1256
  interface CreateOntologySchemaRequest {
@@ -1278,20 +1381,125 @@ interface ProposeOntologySchemaRequest {
1278
1381
  interface OntologyQueryRequest {
1279
1382
  query: string;
1280
1383
  schema_id: string;
1384
+ project_uid?: string;
1281
1385
  object_types?: string[];
1282
1386
  include_cognitive_context?: boolean;
1283
1387
  include_sources?: boolean;
1284
1388
  depth?: number;
1285
1389
  limit?: number;
1286
1390
  }
1391
+ type OntologyPredicateOperator = "eq" | "neq" | "in" | "contains" | "gte" | "lte" | "exists";
1392
+ interface OntologyQueryPredicate {
1393
+ field: string;
1394
+ op: OntologyPredicateOperator;
1395
+ value?: unknown;
1396
+ }
1397
+ interface StructuredOntologyQueryRequest {
1398
+ schema_id: string;
1399
+ select: string;
1400
+ project_uid?: string;
1401
+ anchor?: {
1402
+ type: string;
1403
+ uid?: string;
1404
+ match?: {
1405
+ value: string;
1406
+ field?: string;
1407
+ };
1408
+ };
1409
+ path?: Array<{
1410
+ relation: string;
1411
+ entry_role: "source" | "target";
1412
+ }>;
1413
+ where?: OntologyQueryPredicate[];
1414
+ include?: {
1415
+ provenance?: boolean;
1416
+ related?: string[];
1417
+ };
1418
+ page?: {
1419
+ limit?: number;
1420
+ offset?: number;
1421
+ };
1422
+ aggregate?: {
1423
+ op: "count" | "customer_demand_rank";
1424
+ group_by?: string;
1425
+ };
1426
+ }
1427
+ interface StructuredOntologyQueryResponse {
1428
+ plan: Record<string, unknown>;
1429
+ rows: Array<{
1430
+ object: DomainObject;
1431
+ related?: Record<string, DomainObject[]>;
1432
+ }>;
1433
+ relations: Array<{
1434
+ uid: string;
1435
+ relation: string;
1436
+ from_uid: string;
1437
+ to_uid: string;
1438
+ fields: unknown;
1439
+ leg_index?: number;
1440
+ }>;
1441
+ provenance: Array<{
1442
+ node_uid: string;
1443
+ source_uid: string;
1444
+ text_span: string;
1445
+ }>;
1446
+ aggregate?: unknown;
1447
+ total_count: number;
1448
+ total_count_exact: boolean;
1449
+ returned_count: number;
1450
+ has_more: boolean;
1451
+ coverage_complete: boolean;
1452
+ truncation_reasons: string[];
1453
+ diagnostics: string[];
1454
+ metrics: Record<string, unknown>;
1455
+ }
1456
+ interface RelatedDomainObjectsRequest {
1457
+ schema_id: string;
1458
+ entry_type: string;
1459
+ uid: string;
1460
+ relation: string;
1461
+ entry_role: "source" | "target";
1462
+ far_type: string;
1463
+ where?: OntologyQueryPredicate[];
1464
+ include_provenance?: boolean;
1465
+ limit?: number;
1466
+ offset?: number;
1467
+ project_uid?: string;
1468
+ }
1287
1469
  interface OntologyQueryResponse {
1288
1470
  objects: GraphNode[];
1289
- relations: GraphEdge[];
1290
- cognitive_context: Record<string, GraphNode[]>;
1471
+ relations: Array<{
1472
+ edge_uid: string | null;
1473
+ from_uid: string;
1474
+ to_uid: string;
1475
+ edge_type: string;
1476
+ traversal_role: string;
1477
+ depth: number;
1478
+ }>;
1479
+ cognitive_context: Record<string, Array<{
1480
+ uid: string;
1481
+ label: string;
1482
+ node_type: string;
1483
+ layer: string;
1484
+ depth: number;
1485
+ }>>;
1291
1486
  external_refs: unknown[];
1292
1487
  graph: {
1293
- nodes: GraphNode[];
1294
- edges: GraphEdge[];
1488
+ nodes: Array<{
1489
+ uid: string;
1490
+ label: string;
1491
+ node_type: string;
1492
+ layer: string;
1493
+ depth: number;
1494
+ }>;
1495
+ edges: Array<{
1496
+ edge_uid: string | null;
1497
+ from_uid: string;
1498
+ to_uid: string;
1499
+ edge_type: string;
1500
+ traversal_role: string;
1501
+ depth: number;
1502
+ }>;
1295
1503
  };
1296
1504
  provenance: Array<{
1297
1505
  node_uid: string;
@@ -1301,6 +1509,9 @@ interface OntologyQueryResponse {
1301
1509
  confidence: {
1302
1510
  overall: number;
1303
1511
  };
1512
+ returned_count: number;
1513
+ has_more: boolean;
1514
+ seed_cap_hit: boolean;
1304
1515
  truncated?: Record<string, boolean>;
1305
1516
  }
1306
1517
  interface LinkDomainObjectsRequest {
@@ -1339,6 +1550,7 @@ declare class MindGraph {
1339
1550
  private headers;
1340
1551
  private maxRetries;
1341
1552
  private retryBackoffMs;
1553
+ private telemetrySurface?;
1342
1554
  constructor(config: MindGraphConfig);
1343
1555
  private request;
1344
1556
  private get;
@@ -1462,6 +1674,7 @@ declare class MindGraph {
1462
1674
  }): Promise<unknown>;
1463
1675
  distill(req: DistillRequest): Promise<unknown>;
1464
1676
  memoryConfig(req: MemoryConfigRequest): Promise<unknown>;
1677
+ memorySync(req: MemorySyncRequest): Promise<unknown>;
1465
1678
  plan(req: PlanRequest): Promise<unknown>;
1466
1679
  governance(req: GovernanceRequest): Promise<unknown>;
1467
1680
  execution(req: ExecutionRequest): Promise<unknown>;
@@ -1555,6 +1768,7 @@ declare class MindGraph {
1555
1768
  edge_type?: string;
1556
1769
  }): Promise<GraphEdge[]>;
1557
1770
  search(query: string, opts?: {
1771
+ project_uid?: string;
1558
1772
  node_type?: string;
1559
1773
  layer?: string;
1560
1774
  limit?: number;
@@ -1568,6 +1782,7 @@ declare class MindGraph {
1568
1782
  * the "why retrieved" detail (server ≥ 1.2.0; older servers ignore it).
1569
1783
  */
1570
1784
  hybridSearch(query: string, opts?: {
1785
+ project_uid?: string;
1571
1786
  k?: number;
1572
1787
  node_types?: string[];
1573
1788
  layer?: string;
@@ -1807,17 +2022,26 @@ declare class MindGraph {
1807
2022
  }[];
1808
2023
  }>;
1809
2024
  queryOntology(req: OntologyQueryRequest): Promise<OntologyQueryResponse>;
2025
+ queryDomainStructured(req: StructuredOntologyQueryRequest): Promise<StructuredOntologyQueryResponse>;
2026
+ queryRelatedDomainObjects(req: RelatedDomainObjectsRequest): Promise<StructuredOntologyQueryResponse>;
1810
2027
  /**
1811
- * Read-only agent tool descriptors generated from the active ontology
1812
- * schema(s). Each maps to a generic `/ontology` read endpoint with
1813
- * `object_type` bound. Used by the MCP server to expose typed per-object
1814
- * tools (`search_customers`, `summarize_customer`, …).
2028
+ * Schema-qualified read-tool descriptors generated from every active
2029
+ * ontology. Includes per-object discovery/point/context tools,
2030
+ * relation-and-role-specific related tools, and one structured composite.
1815
2031
  */
1816
2032
  listOntologyTools(): Promise<{
1817
2033
  tools: OntologyToolDescriptor[];
1818
2034
  }>;
1819
- getDomainObject(uid: string): Promise<DomainObject>;
1820
- getDomainObjectContext(uid: string, depth?: number): Promise<OntologyQueryResponse>;
2035
+ getDomainObject(uid: string, binding?: {
2036
+ schema_id: string;
2037
+ object_type: string;
2038
+ project_uid?: string;
2039
+ }): Promise<DomainObject>;
2040
+ getDomainObjectContext(uid: string, depth?: number, binding?: {
2041
+ schema_id: string;
2042
+ object_type: string;
2043
+ project_uid?: string;
2044
+ }): Promise<OntologyQueryResponse>;
1821
2045
  getDomainObjectHistory(uid: string): Promise<{
1822
2046
  versions: Array<{
1823
2047
  version: number;
@@ -1842,12 +2066,19 @@ declare class MindGraph {
1842
2066
  searchDomainObjects(query: string, opts?: {
1843
2067
  schema_id?: string;
1844
2068
  object_types?: string[];
2069
+ filters?: OntologyQueryPredicate[];
1845
2070
  limit?: number;
1846
2071
  }): Promise<{
1847
2072
  items: Array<{
1848
2073
  object: DomainObject;
1849
2074
  score: number;
1850
2075
  }>;
2076
+ returned_count: number;
2077
+ has_more: boolean;
2078
+ seed_cap_hit: boolean;
2079
+ truncation_reasons: string[];
2080
+ total_count: null;
2081
+ total_count_exact: false;
1851
2082
  }>;
1852
2083
  /**
1853
2084
  * Per-object-type coverage stats for a schema (C2f): field fill rates
@@ -1888,4 +2119,4 @@ declare class MindGraph {
1888
2119
  }>;
1889
2120
  }
1890
2121
 
1891
- export { type AnalogyCandidate, type ArgumentRequest, type ArticleResult, type BatchRequest, type BelievedBy, type CanonicalAttachmentAuthority, type CanonicalAttachmentBinding, type CanonicalAttachmentDirection, type CaptureRequest, type ClaimHub, type ClearResponse, type ClusterClaimSample, type ClusteredClaimHub, type CommitmentRequest, type ConceptCluster, type CreateOntologySchemaRequest, type DecayRequest, type DeliberationRequest, type DialecticalPair, type DistillRequest, type DocumentRef, type EnrichedSearchResponse, type EntityBridge, type EntityRequest, type EpistemicCounts, type EventProps, type EvolveRequest, type ExecutionRequest, type FieldDefinition, type FieldSemantic, type FieldSemanticKind, type GovernanceRequest, type GraphEdge, type GraphNode, type IngestChunkRequest, type IngestChunkResponse, type IngestDocumentRequest, type IngestDocumentResponse, type IngestSessionRequest, type InquiryRequest, type Job, type ListArticlesResponse, type MemoryConfigRequest, MindGraph, type MindGraphConfig, MindGraphError, type NationProps, type NormativeKind, type ObjectBacking, type OntologicalBaseKind, type OntologyDuplicateAudit, type OntologyObjectType, type OntologyObjectTypeInput, type OntologyProposal, type OntologyRelationType, type OntologyRelationTypeInput, type OntologySchema, type OntologySchemaDetail, type OrganizationProps, type Participant, type ParticipantSlotKind, type PathStep, type PersonProps, type PlaceProps, type PlanRequest, type ProcedureRequest, type ProposalEdits, type PurgeRequest, type RankedClaimHub, type RelationBacking, type RetrieveContextRequest, type RetrieveContextResponse, type RetrieveRequest, type RiskRequest, type SearchChunk, type SearchResult, type SemanticDependence, type SemanticEvidenceRef, type SemanticEvidenceSourceKind, type SemanticGeneratorRef, type SemanticIdentityMode, type SemanticMatch, type SemanticMatchAlternative, type SemanticMatchStatus, type SemanticModifier, type SemanticModifierMatch, type SemanticNegativeControl, type SemanticParticipantSlot, type SemanticRelationKind, type SemanticReviewDecision, type SemanticRigidity, type SemanticRuntimeTemplate, type SemanticSignal, type SemanticSignalKind, type SemanticTemplateRef, type SemanticTemporalMode, type SemanticTenantBindings, type SemanticValidationAuthoringMode, type SemanticValidationMode, type SessionRequest, type SignalsQuery, type SignalsResponse, type SourceChunk, type StructureRequest, type SynthesisJobResponse, type TextSelector, type TheorySupportGap, type TraverseRequest, type UpdateOntologySchemaRequest };
2122
+ export { type AnalogyCandidate, type ArgumentRequest, type ArticleResult, type BatchRequest, type BelievedBy, type CanonicalAttachmentAuthority, type CanonicalAttachmentBinding, type CanonicalAttachmentDirection, type CaptureRequest, type ClaimHub, type ClearResponse, type ClusterClaimSample, type ClusteredClaimHub, type CommitmentRequest, type ConceptCluster, type CreateOntologySchemaRequest, type DecayRequest, type DeliberationRequest, type DialecticalPair, type DistillRequest, type DocumentRef, type EnrichedSearchResponse, type EntityBridge, type EntityRequest, type EpistemicCounts, type EventProps, type EvolveRequest, type ExecutionRequest, type FieldDefinition, type FieldSemantic, type FieldSemanticKind, type GovernanceRequest, type GovernanceTarget, type GraphEdge, type GraphNode, type IngestChunkRequest, type IngestChunkResponse, type IngestDocumentRequest, type IngestDocumentResponse, type IngestSessionRequest, type InquiryRequest, type Job, type ListArticlesResponse, type MemoryConfigRequest, type MemorySyncRequest, MindGraph, type MindGraphConfig, MindGraphError, type NationProps, type NormativeKind, type ObjectBacking, type OntologicalBaseKind, type OntologyDuplicateAudit, type OntologyObjectType, type OntologyObjectTypeInput, type OntologyPredicateOperator, type OntologyProposal, type OntologyQueryPredicate, type OntologyRelationType, type OntologyRelationTypeInput, type OntologySchema, type OntologySchemaDetail, type OntologyToolDescriptor, type OrganizationProps, type Participant, type ParticipantSlotKind, type PathStep, type PersonProps, type PlaceProps, type PlanRequest, type ProcedureRequest, type ProposalEdits, type PurgeRequest, type RankedClaimHub, type RelatedDomainObjectsRequest, type RelationBacking, type RetrieveContextRequest, type RetrieveContextResponse, type RetrieveRequest, type RiskRequest, type SearchChunk, type SearchResult, type SemanticDependence, type SemanticEvidenceRef, type SemanticEvidenceSourceKind, type SemanticGeneratorRef, type SemanticIdentityMode, type SemanticMatch, type SemanticMatchAlternative, type SemanticMatchStatus, type SemanticModifier, type SemanticModifierMatch, type SemanticNegativeControl, type SemanticParticipantSlot, type SemanticRelationKind, type SemanticReviewDecision, type SemanticRigidity, type SemanticRuntimeTemplate, type SemanticSignal, type SemanticSignalKind, type SemanticTemplateRef, type SemanticTemporalMode, type SemanticTenantBindings, type SemanticValidationAuthoringMode, type SemanticValidationMode, type SessionRequest, type SignalsQuery, type SignalsResponse, type SourceChunk, type StructureRequest, type StructuredOntologyQueryRequest, type StructuredOntologyQueryResponse, type SynthesisJobResponse, type TextSelector, type TheorySupportGap, type TraverseRequest, type UpdateOntologySchemaRequest };