@arke-institute/sdk 2.3.7 → 2.3.9

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.
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * Source: Arke v1 API
8
8
  * Version: 1.0.0
9
- * Generated: 2026-01-12T16:14:47.577Z
9
+ * Generated: 2026-01-12T23:27:06.100Z
10
10
  */
11
11
  type paths = {
12
12
  "/auth/register": {
@@ -591,6 +591,110 @@ type paths = {
591
591
  patch?: never;
592
592
  trace?: never;
593
593
  };
594
+ "/users/me/search": {
595
+ parameters: {
596
+ query?: never;
597
+ header?: never;
598
+ path?: never;
599
+ cookie?: never;
600
+ };
601
+ get?: never;
602
+ put?: never;
603
+ /**
604
+ * Search across user collections
605
+ * @description Performs semantic search across all collections the authenticated user has access to.
606
+ *
607
+ * ## Features
608
+ * - Searches all user's collections in parallel (up to 25)
609
+ * - Optionally includes public-domain entities
610
+ * - Filter by entity type or collection role
611
+ * - Results ranked by semantic relevance
612
+ *
613
+ * ## Performance
614
+ * - Collections are queried in parallel for speed
615
+ * - If user has more than 25 collections, queries first 25 (by created_at). Use role filter to narrow down.
616
+ * - Response includes metadata showing collections_queried vs collections_total
617
+ *
618
+ * ## Scoring
619
+ * - Results use cosine similarity scores (0-1)
620
+ * - Scores are comparable across collections
621
+ */
622
+ post: {
623
+ parameters: {
624
+ query?: never;
625
+ header?: never;
626
+ path?: never;
627
+ cookie?: never;
628
+ };
629
+ requestBody?: {
630
+ content: {
631
+ "application/json": components["schemas"]["CrossCollectionSearchRequest"];
632
+ };
633
+ };
634
+ responses: {
635
+ /** @description Search results */
636
+ 200: {
637
+ headers: {
638
+ [name: string]: unknown;
639
+ };
640
+ content: {
641
+ "application/json": components["schemas"]["CrossCollectionSearchResponse"];
642
+ };
643
+ };
644
+ /** @description Bad Request - Invalid input */
645
+ 400: {
646
+ headers: {
647
+ [name: string]: unknown;
648
+ };
649
+ content: {
650
+ /**
651
+ * @example {
652
+ * "error": "Validation failed",
653
+ * "details": {
654
+ * "issues": [
655
+ * {
656
+ * "path": [
657
+ * "properties",
658
+ * "label"
659
+ * ],
660
+ * "message": "Required"
661
+ * }
662
+ * ]
663
+ * }
664
+ * }
665
+ */
666
+ "application/json": components["schemas"]["ValidationErrorResponse"];
667
+ };
668
+ };
669
+ /** @description Unauthorized - Missing or invalid authentication */
670
+ 401: {
671
+ headers: {
672
+ [name: string]: unknown;
673
+ };
674
+ content: {
675
+ /**
676
+ * @example {
677
+ * "error": "Unauthorized: Missing or invalid authentication token"
678
+ * }
679
+ */
680
+ "application/json": components["schemas"]["ErrorResponse"];
681
+ };
682
+ };
683
+ /** @description Search service unavailable */
684
+ 503: {
685
+ headers: {
686
+ [name: string]: unknown;
687
+ };
688
+ content?: never;
689
+ };
690
+ };
691
+ };
692
+ delete?: never;
693
+ options?: never;
694
+ head?: never;
695
+ patch?: never;
696
+ trace?: never;
697
+ };
594
698
  "/collections": {
595
699
  parameters: {
596
700
  query?: never;
@@ -2295,6 +2399,91 @@ type paths = {
2295
2399
  patch?: never;
2296
2400
  trace?: never;
2297
2401
  };
2402
+ "/entities/{id}/tree": {
2403
+ parameters: {
2404
+ query?: never;
2405
+ header?: never;
2406
+ path?: never;
2407
+ cookie?: never;
2408
+ };
2409
+ /**
2410
+ * Get entity tree
2411
+ * @description Returns a hierarchical tree of entities reachable from the source entity.
2412
+ *
2413
+ * Use this to browse collections and folders without making multiple API calls.
2414
+ * The tree follows relationship edges (optionally filtered by predicate) and
2415
+ * returns a nested structure suitable for tree UI rendering.
2416
+ *
2417
+ * Query parameters:
2418
+ * - `depth`: Max tree depth (1-4, default 2)
2419
+ * - `collection`: Constrain to entities in this collection
2420
+ * - `predicates`: Comma-separated predicates to follow (e.g., "contains")
2421
+ * - `limit`: Max nodes to return (default 100)
2422
+ */
2423
+ get: {
2424
+ parameters: {
2425
+ query?: {
2426
+ depth?: number;
2427
+ collection?: string;
2428
+ predicates?: string;
2429
+ limit?: number;
2430
+ };
2431
+ header?: never;
2432
+ path: {
2433
+ /** @description Entity ID (ULID) */
2434
+ id: string;
2435
+ };
2436
+ cookie?: never;
2437
+ };
2438
+ requestBody?: never;
2439
+ responses: {
2440
+ /** @description Tree retrieved */
2441
+ 200: {
2442
+ headers: {
2443
+ [name: string]: unknown;
2444
+ };
2445
+ content: {
2446
+ "application/json": components["schemas"]["TreeResponse"];
2447
+ };
2448
+ };
2449
+ /** @description Forbidden - Insufficient permissions */
2450
+ 403: {
2451
+ headers: {
2452
+ [name: string]: unknown;
2453
+ };
2454
+ content: {
2455
+ /**
2456
+ * @example {
2457
+ * "error": "Forbidden: You do not have permission to perform this action"
2458
+ * }
2459
+ */
2460
+ "application/json": components["schemas"]["ErrorResponse"];
2461
+ };
2462
+ };
2463
+ /** @description Not Found - Resource does not exist */
2464
+ 404: {
2465
+ headers: {
2466
+ [name: string]: unknown;
2467
+ };
2468
+ content: {
2469
+ /**
2470
+ * @example {
2471
+ * "error": "Entity not found"
2472
+ * }
2473
+ */
2474
+ "application/json": components["schemas"]["ErrorResponse"];
2475
+ };
2476
+ };
2477
+ };
2478
+ };
2479
+ put?: never;
2480
+ post?: never;
2481
+ delete?: never;
2482
+ options?: never;
2483
+ head?: never;
2484
+ patch?: never;
2485
+ trace?: never;
2486
+ };
2298
2487
  "/relationships": {
2299
2488
  parameters: {
2300
2489
  query?: never;
@@ -5734,6 +5923,285 @@ type paths = {
5734
5923
  patch?: never;
5735
5924
  trace?: never;
5736
5925
  };
5926
+ "/search/similar/collections": {
5927
+ parameters: {
5928
+ query?: never;
5929
+ header?: never;
5930
+ path?: never;
5931
+ cookie?: never;
5932
+ };
5933
+ get?: never;
5934
+ put?: never;
5935
+ /**
5936
+ * Find similar collections
5937
+ * @description Find collections that are semantically similar to a given collection.
5938
+ *
5939
+ * Uses the collection's weighted centroid vector (combination of description and entity embeddings) to find related collections.
5940
+ */
5941
+ post: {
5942
+ parameters: {
5943
+ query?: never;
5944
+ header?: never;
5945
+ path?: never;
5946
+ cookie?: never;
5947
+ };
5948
+ requestBody?: {
5949
+ content: {
5950
+ "application/json": {
5951
+ /** @description Collection PI to find similar collections for */
5952
+ pi: string;
5953
+ /**
5954
+ * @description Maximum results to return
5955
+ * @default 10
5956
+ */
5957
+ limit?: number;
5958
+ /**
5959
+ * @description Force fresh query, bypassing cache
5960
+ * @default false
5961
+ */
5962
+ refresh?: boolean;
5963
+ };
5964
+ };
5965
+ };
5966
+ responses: {
5967
+ /** @description Similar collections found */
5968
+ 200: {
5969
+ headers: {
5970
+ [name: string]: unknown;
5971
+ };
5972
+ content: {
5973
+ "application/json": {
5974
+ results: {
5975
+ pi: string;
5976
+ label: string;
5977
+ score: number;
5978
+ created_at?: string;
5979
+ updated_at?: string;
5980
+ }[];
5981
+ metadata: {
5982
+ source_pi: string;
5983
+ result_count: number;
5984
+ cached?: boolean;
5985
+ cached_at?: string;
5986
+ };
5987
+ };
5988
+ };
5989
+ };
5990
+ /** @description Bad Request - Invalid input */
5991
+ 400: {
5992
+ headers: {
5993
+ [name: string]: unknown;
5994
+ };
5995
+ content: {
5996
+ /**
5997
+ * @example {
5998
+ * "error": "Validation failed",
5999
+ * "details": {
6000
+ * "issues": [
6001
+ * {
6002
+ * "path": [
6003
+ * "properties",
6004
+ * "label"
6005
+ * ],
6006
+ * "message": "Required"
6007
+ * }
6008
+ * ]
6009
+ * }
6010
+ * }
6011
+ */
6012
+ "application/json": components["schemas"]["ValidationErrorResponse"];
6013
+ };
6014
+ };
6015
+ /** @description Not Found - Resource does not exist */
6016
+ 404: {
6017
+ headers: {
6018
+ [name: string]: unknown;
6019
+ };
6020
+ content: {
6021
+ /**
6022
+ * @example {
6023
+ * "error": "Entity not found"
6024
+ * }
6025
+ */
6026
+ "application/json": components["schemas"]["ErrorResponse"];
6027
+ };
6028
+ };
6029
+ /** @description Service Unavailable - External service not available */
6030
+ 503: {
6031
+ headers: {
6032
+ [name: string]: unknown;
6033
+ };
6034
+ content: {
6035
+ /**
6036
+ * @example {
6037
+ * "error": "Service unavailable",
6038
+ * "details": {
6039
+ * "service": "pinecone"
6040
+ * }
6041
+ * }
6042
+ */
6043
+ "application/json": components["schemas"]["ErrorResponse"];
6044
+ };
6045
+ };
6046
+ };
6047
+ };
6048
+ delete?: never;
6049
+ options?: never;
6050
+ head?: never;
6051
+ patch?: never;
6052
+ trace?: never;
6053
+ };
6054
+ "/search/similar/items": {
6055
+ parameters: {
6056
+ query?: never;
6057
+ header?: never;
6058
+ path?: never;
6059
+ cookie?: never;
6060
+ };
6061
+ get?: never;
6062
+ put?: never;
6063
+ /**
6064
+ * Find similar items across collections
6065
+ * @description Find entities that are semantically similar to a given entity, searching across multiple collections.
6066
+ *
6067
+ * This performs a two-tier search:
6068
+ * 1. First finds collections similar to the entity's collection
6069
+ * 2. Then searches within each collection for similar items
6070
+ * 3. Aggregates and ranks results with diversity weighting
6071
+ */
6072
+ post: {
6073
+ parameters: {
6074
+ query?: never;
6075
+ header?: never;
6076
+ path?: never;
6077
+ cookie?: never;
6078
+ };
6079
+ requestBody?: {
6080
+ content: {
6081
+ "application/json": {
6082
+ /** @description Entity PI to find similar items for */
6083
+ pi: string;
6084
+ /** @description Entity's collection PI */
6085
+ collection_pi: string;
6086
+ /**
6087
+ * @description Maximum results to return
6088
+ * @default 20
6089
+ */
6090
+ limit?: number;
6091
+ /**
6092
+ * @description Number of similar collections to search
6093
+ * @default 10
6094
+ */
6095
+ tier1_limit?: number;
6096
+ /**
6097
+ * @description Items to fetch per collection
6098
+ * @default 5
6099
+ */
6100
+ tier2_limit?: number;
6101
+ /**
6102
+ * @description Include results from the same collection
6103
+ * @default true
6104
+ */
6105
+ include_same_collection?: boolean;
6106
+ /**
6107
+ * @description Force fresh query, bypassing cache
6108
+ * @default false
6109
+ */
6110
+ refresh?: boolean;
6111
+ };
6112
+ };
6113
+ };
6114
+ responses: {
6115
+ /** @description Similar items found */
6116
+ 200: {
6117
+ headers: {
6118
+ [name: string]: unknown;
6119
+ };
6120
+ content: {
6121
+ "application/json": {
6122
+ results: {
6123
+ pi: string;
6124
+ type: string;
6125
+ label: string;
6126
+ collection_pi: string | null;
6127
+ score: number;
6128
+ created_at?: string;
6129
+ updated_at?: string;
6130
+ }[];
6131
+ metadata: {
6132
+ source_pi: string;
6133
+ collections_searched: number;
6134
+ result_count: number;
6135
+ cached?: boolean;
6136
+ cached_at?: string;
6137
+ };
6138
+ };
6139
+ };
6140
+ };
6141
+ /** @description Bad Request - Invalid input */
6142
+ 400: {
6143
+ headers: {
6144
+ [name: string]: unknown;
6145
+ };
6146
+ content: {
6147
+ /**
6148
+ * @example {
6149
+ * "error": "Validation failed",
6150
+ * "details": {
6151
+ * "issues": [
6152
+ * {
6153
+ * "path": [
6154
+ * "properties",
6155
+ * "label"
6156
+ * ],
6157
+ * "message": "Required"
6158
+ * }
6159
+ * ]
6160
+ * }
6161
+ * }
6162
+ */
6163
+ "application/json": components["schemas"]["ValidationErrorResponse"];
6164
+ };
6165
+ };
6166
+ /** @description Not Found - Resource does not exist */
6167
+ 404: {
6168
+ headers: {
6169
+ [name: string]: unknown;
6170
+ };
6171
+ content: {
6172
+ /**
6173
+ * @example {
6174
+ * "error": "Entity not found"
6175
+ * }
6176
+ */
6177
+ "application/json": components["schemas"]["ErrorResponse"];
6178
+ };
6179
+ };
6180
+ /** @description Service Unavailable - External service not available */
6181
+ 503: {
6182
+ headers: {
6183
+ [name: string]: unknown;
6184
+ };
6185
+ content: {
6186
+ /**
6187
+ * @example {
6188
+ * "error": "Service unavailable",
6189
+ * "details": {
6190
+ * "service": "pinecone"
6191
+ * }
6192
+ * }
6193
+ */
6194
+ "application/json": components["schemas"]["ErrorResponse"];
6195
+ };
6196
+ };
6197
+ };
6198
+ };
6199
+ delete?: never;
6200
+ options?: never;
6201
+ head?: never;
6202
+ patch?: never;
6203
+ trace?: never;
6204
+ };
5737
6205
  "/entities/{id}/attestation": {
5738
6206
  parameters: {
5739
6207
  query?: never;
@@ -6254,6 +6722,93 @@ type components = {
6254
6722
  has_more: boolean;
6255
6723
  };
6256
6724
  };
6725
+ SearchResultItem: {
6726
+ /**
6727
+ * @description Entity persistent identifier
6728
+ * @example 01KDETYWYWM0MJVKM8DK3AEXPY
6729
+ */
6730
+ pi: string;
6731
+ /**
6732
+ * @description Entity type
6733
+ * @example file
6734
+ */
6735
+ type: string;
6736
+ /**
6737
+ * @description Entity label/name
6738
+ * @example Research Paper.pdf
6739
+ */
6740
+ label: string;
6741
+ /**
6742
+ * @description Collection this entity belongs to (null for public-domain)
6743
+ * @example 01JCOLLECTION123456789AB
6744
+ */
6745
+ collection_pi: string | null;
6746
+ /**
6747
+ * @description Relevance score (0-1, higher is better)
6748
+ * @example 0.87
6749
+ */
6750
+ score: number;
6751
+ /**
6752
+ * @description When the entity was created
6753
+ * @example 2026-01-12T00:00:00.000Z
6754
+ */
6755
+ created_at?: string;
6756
+ /**
6757
+ * @description When the entity was last updated
6758
+ * @example 2026-01-12T10:30:00.000Z
6759
+ */
6760
+ updated_at?: string;
6761
+ };
6762
+ /** @description Search metadata and statistics */
6763
+ SearchMetadata: {
6764
+ /** @description Original search query */
6765
+ query: string;
6766
+ /** @description Number of collections searched */
6767
+ collections_queried: number;
6768
+ /** @description Total collections user has access to */
6769
+ collections_total: number;
6770
+ /** @description Whether public-domain was included */
6771
+ include_public: boolean;
6772
+ /** @description Total execution time in milliseconds */
6773
+ execution_time_ms: number;
6774
+ /** @description Number of results returned */
6775
+ result_count: number;
6776
+ };
6777
+ CrossCollectionSearchResponse: {
6778
+ /** @description Search results ranked by relevance */
6779
+ results: components["schemas"]["SearchResultItem"][];
6780
+ metadata: components["schemas"]["SearchMetadata"];
6781
+ };
6782
+ CrossCollectionSearchRequest: {
6783
+ /**
6784
+ * @description Search query text for semantic matching
6785
+ * @example medical research
6786
+ */
6787
+ query: string;
6788
+ /**
6789
+ * @description Filter results to specific entity type
6790
+ * @example file
6791
+ */
6792
+ type?: string;
6793
+ /**
6794
+ * @description Filter collections by user role (only search collections where user has this role)
6795
+ * @example owner
6796
+ * @enum {string}
6797
+ */
6798
+ role?: "owner" | "editor" | "viewer";
6799
+ /**
6800
+ * @description Include results from public-domain namespace (default: false)
6801
+ * @default false
6802
+ * @example false
6803
+ */
6804
+ include_public: boolean;
6805
+ /**
6806
+ * @description Maximum number of results to return (default: 20, max: 100)
6807
+ * @default 20
6808
+ * @example 50
6809
+ */
6810
+ limit: number;
6811
+ };
6257
6812
  CollectionResponse: components["schemas"]["EntityResponse"] & {
6258
6813
  /** @enum {string} */
6259
6814
  type?: "collection";
@@ -6906,6 +7461,29 @@ type components = {
6906
7461
  */
6907
7462
  collection_id: string | null;
6908
7463
  };
7464
+ /** @description Root node with nested children */
7465
+ TreeNode: {
7466
+ /**
7467
+ * @description Entity ID (ULID format)
7468
+ * @example 01KDETYWYWM0MJVKM8DK3AEXPY
7469
+ */
7470
+ pi: string;
7471
+ /** @description Entity label */
7472
+ label: string;
7473
+ /** @description Entity type */
7474
+ type: string;
7475
+ /** @description Depth in tree (0 = root) */
7476
+ depth: number;
7477
+ /** @description Child nodes (recursive TreeNode array) */
7478
+ children: components["schemas"]["TreeNode"][];
7479
+ };
7480
+ TreeResponse: {
7481
+ root: components["schemas"]["TreeNode"];
7482
+ /** @description Total number of nodes in the tree */
7483
+ total_nodes: number;
7484
+ /** @description Whether results were truncated due to limit */
7485
+ truncated: boolean;
7486
+ };
6909
7487
  AddRelationshipResponse: {
6910
7488
  source: components["schemas"]["EntityResponse"] & unknown;
6911
7489
  target?: components["schemas"]["EntityResponse"] & unknown;
@@ -7128,9 +7706,14 @@ type components = {
7128
7706
  */
7129
7707
  size: number;
7130
7708
  /**
7131
- * @description Description of the file
7709
+ * @description Display label for the file. Defaults to filename if not provided.
7132
7710
  * @example Q4 Financial Report
7133
7711
  */
7712
+ label?: string;
7713
+ /**
7714
+ * @description Description of the file
7715
+ * @example Quarterly financial report for Q4 2024
7716
+ */
7134
7717
  description?: string;
7135
7718
  /**
7136
7719
  * @description Additional properties to store
@@ -7254,6 +7837,8 @@ type components = {
7254
7837
  content_type?: string;
7255
7838
  /** @description New file size in bytes */
7256
7839
  size?: number;
7840
+ /** @description New display label */
7841
+ label?: string;
7257
7842
  /** @description New description */
7258
7843
  description?: string;
7259
7844
  };
@@ -7292,6 +7877,8 @@ type components = {
7292
7877
  size: number;
7293
7878
  /** @description New filename (optional, keeps current if not provided) */
7294
7879
  filename?: string;
7880
+ /** @description New display label (optional, keeps current if not provided) */
7881
+ label?: string;
7295
7882
  /** @description New description */
7296
7883
  description?: string;
7297
7884
  };