@arke-institute/sdk 3.6.13 → 3.6.14

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-02-16T23:50:23.346Z
9
+ * Generated: 2026-02-20T03:10:32.965Z
10
10
  */
11
11
  type paths = {
12
12
  "/ops-reference": {
@@ -1037,6 +1037,88 @@ type paths = {
1037
1037
  patch?: never;
1038
1038
  trace?: never;
1039
1039
  };
1040
+ "/collections/catalog": {
1041
+ parameters: {
1042
+ query?: never;
1043
+ header?: never;
1044
+ path?: never;
1045
+ cookie?: never;
1046
+ };
1047
+ /**
1048
+ * List all collections for catalog/sitemap
1049
+ * @description Returns a paginated list of all collection IDs and their last update times.
1050
+ *
1051
+ * This endpoint is designed for sitemap generation and discovery services. It returns minimal data (just IDs and timestamps) for efficiency.
1052
+ *
1053
+ * **Lazy Population:** The catalog is populated as collections are created or updated. Newly created collections may take a moment to appear.
1054
+ *
1055
+ * **No Authentication Required:** This endpoint is public to allow crawlers and discovery services to access it.
1056
+ *
1057
+ * ---
1058
+ * **Permission:** `catalog:list`
1059
+ * **Auth:** none
1060
+ */
1061
+ get: {
1062
+ parameters: {
1063
+ query?: {
1064
+ limit?: number;
1065
+ offset?: number | null;
1066
+ };
1067
+ header?: never;
1068
+ path?: never;
1069
+ cookie?: never;
1070
+ };
1071
+ requestBody?: never;
1072
+ responses: {
1073
+ /** @description Paginated list of collections */
1074
+ 200: {
1075
+ headers: {
1076
+ [name: string]: unknown;
1077
+ };
1078
+ content: {
1079
+ "application/json": {
1080
+ data: {
1081
+ /**
1082
+ * @description Collection ID (PI)
1083
+ * @example 01JEXAMPLE...
1084
+ */
1085
+ id: string;
1086
+ /**
1087
+ * @description ISO timestamp of last update
1088
+ * @example 2026-02-17T12:00:00Z
1089
+ */
1090
+ updated_at: string;
1091
+ }[];
1092
+ pagination: {
1093
+ /** @description Total number of collections in catalog */
1094
+ total: number;
1095
+ /** @description Requested limit */
1096
+ limit: number;
1097
+ /** @description Current offset */
1098
+ offset: number;
1099
+ /** @description Whether more results are available */
1100
+ has_more: boolean;
1101
+ };
1102
+ };
1103
+ };
1104
+ };
1105
+ /** @description Collections catalog service unavailable */
1106
+ 503: {
1107
+ headers: {
1108
+ [name: string]: unknown;
1109
+ };
1110
+ content?: never;
1111
+ };
1112
+ };
1113
+ };
1114
+ put?: never;
1115
+ post?: never;
1116
+ delete?: never;
1117
+ options?: never;
1118
+ head?: never;
1119
+ patch?: never;
1120
+ trace?: never;
1121
+ };
1040
1122
  "/collections/{id}": {
1041
1123
  parameters: {
1042
1124
  query?: never;
@@ -2194,26 +2276,35 @@ type paths = {
2194
2276
  cookie?: never;
2195
2277
  };
2196
2278
  /**
2197
- * Search entities by keyword
2198
- * @description Fast (~5ms) keyword search within entity labels in this collection.
2279
+ * Search entities by keyword or similarity
2280
+ * @description Search within a collection's entities using keyword matching or semantic similarity.
2281
+ *
2282
+ * **Keyword Search (q parameter):**
2283
+ * - Fast (~5ms) using per-collection SQLite index
2284
+ * - Case-insensitive substring match on entity labels
2285
+ *
2286
+ * **Semantic Similarity Search (similar_to parameter):**
2287
+ * - Finds entities semantically similar to the given entity ID
2288
+ * - Uses Pinecone vector similarity
2289
+ * - Returns results with similarity scores
2199
2290
  *
2200
- * Uses a per-collection SQLite index for instant substring matching. Complements semantic search for quick keyword lookups.
2291
+ * One of `q` or `similar_to` must be provided.
2201
2292
  *
2202
2293
  * **Query Parameters:**
2203
- * - `q`: Search query (required, case-insensitive substring match)
2294
+ * - `q`: Search query (case-insensitive substring match)
2295
+ * - `similar_to`: Entity ID to find similar items for
2204
2296
  * - `type`: Filter by entity type
2205
2297
  * - `limit`: Maximum results (default: 100, max: 1000)
2206
2298
  *
2207
- * **Note:** This is a simple substring match, not semantic search. Use /query for AI-powered semantic search.
2208
- *
2209
2299
  * ---
2210
2300
  * **Permission:** `collection:view`
2211
2301
  * **Auth:** optional
2212
2302
  */
2213
2303
  get: {
2214
2304
  parameters: {
2215
- query: {
2216
- q: string;
2305
+ query?: {
2306
+ q?: string;
2307
+ similar_to?: string;
2217
2308
  type?: string;
2218
2309
  limit?: number;
2219
2310
  };
@@ -3930,7 +4021,7 @@ type paths = {
3930
4021
  * - Creates a new entity version on each upload
3931
4022
  *
3932
4023
  * **Storage:**
3933
- * Content is stored at `{entity_id}/{key}` in R2, enabling multiple versions per entity.
4024
+ * Content is stored at `{entity_id}/{cid}` in R2, enabling multiple versions per entity without overwriting.
3934
4025
  *
3935
4026
  * ---
3936
4027
  * **Permission:** `entity:update`
@@ -4626,6 +4717,76 @@ type paths = {
4626
4717
  patch?: never;
4627
4718
  trace?: never;
4628
4719
  };
4720
+ "/updates/queue/{id}": {
4721
+ parameters: {
4722
+ query?: never;
4723
+ header?: never;
4724
+ path?: never;
4725
+ cookie?: never;
4726
+ };
4727
+ /**
4728
+ * Get update queue status for entity
4729
+ * @description Returns the status of the additive update queue for a specific entity.
4730
+ *
4731
+ * **Use Cases:**
4732
+ * - Diagnose why additive updates may not have been applied
4733
+ * - Check for pending, processing, or failed updates
4734
+ * - Monitor queue processing progress
4735
+ *
4736
+ * **Response includes:**
4737
+ * - Counts by status (pending, processing, failed)
4738
+ * - Detailed items with actor, relationships count, error messages, attempts
4739
+ *
4740
+ *
4741
+ * ---
4742
+ * **Permission:** `entity:view`
4743
+ * **Auth:** required
4744
+ */
4745
+ get: {
4746
+ parameters: {
4747
+ query?: never;
4748
+ header?: never;
4749
+ path: {
4750
+ /** @description Entity ID (ULID) */
4751
+ id: string;
4752
+ };
4753
+ cookie?: never;
4754
+ };
4755
+ requestBody?: never;
4756
+ responses: {
4757
+ /** @description Queue status retrieved */
4758
+ 200: {
4759
+ headers: {
4760
+ [name: string]: unknown;
4761
+ };
4762
+ content: {
4763
+ "application/json": components["schemas"]["QueueStatusResponse"];
4764
+ };
4765
+ };
4766
+ /** @description Unauthorized - Missing or invalid authentication */
4767
+ 401: {
4768
+ headers: {
4769
+ [name: string]: unknown;
4770
+ };
4771
+ content: {
4772
+ /**
4773
+ * @example {
4774
+ * "error": "Unauthorized: Missing or invalid authentication token"
4775
+ * }
4776
+ */
4777
+ "application/json": components["schemas"]["ErrorResponse"];
4778
+ };
4779
+ };
4780
+ };
4781
+ };
4782
+ put?: never;
4783
+ post?: never;
4784
+ delete?: never;
4785
+ options?: never;
4786
+ head?: never;
4787
+ patch?: never;
4788
+ trace?: never;
4789
+ };
4629
4790
  "/updates/additive": {
4630
4791
  parameters: {
4631
4792
  query?: never;
@@ -9698,13 +9859,22 @@ type components = {
9698
9859
  /** @description Number of entities returned */
9699
9860
  count: number;
9700
9861
  };
9862
+ CollectionEntitySearchResult: components["schemas"]["EntityIndexEntry"] & {
9863
+ /**
9864
+ * @description Similarity score (only present for semantic search via similar_to)
9865
+ * @example 0.87
9866
+ */
9867
+ score?: number;
9868
+ };
9701
9869
  CollectionEntitySearchResponse: {
9702
9870
  /** @description Collection ID */
9703
9871
  collection_id: string;
9704
- /** @description Original search query */
9705
- query: string;
9872
+ /** @description Original search query (for keyword search) */
9873
+ query?: string;
9874
+ /** @description Source entity ID (for similarity search) */
9875
+ similar_to?: string;
9706
9876
  /** @description Matching entities */
9707
- entities: components["schemas"]["EntityIndexEntry"][];
9877
+ entities: components["schemas"]["CollectionEntitySearchResult"][];
9708
9878
  /** @description Number of entities returned */
9709
9879
  count: number;
9710
9880
  };
@@ -10604,6 +10774,85 @@ type components = {
10604
10774
  */
10605
10775
  expect_tip: string;
10606
10776
  };
10777
+ QueueItem: {
10778
+ /**
10779
+ * @description Queue item ID
10780
+ * @example 1
10781
+ */
10782
+ id: number;
10783
+ /**
10784
+ * @description Actor who queued the update
10785
+ * @example 01KDETYWYWM0MJVKM8DK3AEXPY
10786
+ */
10787
+ actor_id: string;
10788
+ /**
10789
+ * @description Current status of the queue item
10790
+ * @example pending
10791
+ * @enum {string}
10792
+ */
10793
+ status: "pending" | "processing" | "failed" | "completed";
10794
+ /**
10795
+ * @description Number of relationships in this update
10796
+ * @example 5
10797
+ */
10798
+ relationships_count: number;
10799
+ /**
10800
+ * @description Summary of relationships (predicate + peer)
10801
+ * @example [
10802
+ * {
10803
+ * "predicate": "sent_to",
10804
+ * "peer": "01KDETYWYWM0MJVKM8DK3AEXPY"
10805
+ * }
10806
+ * ]
10807
+ */
10808
+ relationships_summary: {
10809
+ predicate: string;
10810
+ peer: string;
10811
+ }[];
10812
+ /**
10813
+ * @description Top-level property keys being updated
10814
+ * @example [
10815
+ * "extracted",
10816
+ * "metadata"
10817
+ * ]
10818
+ */
10819
+ properties_keys: string[];
10820
+ /**
10821
+ * @description Optional note for the update
10822
+ * @example Extracted by kg-dedupe-resolver
10823
+ */
10824
+ note: string | null;
10825
+ /**
10826
+ * @description Error message if failed
10827
+ * @example CAS conflict after 20 attempts
10828
+ */
10829
+ error: string | null;
10830
+ /**
10831
+ * @description Number of processing attempts
10832
+ * @example 3
10833
+ */
10834
+ attempts: number;
10835
+ /**
10836
+ * @description ISO timestamp when queued
10837
+ * @example 2024-01-15T10:30:00.000Z
10838
+ */
10839
+ queued_at: string;
10840
+ };
10841
+ QueueStatusResponse: {
10842
+ /**
10843
+ * @description Entity ID (ULID format)
10844
+ * @example 01KDETYWYWM0MJVKM8DK3AEXPY
10845
+ */
10846
+ entity_id: string;
10847
+ /** @description Count of items by status */
10848
+ counts: {
10849
+ pending: number;
10850
+ processing: number;
10851
+ failed: number;
10852
+ };
10853
+ /** @description Detailed queue items (most recent first, max 100) */
10854
+ items: components["schemas"]["QueueItem"][];
10855
+ };
10607
10856
  QueuedUpdateInfo: {
10608
10857
  /**
10609
10858
  * @description Entity ID (ULID format)
@@ -11619,6 +11868,20 @@ type components = {
11619
11868
  /** @description Target step name if condition matches */
11620
11869
  target: string;
11621
11870
  }[];
11871
+ } | {
11872
+ /** @description Target step name for bounded recursion */
11873
+ recurse: string;
11874
+ /**
11875
+ * @description Maximum recursion depth (default: 10)
11876
+ * @example 10
11877
+ */
11878
+ max_depth?: number;
11879
+ /** @description Conditional routing rules */
11880
+ route?: {
11881
+ where: components["schemas"]["WhereCondition"];
11882
+ /** @description Target step name if condition matches */
11883
+ target: string;
11884
+ }[];
11622
11885
  };
11623
11886
  };
11624
11887
  };
@@ -11807,6 +12070,20 @@ type components = {
11807
12070
  /** @description Target step name if condition matches */
11808
12071
  target: string;
11809
12072
  }[];
12073
+ } | {
12074
+ /** @description Target step name for bounded recursion */
12075
+ recurse: string;
12076
+ /**
12077
+ * @description Maximum recursion depth (default: 10)
12078
+ * @example 10
12079
+ */
12080
+ max_depth?: number;
12081
+ /** @description Conditional routing rules */
12082
+ route?: {
12083
+ where: components["schemas"]["WhereCondition"];
12084
+ /** @description Target step name if condition matches */
12085
+ target: string;
12086
+ }[];
11810
12087
  };
11811
12088
  };
11812
12089
  };
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * Source: Arke v1 API
8
8
  * Version: 1.0.0
9
- * Generated: 2026-02-16T23:50:23.346Z
9
+ * Generated: 2026-02-20T03:10:32.965Z
10
10
  */
11
11
  type paths = {
12
12
  "/ops-reference": {
@@ -1037,6 +1037,88 @@ type paths = {
1037
1037
  patch?: never;
1038
1038
  trace?: never;
1039
1039
  };
1040
+ "/collections/catalog": {
1041
+ parameters: {
1042
+ query?: never;
1043
+ header?: never;
1044
+ path?: never;
1045
+ cookie?: never;
1046
+ };
1047
+ /**
1048
+ * List all collections for catalog/sitemap
1049
+ * @description Returns a paginated list of all collection IDs and their last update times.
1050
+ *
1051
+ * This endpoint is designed for sitemap generation and discovery services. It returns minimal data (just IDs and timestamps) for efficiency.
1052
+ *
1053
+ * **Lazy Population:** The catalog is populated as collections are created or updated. Newly created collections may take a moment to appear.
1054
+ *
1055
+ * **No Authentication Required:** This endpoint is public to allow crawlers and discovery services to access it.
1056
+ *
1057
+ * ---
1058
+ * **Permission:** `catalog:list`
1059
+ * **Auth:** none
1060
+ */
1061
+ get: {
1062
+ parameters: {
1063
+ query?: {
1064
+ limit?: number;
1065
+ offset?: number | null;
1066
+ };
1067
+ header?: never;
1068
+ path?: never;
1069
+ cookie?: never;
1070
+ };
1071
+ requestBody?: never;
1072
+ responses: {
1073
+ /** @description Paginated list of collections */
1074
+ 200: {
1075
+ headers: {
1076
+ [name: string]: unknown;
1077
+ };
1078
+ content: {
1079
+ "application/json": {
1080
+ data: {
1081
+ /**
1082
+ * @description Collection ID (PI)
1083
+ * @example 01JEXAMPLE...
1084
+ */
1085
+ id: string;
1086
+ /**
1087
+ * @description ISO timestamp of last update
1088
+ * @example 2026-02-17T12:00:00Z
1089
+ */
1090
+ updated_at: string;
1091
+ }[];
1092
+ pagination: {
1093
+ /** @description Total number of collections in catalog */
1094
+ total: number;
1095
+ /** @description Requested limit */
1096
+ limit: number;
1097
+ /** @description Current offset */
1098
+ offset: number;
1099
+ /** @description Whether more results are available */
1100
+ has_more: boolean;
1101
+ };
1102
+ };
1103
+ };
1104
+ };
1105
+ /** @description Collections catalog service unavailable */
1106
+ 503: {
1107
+ headers: {
1108
+ [name: string]: unknown;
1109
+ };
1110
+ content?: never;
1111
+ };
1112
+ };
1113
+ };
1114
+ put?: never;
1115
+ post?: never;
1116
+ delete?: never;
1117
+ options?: never;
1118
+ head?: never;
1119
+ patch?: never;
1120
+ trace?: never;
1121
+ };
1040
1122
  "/collections/{id}": {
1041
1123
  parameters: {
1042
1124
  query?: never;
@@ -2194,26 +2276,35 @@ type paths = {
2194
2276
  cookie?: never;
2195
2277
  };
2196
2278
  /**
2197
- * Search entities by keyword
2198
- * @description Fast (~5ms) keyword search within entity labels in this collection.
2279
+ * Search entities by keyword or similarity
2280
+ * @description Search within a collection's entities using keyword matching or semantic similarity.
2281
+ *
2282
+ * **Keyword Search (q parameter):**
2283
+ * - Fast (~5ms) using per-collection SQLite index
2284
+ * - Case-insensitive substring match on entity labels
2285
+ *
2286
+ * **Semantic Similarity Search (similar_to parameter):**
2287
+ * - Finds entities semantically similar to the given entity ID
2288
+ * - Uses Pinecone vector similarity
2289
+ * - Returns results with similarity scores
2199
2290
  *
2200
- * Uses a per-collection SQLite index for instant substring matching. Complements semantic search for quick keyword lookups.
2291
+ * One of `q` or `similar_to` must be provided.
2201
2292
  *
2202
2293
  * **Query Parameters:**
2203
- * - `q`: Search query (required, case-insensitive substring match)
2294
+ * - `q`: Search query (case-insensitive substring match)
2295
+ * - `similar_to`: Entity ID to find similar items for
2204
2296
  * - `type`: Filter by entity type
2205
2297
  * - `limit`: Maximum results (default: 100, max: 1000)
2206
2298
  *
2207
- * **Note:** This is a simple substring match, not semantic search. Use /query for AI-powered semantic search.
2208
- *
2209
2299
  * ---
2210
2300
  * **Permission:** `collection:view`
2211
2301
  * **Auth:** optional
2212
2302
  */
2213
2303
  get: {
2214
2304
  parameters: {
2215
- query: {
2216
- q: string;
2305
+ query?: {
2306
+ q?: string;
2307
+ similar_to?: string;
2217
2308
  type?: string;
2218
2309
  limit?: number;
2219
2310
  };
@@ -3930,7 +4021,7 @@ type paths = {
3930
4021
  * - Creates a new entity version on each upload
3931
4022
  *
3932
4023
  * **Storage:**
3933
- * Content is stored at `{entity_id}/{key}` in R2, enabling multiple versions per entity.
4024
+ * Content is stored at `{entity_id}/{cid}` in R2, enabling multiple versions per entity without overwriting.
3934
4025
  *
3935
4026
  * ---
3936
4027
  * **Permission:** `entity:update`
@@ -4626,6 +4717,76 @@ type paths = {
4626
4717
  patch?: never;
4627
4718
  trace?: never;
4628
4719
  };
4720
+ "/updates/queue/{id}": {
4721
+ parameters: {
4722
+ query?: never;
4723
+ header?: never;
4724
+ path?: never;
4725
+ cookie?: never;
4726
+ };
4727
+ /**
4728
+ * Get update queue status for entity
4729
+ * @description Returns the status of the additive update queue for a specific entity.
4730
+ *
4731
+ * **Use Cases:**
4732
+ * - Diagnose why additive updates may not have been applied
4733
+ * - Check for pending, processing, or failed updates
4734
+ * - Monitor queue processing progress
4735
+ *
4736
+ * **Response includes:**
4737
+ * - Counts by status (pending, processing, failed)
4738
+ * - Detailed items with actor, relationships count, error messages, attempts
4739
+ *
4740
+ *
4741
+ * ---
4742
+ * **Permission:** `entity:view`
4743
+ * **Auth:** required
4744
+ */
4745
+ get: {
4746
+ parameters: {
4747
+ query?: never;
4748
+ header?: never;
4749
+ path: {
4750
+ /** @description Entity ID (ULID) */
4751
+ id: string;
4752
+ };
4753
+ cookie?: never;
4754
+ };
4755
+ requestBody?: never;
4756
+ responses: {
4757
+ /** @description Queue status retrieved */
4758
+ 200: {
4759
+ headers: {
4760
+ [name: string]: unknown;
4761
+ };
4762
+ content: {
4763
+ "application/json": components["schemas"]["QueueStatusResponse"];
4764
+ };
4765
+ };
4766
+ /** @description Unauthorized - Missing or invalid authentication */
4767
+ 401: {
4768
+ headers: {
4769
+ [name: string]: unknown;
4770
+ };
4771
+ content: {
4772
+ /**
4773
+ * @example {
4774
+ * "error": "Unauthorized: Missing or invalid authentication token"
4775
+ * }
4776
+ */
4777
+ "application/json": components["schemas"]["ErrorResponse"];
4778
+ };
4779
+ };
4780
+ };
4781
+ };
4782
+ put?: never;
4783
+ post?: never;
4784
+ delete?: never;
4785
+ options?: never;
4786
+ head?: never;
4787
+ patch?: never;
4788
+ trace?: never;
4789
+ };
4629
4790
  "/updates/additive": {
4630
4791
  parameters: {
4631
4792
  query?: never;
@@ -9698,13 +9859,22 @@ type components = {
9698
9859
  /** @description Number of entities returned */
9699
9860
  count: number;
9700
9861
  };
9862
+ CollectionEntitySearchResult: components["schemas"]["EntityIndexEntry"] & {
9863
+ /**
9864
+ * @description Similarity score (only present for semantic search via similar_to)
9865
+ * @example 0.87
9866
+ */
9867
+ score?: number;
9868
+ };
9701
9869
  CollectionEntitySearchResponse: {
9702
9870
  /** @description Collection ID */
9703
9871
  collection_id: string;
9704
- /** @description Original search query */
9705
- query: string;
9872
+ /** @description Original search query (for keyword search) */
9873
+ query?: string;
9874
+ /** @description Source entity ID (for similarity search) */
9875
+ similar_to?: string;
9706
9876
  /** @description Matching entities */
9707
- entities: components["schemas"]["EntityIndexEntry"][];
9877
+ entities: components["schemas"]["CollectionEntitySearchResult"][];
9708
9878
  /** @description Number of entities returned */
9709
9879
  count: number;
9710
9880
  };
@@ -10604,6 +10774,85 @@ type components = {
10604
10774
  */
10605
10775
  expect_tip: string;
10606
10776
  };
10777
+ QueueItem: {
10778
+ /**
10779
+ * @description Queue item ID
10780
+ * @example 1
10781
+ */
10782
+ id: number;
10783
+ /**
10784
+ * @description Actor who queued the update
10785
+ * @example 01KDETYWYWM0MJVKM8DK3AEXPY
10786
+ */
10787
+ actor_id: string;
10788
+ /**
10789
+ * @description Current status of the queue item
10790
+ * @example pending
10791
+ * @enum {string}
10792
+ */
10793
+ status: "pending" | "processing" | "failed" | "completed";
10794
+ /**
10795
+ * @description Number of relationships in this update
10796
+ * @example 5
10797
+ */
10798
+ relationships_count: number;
10799
+ /**
10800
+ * @description Summary of relationships (predicate + peer)
10801
+ * @example [
10802
+ * {
10803
+ * "predicate": "sent_to",
10804
+ * "peer": "01KDETYWYWM0MJVKM8DK3AEXPY"
10805
+ * }
10806
+ * ]
10807
+ */
10808
+ relationships_summary: {
10809
+ predicate: string;
10810
+ peer: string;
10811
+ }[];
10812
+ /**
10813
+ * @description Top-level property keys being updated
10814
+ * @example [
10815
+ * "extracted",
10816
+ * "metadata"
10817
+ * ]
10818
+ */
10819
+ properties_keys: string[];
10820
+ /**
10821
+ * @description Optional note for the update
10822
+ * @example Extracted by kg-dedupe-resolver
10823
+ */
10824
+ note: string | null;
10825
+ /**
10826
+ * @description Error message if failed
10827
+ * @example CAS conflict after 20 attempts
10828
+ */
10829
+ error: string | null;
10830
+ /**
10831
+ * @description Number of processing attempts
10832
+ * @example 3
10833
+ */
10834
+ attempts: number;
10835
+ /**
10836
+ * @description ISO timestamp when queued
10837
+ * @example 2024-01-15T10:30:00.000Z
10838
+ */
10839
+ queued_at: string;
10840
+ };
10841
+ QueueStatusResponse: {
10842
+ /**
10843
+ * @description Entity ID (ULID format)
10844
+ * @example 01KDETYWYWM0MJVKM8DK3AEXPY
10845
+ */
10846
+ entity_id: string;
10847
+ /** @description Count of items by status */
10848
+ counts: {
10849
+ pending: number;
10850
+ processing: number;
10851
+ failed: number;
10852
+ };
10853
+ /** @description Detailed queue items (most recent first, max 100) */
10854
+ items: components["schemas"]["QueueItem"][];
10855
+ };
10607
10856
  QueuedUpdateInfo: {
10608
10857
  /**
10609
10858
  * @description Entity ID (ULID format)
@@ -11619,6 +11868,20 @@ type components = {
11619
11868
  /** @description Target step name if condition matches */
11620
11869
  target: string;
11621
11870
  }[];
11871
+ } | {
11872
+ /** @description Target step name for bounded recursion */
11873
+ recurse: string;
11874
+ /**
11875
+ * @description Maximum recursion depth (default: 10)
11876
+ * @example 10
11877
+ */
11878
+ max_depth?: number;
11879
+ /** @description Conditional routing rules */
11880
+ route?: {
11881
+ where: components["schemas"]["WhereCondition"];
11882
+ /** @description Target step name if condition matches */
11883
+ target: string;
11884
+ }[];
11622
11885
  };
11623
11886
  };
11624
11887
  };
@@ -11807,6 +12070,20 @@ type components = {
11807
12070
  /** @description Target step name if condition matches */
11808
12071
  target: string;
11809
12072
  }[];
12073
+ } | {
12074
+ /** @description Target step name for bounded recursion */
12075
+ recurse: string;
12076
+ /**
12077
+ * @description Maximum recursion depth (default: 10)
12078
+ * @example 10
12079
+ */
12080
+ max_depth?: number;
12081
+ /** @description Conditional routing rules */
12082
+ route?: {
12083
+ where: components["schemas"]["WhereCondition"];
12084
+ /** @description Target step name if condition matches */
12085
+ target: string;
12086
+ }[];
11810
12087
  };
11811
12088
  };
11812
12089
  };
package/openapi/spec.json CHANGED
@@ -1023,7 +1023,7 @@
1023
1023
  "query": {
1024
1024
  "type": "string",
1025
1025
  "minLength": 1,
1026
- "maxLength": 500,
1026
+ "maxLength": 10000,
1027
1027
  "description": "Search query text for semantic matching",
1028
1028
  "example": "medical research"
1029
1029
  },
@@ -1995,6 +1995,23 @@
1995
1995
  "count"
1996
1996
  ]
1997
1997
  },
1998
+ "CollectionEntitySearchResult": {
1999
+ "allOf": [
2000
+ {
2001
+ "$ref": "#/components/schemas/EntityIndexEntry"
2002
+ },
2003
+ {
2004
+ "type": "object",
2005
+ "properties": {
2006
+ "score": {
2007
+ "type": "number",
2008
+ "description": "Similarity score (only present for semantic search via similar_to)",
2009
+ "example": 0.87
2010
+ }
2011
+ }
2012
+ }
2013
+ ]
2014
+ },
1998
2015
  "CollectionEntitySearchResponse": {
1999
2016
  "type": "object",
2000
2017
  "properties": {
@@ -2005,12 +2022,17 @@
2005
2022
  },
2006
2023
  "query": {
2007
2024
  "type": "string",
2008
- "description": "Original search query"
2025
+ "description": "Original search query (for keyword search)"
2026
+ },
2027
+ "similar_to": {
2028
+ "type": "string",
2029
+ "pattern": "^(?:II[0-9A-HJKMNP-TV-Z]{24}|[FC][0-9A-HJKMNP-TV-Z]{25}|[0-9A-HJKMNP-TV-Z]{26})$",
2030
+ "description": "Source entity ID (for similarity search)"
2009
2031
  },
2010
2032
  "entities": {
2011
2033
  "type": "array",
2012
2034
  "items": {
2013
- "$ref": "#/components/schemas/EntityIndexEntry"
2035
+ "$ref": "#/components/schemas/CollectionEntitySearchResult"
2014
2036
  },
2015
2037
  "description": "Matching entities"
2016
2038
  },
@@ -2021,7 +2043,6 @@
2021
2043
  },
2022
2044
  "required": [
2023
2045
  "collection_id",
2024
- "query",
2025
2046
  "entities",
2026
2047
  "count"
2027
2048
  ]
@@ -3852,6 +3873,150 @@
3852
3873
  "expect_tip"
3853
3874
  ]
3854
3875
  },
3876
+ "QueueItem": {
3877
+ "type": "object",
3878
+ "properties": {
3879
+ "id": {
3880
+ "type": "integer",
3881
+ "description": "Queue item ID",
3882
+ "example": 1
3883
+ },
3884
+ "actor_id": {
3885
+ "type": "string",
3886
+ "description": "Actor who queued the update",
3887
+ "example": "01KDETYWYWM0MJVKM8DK3AEXPY"
3888
+ },
3889
+ "status": {
3890
+ "type": "string",
3891
+ "enum": [
3892
+ "pending",
3893
+ "processing",
3894
+ "failed",
3895
+ "completed"
3896
+ ],
3897
+ "description": "Current status of the queue item",
3898
+ "example": "pending"
3899
+ },
3900
+ "relationships_count": {
3901
+ "type": "integer",
3902
+ "description": "Number of relationships in this update",
3903
+ "example": 5
3904
+ },
3905
+ "relationships_summary": {
3906
+ "type": "array",
3907
+ "items": {
3908
+ "type": "object",
3909
+ "properties": {
3910
+ "predicate": {
3911
+ "type": "string"
3912
+ },
3913
+ "peer": {
3914
+ "type": "string"
3915
+ }
3916
+ },
3917
+ "required": [
3918
+ "predicate",
3919
+ "peer"
3920
+ ]
3921
+ },
3922
+ "description": "Summary of relationships (predicate + peer)",
3923
+ "example": [
3924
+ {
3925
+ "predicate": "sent_to",
3926
+ "peer": "01KDETYWYWM0MJVKM8DK3AEXPY"
3927
+ }
3928
+ ]
3929
+ },
3930
+ "properties_keys": {
3931
+ "type": "array",
3932
+ "items": {
3933
+ "type": "string"
3934
+ },
3935
+ "description": "Top-level property keys being updated",
3936
+ "example": [
3937
+ "extracted",
3938
+ "metadata"
3939
+ ]
3940
+ },
3941
+ "note": {
3942
+ "type": "string",
3943
+ "nullable": true,
3944
+ "description": "Optional note for the update",
3945
+ "example": "Extracted by kg-dedupe-resolver"
3946
+ },
3947
+ "error": {
3948
+ "type": "string",
3949
+ "nullable": true,
3950
+ "description": "Error message if failed",
3951
+ "example": "CAS conflict after 20 attempts"
3952
+ },
3953
+ "attempts": {
3954
+ "type": "integer",
3955
+ "description": "Number of processing attempts",
3956
+ "example": 3
3957
+ },
3958
+ "queued_at": {
3959
+ "type": "string",
3960
+ "description": "ISO timestamp when queued",
3961
+ "example": "2024-01-15T10:30:00.000Z"
3962
+ }
3963
+ },
3964
+ "required": [
3965
+ "id",
3966
+ "actor_id",
3967
+ "status",
3968
+ "relationships_count",
3969
+ "relationships_summary",
3970
+ "properties_keys",
3971
+ "note",
3972
+ "error",
3973
+ "attempts",
3974
+ "queued_at"
3975
+ ]
3976
+ },
3977
+ "QueueStatusResponse": {
3978
+ "type": "object",
3979
+ "properties": {
3980
+ "entity_id": {
3981
+ "type": "string",
3982
+ "pattern": "^(?:II[0-9A-HJKMNP-TV-Z]{24}|[FC][0-9A-HJKMNP-TV-Z]{25}|[0-9A-HJKMNP-TV-Z]{26})$",
3983
+ "description": "Entity ID (ULID format)",
3984
+ "example": "01KDETYWYWM0MJVKM8DK3AEXPY"
3985
+ },
3986
+ "counts": {
3987
+ "type": "object",
3988
+ "properties": {
3989
+ "pending": {
3990
+ "type": "integer"
3991
+ },
3992
+ "processing": {
3993
+ "type": "integer"
3994
+ },
3995
+ "failed": {
3996
+ "type": "integer"
3997
+ }
3998
+ },
3999
+ "required": [
4000
+ "pending",
4001
+ "processing",
4002
+ "failed"
4003
+ ],
4004
+ "description": "Count of items by status"
4005
+ },
4006
+ "items": {
4007
+ "type": "array",
4008
+ "items": {
4009
+ "$ref": "#/components/schemas/QueueItem"
4010
+ },
4011
+ "description": "Detailed queue items (most recent first, max 100)"
4012
+ }
4013
+ },
4014
+ "required": [
4015
+ "entity_id",
4016
+ "counts",
4017
+ "items"
4018
+ ]
4019
+ },
3855
4020
  "QueuedUpdateInfo": {
3856
4021
  "type": "object",
3857
4022
  "properties": {
@@ -5960,6 +6125,48 @@
5960
6125
  "required": [
5961
6126
  "gather"
5962
6127
  ]
6128
+ },
6129
+ {
6130
+ "type": "object",
6131
+ "properties": {
6132
+ "recurse": {
6133
+ "type": "string",
6134
+ "minLength": 1,
6135
+ "description": "Target step name for bounded recursion"
6136
+ },
6137
+ "max_depth": {
6138
+ "type": "integer",
6139
+ "minimum": 1,
6140
+ "description": "Maximum recursion depth (default: 10)",
6141
+ "example": 10
6142
+ },
6143
+ "route": {
6144
+ "type": "array",
6145
+ "items": {
6146
+ "type": "object",
6147
+ "properties": {
6148
+ "where": {
6149
+ "$ref": "#/components/schemas/WhereCondition"
6150
+ },
6151
+ "target": {
6152
+ "type": "string",
6153
+ "minLength": 1,
6154
+ "description": "Target step name if condition matches"
6155
+ }
6156
+ },
6157
+ "required": [
6158
+ "where",
6159
+ "target"
6160
+ ],
6161
+ "description": "Conditional routing rule. First matching rule wins.",
6162
+ "title": "RouteRule"
6163
+ },
6164
+ "description": "Conditional routing rules"
6165
+ }
6166
+ },
6167
+ "required": [
6168
+ "recurse"
6169
+ ]
5963
6170
  }
5964
6171
  ],
5965
6172
  "description": "What happens after this klados completes",
@@ -6427,6 +6634,48 @@
6427
6634
  "required": [
6428
6635
  "gather"
6429
6636
  ]
6637
+ },
6638
+ {
6639
+ "type": "object",
6640
+ "properties": {
6641
+ "recurse": {
6642
+ "type": "string",
6643
+ "minLength": 1,
6644
+ "description": "Target step name for bounded recursion"
6645
+ },
6646
+ "max_depth": {
6647
+ "type": "integer",
6648
+ "minimum": 1,
6649
+ "description": "Maximum recursion depth (default: 10)",
6650
+ "example": 10
6651
+ },
6652
+ "route": {
6653
+ "type": "array",
6654
+ "items": {
6655
+ "type": "object",
6656
+ "properties": {
6657
+ "where": {
6658
+ "$ref": "#/components/schemas/WhereCondition"
6659
+ },
6660
+ "target": {
6661
+ "type": "string",
6662
+ "minLength": 1,
6663
+ "description": "Target step name if condition matches"
6664
+ }
6665
+ },
6666
+ "required": [
6667
+ "where",
6668
+ "target"
6669
+ ],
6670
+ "description": "Conditional routing rule. First matching rule wins.",
6671
+ "title": "RouteRule"
6672
+ },
6673
+ "description": "Conditional routing rules"
6674
+ }
6675
+ },
6676
+ "required": [
6677
+ "recurse"
6678
+ ]
6430
6679
  }
6431
6680
  ],
6432
6681
  "description": "What happens after this klados completes",
@@ -9277,6 +9526,116 @@
9277
9526
  }
9278
9527
  }
9279
9528
  },
9529
+ "/collections/catalog": {
9530
+ "get": {
9531
+ "tags": [
9532
+ "Collections"
9533
+ ],
9534
+ "summary": "List all collections for catalog/sitemap",
9535
+ "description": "Returns a paginated list of all collection IDs and their last update times.\n\nThis endpoint is designed for sitemap generation and discovery services. It returns minimal data (just IDs and timestamps) for efficiency.\n\n**Lazy Population:** The catalog is populated as collections are created or updated. Newly created collections may take a moment to appear.\n\n**No Authentication Required:** This endpoint is public to allow crawlers and discovery services to access it.\n\n---\n**Permission:** `catalog:list` \n**Auth:** none",
9536
+ "x-arke-action": "catalog:list",
9537
+ "x-arke-auth": "none",
9538
+ "x-arke-tier": "standard",
9539
+ "parameters": [
9540
+ {
9541
+ "schema": {
9542
+ "type": "number",
9543
+ "minimum": 1,
9544
+ "maximum": 1000,
9545
+ "default": 100,
9546
+ "description": "Maximum number of collections to return (1-1000)",
9547
+ "example": 100
9548
+ },
9549
+ "required": false,
9550
+ "name": "limit",
9551
+ "in": "query"
9552
+ },
9553
+ {
9554
+ "schema": {
9555
+ "type": "number",
9556
+ "nullable": true,
9557
+ "minimum": 0,
9558
+ "default": 0,
9559
+ "description": "Number of collections to skip for pagination",
9560
+ "example": 0
9561
+ },
9562
+ "required": false,
9563
+ "name": "offset",
9564
+ "in": "query"
9565
+ }
9566
+ ],
9567
+ "responses": {
9568
+ "200": {
9569
+ "description": "Paginated list of collections",
9570
+ "content": {
9571
+ "application/json": {
9572
+ "schema": {
9573
+ "type": "object",
9574
+ "properties": {
9575
+ "data": {
9576
+ "type": "array",
9577
+ "items": {
9578
+ "type": "object",
9579
+ "properties": {
9580
+ "id": {
9581
+ "type": "string",
9582
+ "description": "Collection ID (PI)",
9583
+ "example": "01JEXAMPLE..."
9584
+ },
9585
+ "updated_at": {
9586
+ "type": "string",
9587
+ "description": "ISO timestamp of last update",
9588
+ "example": "2026-02-17T12:00:00Z"
9589
+ }
9590
+ },
9591
+ "required": [
9592
+ "id",
9593
+ "updated_at"
9594
+ ]
9595
+ }
9596
+ },
9597
+ "pagination": {
9598
+ "type": "object",
9599
+ "properties": {
9600
+ "total": {
9601
+ "type": "number",
9602
+ "description": "Total number of collections in catalog"
9603
+ },
9604
+ "limit": {
9605
+ "type": "number",
9606
+ "description": "Requested limit"
9607
+ },
9608
+ "offset": {
9609
+ "type": "number",
9610
+ "description": "Current offset"
9611
+ },
9612
+ "has_more": {
9613
+ "type": "boolean",
9614
+ "description": "Whether more results are available"
9615
+ }
9616
+ },
9617
+ "required": [
9618
+ "total",
9619
+ "limit",
9620
+ "offset",
9621
+ "has_more"
9622
+ ]
9623
+ }
9624
+ },
9625
+ "required": [
9626
+ "data",
9627
+ "pagination"
9628
+ ]
9629
+ }
9630
+ }
9631
+ }
9632
+ },
9633
+ "503": {
9634
+ "description": "Collections catalog service unavailable"
9635
+ }
9636
+ }
9637
+ }
9638
+ },
9280
9639
  "/collections/{id}": {
9281
9640
  "get": {
9282
9641
  "tags": [
@@ -10328,8 +10687,8 @@
10328
10687
  {
10329
10688
  "schema": {
10330
10689
  "type": "string",
10331
- "description": "JSON-encoded filter for custom properties (underscore-prefixed). Supports direct equality {\"_year\": 1850} or operators {\"_year\": {\"$gte\": 1800}}. Operators: $eq, $ne, $gt, $gte, $lt, $lte.",
10332
- "example": "{\"_year\":{\"$gte\":1800,\"$lte\":1900}}"
10690
+ "description": "JSON-encoded string for filtering by custom properties. Only underscore-prefixed properties (e.g., _year, _kg_layer) are filterable. Pass as URL-encoded JSON: ?filter={\"_kg_layer\":0}. Supports direct equality {\"_year\": 1850} or comparison operators {\"_year\": {\"$gte\": 1800, \"$lte\": 1900}}. Available operators: $eq, $ne, $gt, $gte, $lt, $lte. Multiple properties are AND-combined.",
10691
+ "example": "{\"_kg_layer\":0}"
10333
10692
  },
10334
10693
  "required": false,
10335
10694
  "name": "filter",
@@ -10524,8 +10883,8 @@
10524
10883
  "tags": [
10525
10884
  "Collections"
10526
10885
  ],
10527
- "summary": "Search entities by keyword",
10528
- "description": "Fast (~5ms) keyword search within entity labels in this collection.\n\nUses a per-collection SQLite index for instant substring matching. Complements semantic search for quick keyword lookups.\n\n**Query Parameters:**\n- `q`: Search query (required, case-insensitive substring match)\n- `type`: Filter by entity type\n- `limit`: Maximum results (default: 100, max: 1000)\n\n**Note:** This is a simple substring match, not semantic search. Use /query for AI-powered semantic search.\n\n---\n**Permission:** `collection:view` \n**Auth:** optional",
10886
+ "summary": "Search entities by keyword or similarity",
10887
+ "description": "Search within a collection's entities using keyword matching or semantic similarity.\n\n**Keyword Search (q parameter):**\n- Fast (~5ms) using per-collection SQLite index\n- Case-insensitive substring match on entity labels\n\n**Semantic Similarity Search (similar_to parameter):**\n- Finds entities semantically similar to the given entity ID\n- Uses Pinecone vector similarity\n- Returns results with similarity scores\n\nOne of `q` or `similar_to` must be provided.\n\n**Query Parameters:**\n- `q`: Search query (case-insensitive substring match)\n- `similar_to`: Entity ID to find similar items for\n- `type`: Filter by entity type\n- `limit`: Maximum results (default: 100, max: 1000)\n\n---\n**Permission:** `collection:view` \n**Auth:** optional",
10529
10888
  "x-arke-action": "collection:view",
10530
10889
  "x-arke-auth": "optional",
10531
10890
  "x-arke-tier": "standard",
@@ -10546,13 +10905,24 @@
10546
10905
  "schema": {
10547
10906
  "type": "string",
10548
10907
  "minLength": 1,
10549
- "description": "Search query (case-insensitive substring match on label)",
10908
+ "description": "Search query (case-insensitive substring match on label). Required if similar_to is not provided.",
10550
10909
  "example": "ahab"
10551
10910
  },
10552
- "required": true,
10911
+ "required": false,
10553
10912
  "name": "q",
10554
10913
  "in": "query"
10555
10914
  },
10915
+ {
10916
+ "schema": {
10917
+ "type": "string",
10918
+ "pattern": "^(?:II[0-9A-HJKMNP-TV-Z]{24}|[FC][0-9A-HJKMNP-TV-Z]{25}|[0-9A-HJKMNP-TV-Z]{26})$",
10919
+ "description": "Entity ID to find semantically similar items. Uses vector similarity instead of keyword search. Required if q is not provided.",
10920
+ "example": "01JQ3EQ3EG000000000000000"
10921
+ },
10922
+ "required": false,
10923
+ "name": "similar_to",
10924
+ "in": "query"
10925
+ },
10556
10926
  {
10557
10927
  "schema": {
10558
10928
  "type": "string",
@@ -12071,7 +12441,7 @@
12071
12441
  "Entities"
12072
12442
  ],
12073
12443
  "summary": "Upload content for any entity",
12074
- "description": "Uploads binary content for any entity type. Any entity can have content attached.\n\n**Request:**\n- Query param `key` (required): Version key for this content (e.g., \"v1\", \"original\", \"thumbnail\")\n- Query param `filename` (optional): Filename for Content-Disposition header on download\n- Header `Content-Type`: MIME type of the content (required)\n- Header `Content-Length`: Size for pre-upload validation (optional, max 500MB)\n- Body: Binary content (streaming supported)\n\n**Behavior:**\n- Streams content directly to R2 storage\n- Computes CID from content bytes\n- Updates entity with `properties.content` metadata\n- Re-uploading with same key overwrites the content\n- Creates a new entity version on each upload\n\n**Storage:**\nContent is stored at `{entity_id}/{key}` in R2, enabling multiple versions per entity.\n\n---\n**Permission:** `entity:update` \n**Auth:** required",
12444
+ "description": "Uploads binary content for any entity type. Any entity can have content attached.\n\n**Request:**\n- Query param `key` (required): Version key for this content (e.g., \"v1\", \"original\", \"thumbnail\")\n- Query param `filename` (optional): Filename for Content-Disposition header on download\n- Header `Content-Type`: MIME type of the content (required)\n- Header `Content-Length`: Size for pre-upload validation (optional, max 500MB)\n- Body: Binary content (streaming supported)\n\n**Behavior:**\n- Streams content directly to R2 storage\n- Computes CID from content bytes\n- Updates entity with `properties.content` metadata\n- Re-uploading with same key overwrites the content\n- Creates a new entity version on each upload\n\n**Storage:**\nContent is stored at `{entity_id}/{cid}` in R2, enabling multiple versions per entity without overwriting.\n\n---\n**Permission:** `entity:update` \n**Auth:** required",
12075
12445
  "x-arke-action": "entity:update",
12076
12446
  "x-arke-auth": "required",
12077
12447
  "x-arke-tier": "standard",
@@ -12849,6 +13219,66 @@
12849
13219
  }
12850
13220
  }
12851
13221
  },
13222
+ "/updates/queue/{id}": {
13223
+ "get": {
13224
+ "tags": [
13225
+ "Entities",
13226
+ "Diagnostics"
13227
+ ],
13228
+ "summary": "Get update queue status for entity",
13229
+ "description": "Returns the status of the additive update queue for a specific entity.\n\n**Use Cases:**\n- Diagnose why additive updates may not have been applied\n- Check for pending, processing, or failed updates\n- Monitor queue processing progress\n\n**Response includes:**\n- Counts by status (pending, processing, failed)\n- Detailed items with actor, relationships count, error messages, attempts\n\n\n---\n**Permission:** `entity:view` \n**Auth:** required",
13230
+ "x-arke-action": "entity:view",
13231
+ "x-arke-auth": "required",
13232
+ "x-arke-tier": "standard",
13233
+ "security": [
13234
+ {
13235
+ "bearerAuth": []
13236
+ },
13237
+ {
13238
+ "apiKeyAuth": []
13239
+ }
13240
+ ],
13241
+ "parameters": [
13242
+ {
13243
+ "schema": {
13244
+ "type": "string",
13245
+ "pattern": "^(?:II[0-9A-HJKMNP-TV-Z]{24}|[FC][0-9A-HJKMNP-TV-Z]{25}|[0-9A-HJKMNP-TV-Z]{26})$",
13246
+ "description": "Entity ID (ULID format)",
13247
+ "example": "01KDETYWYWM0MJVKM8DK3AEXPY"
13248
+ },
13249
+ "required": true,
13250
+ "description": "Entity ID (ULID)",
13251
+ "name": "id",
13252
+ "in": "path"
13253
+ }
13254
+ ],
13255
+ "responses": {
13256
+ "200": {
13257
+ "description": "Queue status retrieved",
13258
+ "content": {
13259
+ "application/json": {
13260
+ "schema": {
13261
+ "$ref": "#/components/schemas/QueueStatusResponse"
13262
+ }
13263
+ }
13264
+ }
13265
+ },
13266
+ "401": {
13267
+ "description": "Unauthorized - Missing or invalid authentication",
13268
+ "content": {
13269
+ "application/json": {
13270
+ "schema": {
13271
+ "$ref": "#/components/schemas/ErrorResponse"
13272
+ },
13273
+ "example": {
13274
+ "error": "Unauthorized: Missing or invalid authentication token"
13275
+ }
13276
+ }
13277
+ }
13278
+ }
13279
+ }
13280
+ }
13281
+ },
12852
13282
  "/updates/additive": {
12853
13283
  "post": {
12854
13284
  "tags": [
@@ -15568,7 +15998,7 @@
15568
15998
  "query": {
15569
15999
  "type": "string",
15570
16000
  "minLength": 1,
15571
- "maxLength": 500,
16001
+ "maxLength": 10000,
15572
16002
  "description": "Search query text"
15573
16003
  },
15574
16004
  "limit": {
@@ -15778,7 +16208,7 @@
15778
16208
  "query": {
15779
16209
  "type": "string",
15780
16210
  "minLength": 1,
15781
- "maxLength": 500,
16211
+ "maxLength": 10000,
15782
16212
  "description": "Search query text"
15783
16213
  },
15784
16214
  "limit": {
@@ -16007,7 +16437,7 @@
16007
16437
  "query": {
16008
16438
  "type": "string",
16009
16439
  "minLength": 1,
16010
- "maxLength": 500,
16440
+ "maxLength": 10000,
16011
16441
  "description": "Search query text"
16012
16442
  },
16013
16443
  "limit": {
@@ -16239,7 +16669,7 @@
16239
16669
  "query": {
16240
16670
  "type": "string",
16241
16671
  "minLength": 1,
16242
- "maxLength": 500,
16672
+ "maxLength": 10000,
16243
16673
  "description": "Search query text"
16244
16674
  },
16245
16675
  "limit": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "specVersion": "1.0.0",
3
3
  "apiVersion": "1.0.0",
4
- "fetchedAt": "2026-02-16T23:01:39.884Z",
4
+ "fetchedAt": "2026-02-20T03:10:32.012Z",
5
5
  "sourceUrl": "https://api.arke.institute/openapi.json",
6
6
  "openApiVersion": "3.1.0"
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arke-institute/sdk",
3
- "version": "3.6.13",
3
+ "version": "3.6.14",
4
4
  "description": "TypeScript SDK for the Arke API - auto-generated from OpenAPI spec",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs",