@arke-institute/sdk 3.6.4 → 3.6.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-02-11T22:34:10.645Z
9
+ * Generated: 2026-02-16T21:35:43.532Z
10
10
  */
11
11
  type paths = {
12
12
  "/ops-reference": {
@@ -931,6 +931,25 @@ type paths = {
931
931
  * Create a new collection
932
932
  * @description Creates a collection with the authenticated user as owner.
933
933
  *
934
+ * **Default Roles:**
935
+ *
936
+ * By default (`use_roles_default: true`), collections include these standard roles:
937
+ * - `owner`: Full control including collection management
938
+ * - `editor`: Can modify entities but not collection settings
939
+ * - `viewer`: Read-only access
940
+ * - `public`: Public read access (`*:view`)
941
+ *
942
+ * **Customizing Roles:**
943
+ *
944
+ * Pass custom `roles` to override specific defaults while keeping others. For example, to make entities publicly invokable (for agents):
945
+ * ```json
946
+ * { "roles": { "public": ["*:view", "*:invoke"] } }
947
+ * ```
948
+ *
949
+ * Set `use_roles_default: false` to define all roles from scratch.
950
+ *
951
+ * **Platform Requirement:** The `public` role with `*:view` is always automatically ensured, guaranteeing all collections are publicly readable.
952
+ *
934
953
  * ---
935
954
  * **Permission:** `collection:create`
936
955
  * **Auth:** required
@@ -1981,13 +2000,13 @@ type paths = {
1981
2000
  };
1982
2001
  /**
1983
2002
  * List entities in a collection
1984
- * @description Returns entities belonging to this collection from the graph database.
2003
+ * @description Returns entities belonging to this collection.
1985
2004
  *
1986
2005
  * Supports pagination and optional type filtering. Results are ordered by creation date (newest first).
1987
2006
  *
1988
2007
  * **Expansion Modes:**
1989
2008
  *
1990
- * By default, returns lightweight summaries from GraphDB (pi, type, label, timestamps).
2009
+ * By default, returns lightweight summaries (pi, type, label, timestamps).
1991
2010
  *
1992
2011
  * Use the `expand` parameter to hydrate entity data from storage:
1993
2012
  *
@@ -2005,6 +2024,7 @@ type paths = {
2005
2024
  parameters: {
2006
2025
  query?: {
2007
2026
  type?: string;
2027
+ filter?: string;
2008
2028
  limit?: number;
2009
2029
  offset?: number | null;
2010
2030
  expand?: "preview" | "full";
@@ -2055,7 +2075,7 @@ type paths = {
2055
2075
  "application/json": components["schemas"]["ErrorResponse"];
2056
2076
  };
2057
2077
  };
2058
- /** @description GraphDB service unavailable */
2078
+ /** @description Collection index service unavailable */
2059
2079
  503: {
2060
2080
  headers: {
2061
2081
  [name: string]: unknown;
@@ -7059,8 +7079,8 @@ type paths = {
7059
7079
  requestBody?: {
7060
7080
  content: {
7061
7081
  "application/json": {
7062
- /** @description Collection PI to find similar collections for */
7063
- pi: string;
7082
+ /** @description Collection ID to find similar collections for */
7083
+ id: string;
7064
7084
  /**
7065
7085
  * @description Maximum results to return
7066
7086
  * @default 10
@@ -7089,7 +7109,7 @@ type paths = {
7089
7109
  content: {
7090
7110
  "application/json": {
7091
7111
  results: {
7092
- pi: string;
7112
+ id: string;
7093
7113
  label: string;
7094
7114
  score: number;
7095
7115
  created_at?: string;
@@ -7098,7 +7118,7 @@ type paths = {
7098
7118
  entity?: components["schemas"]["EntityResponse"] & unknown;
7099
7119
  }[];
7100
7120
  metadata: {
7101
- source_pi: string;
7121
+ source_id: string;
7102
7122
  result_count: number;
7103
7123
  cached?: boolean;
7104
7124
  cached_at?: string;
@@ -7213,10 +7233,10 @@ type paths = {
7213
7233
  requestBody?: {
7214
7234
  content: {
7215
7235
  "application/json": {
7216
- /** @description Entity PI to find similar items for */
7217
- pi: string;
7218
- /** @description Entity's collection PI */
7219
- collection_pi: string;
7236
+ /** @description Entity ID to find similar items for */
7237
+ id: string;
7238
+ /** @description Entity's collection ID */
7239
+ collection_id: string;
7220
7240
  /**
7221
7241
  * @description Maximum results to return
7222
7242
  * @default 20
@@ -7260,10 +7280,10 @@ type paths = {
7260
7280
  content: {
7261
7281
  "application/json": {
7262
7282
  results: {
7263
- pi: string;
7283
+ id: string;
7264
7284
  type: string;
7265
7285
  label: string;
7266
- collection_pi: string | null;
7286
+ collection_id: string | null;
7267
7287
  score: number;
7268
7288
  created_at?: string;
7269
7289
  updated_at?: string;
@@ -7271,7 +7291,7 @@ type paths = {
7271
7291
  entity?: components["schemas"]["EntityResponse"] & unknown;
7272
7292
  }[];
7273
7293
  metadata: {
7274
- source_pi: string;
7294
+ source_id: string;
7275
7295
  collections_searched: number;
7276
7296
  result_count: number;
7277
7297
  cached?: boolean;
@@ -7393,6 +7413,56 @@ type paths = {
7393
7413
  limit?: number;
7394
7414
  /** @description Filter by collection types */
7395
7415
  types?: string[];
7416
+ /**
7417
+ * @description Filter by indexed metadata properties.
7418
+ *
7419
+ * **Filterable Properties:**
7420
+ * Only underscore-prefixed properties (`_year`, `_class`, etc.) are indexed as filterable metadata.
7421
+ *
7422
+ * **Operators:**
7423
+ * | Operator | Description | Example |
7424
+ * |----------|-------------|---------|
7425
+ * | `$eq` | Equals | `{ "_year": { "$eq": 1905 } }` |
7426
+ * | `$ne` | Not equals | `{ "_class": { "$ne": "draft" } }` |
7427
+ * | `$gt` | Greater than | `{ "_year": { "$gt": 1900 } }` |
7428
+ * | `$gte` | Greater than or equal | `{ "_year": { "$gte": 1900 } }` |
7429
+ * | `$lt` | Less than | `{ "_year": { "$lt": 2000 } }` |
7430
+ * | `$lte` | Less than or equal | `{ "_year": { "$lte": 2000 } }` |
7431
+ * | `$in` | In array | `{ "_class": { "$in": ["letter", "memo"] } }` |
7432
+ * | `$nin` | Not in array | `{ "_class": { "$nin": ["draft"] } }` |
7433
+ * | `$exists` | Property exists | `{ "_ocr_text": { "$exists": true } }` |
7434
+ *
7435
+ * **Logical Operators:**
7436
+ * | Operator | Description | Example |
7437
+ * |----------|-------------|---------|
7438
+ * | `$and` | All conditions must match | `{ "$and": [{ "_year": { "$gt": 1900 } }, { "_year": { "$lt": 2000 } }] }` |
7439
+ * | `$or` | Any condition must match | `{ "$or": [{ "_class": "letter" }, { "_class": "memo" }] }` |
7440
+ *
7441
+ * **Built-in Fields (always available):**
7442
+ * - `type` - Entity type
7443
+ * - `created_at` - ISO timestamp string
7444
+ * - `updated_at` - ISO timestamp string
7445
+ *
7446
+ * **Example - Find letters from 1800-1900:**
7447
+ * ```json
7448
+ * {
7449
+ * "$and": [
7450
+ * { "type": { "$eq": "letter" } },
7451
+ * { "_year": { "$gte": 1800 } },
7452
+ * { "_year": { "$lte": 1900 } }
7453
+ * ]
7454
+ * }
7455
+ * ```
7456
+ * @example {
7457
+ * "_year": {
7458
+ * "$gt": 1800
7459
+ * },
7460
+ * "type": "letter"
7461
+ * }
7462
+ */
7463
+ filter?: {
7464
+ [key: string]: unknown;
7465
+ };
7396
7466
  /**
7397
7467
  * @description Entity expansion mode. Default: "preview" for lightweight previews, "full" for complete manifests, "none" for no expansion.
7398
7468
  * @example preview
@@ -7411,7 +7481,7 @@ type paths = {
7411
7481
  content: {
7412
7482
  "application/json": {
7413
7483
  results: {
7414
- pi: string;
7484
+ id: string;
7415
7485
  label: string;
7416
7486
  type: string;
7417
7487
  score: number;
@@ -7525,6 +7595,56 @@ type paths = {
7525
7595
  * @default 10
7526
7596
  */
7527
7597
  limit?: number;
7598
+ /**
7599
+ * @description Filter by indexed metadata properties.
7600
+ *
7601
+ * **Filterable Properties:**
7602
+ * Only underscore-prefixed properties (`_year`, `_class`, etc.) are indexed as filterable metadata.
7603
+ *
7604
+ * **Operators:**
7605
+ * | Operator | Description | Example |
7606
+ * |----------|-------------|---------|
7607
+ * | `$eq` | Equals | `{ "_year": { "$eq": 1905 } }` |
7608
+ * | `$ne` | Not equals | `{ "_class": { "$ne": "draft" } }` |
7609
+ * | `$gt` | Greater than | `{ "_year": { "$gt": 1900 } }` |
7610
+ * | `$gte` | Greater than or equal | `{ "_year": { "$gte": 1900 } }` |
7611
+ * | `$lt` | Less than | `{ "_year": { "$lt": 2000 } }` |
7612
+ * | `$lte` | Less than or equal | `{ "_year": { "$lte": 2000 } }` |
7613
+ * | `$in` | In array | `{ "_class": { "$in": ["letter", "memo"] } }` |
7614
+ * | `$nin` | Not in array | `{ "_class": { "$nin": ["draft"] } }` |
7615
+ * | `$exists` | Property exists | `{ "_ocr_text": { "$exists": true } }` |
7616
+ *
7617
+ * **Logical Operators:**
7618
+ * | Operator | Description | Example |
7619
+ * |----------|-------------|---------|
7620
+ * | `$and` | All conditions must match | `{ "$and": [{ "_year": { "$gt": 1900 } }, { "_year": { "$lt": 2000 } }] }` |
7621
+ * | `$or` | Any condition must match | `{ "$or": [{ "_class": "letter" }, { "_class": "memo" }] }` |
7622
+ *
7623
+ * **Built-in Fields (always available):**
7624
+ * - `type` - Entity type
7625
+ * - `created_at` - ISO timestamp string
7626
+ * - `updated_at` - ISO timestamp string
7627
+ *
7628
+ * **Example - Find letters from 1800-1900:**
7629
+ * ```json
7630
+ * {
7631
+ * "$and": [
7632
+ * { "type": { "$eq": "letter" } },
7633
+ * { "_year": { "$gte": 1800 } },
7634
+ * { "_year": { "$lte": 1900 } }
7635
+ * ]
7636
+ * }
7637
+ * ```
7638
+ * @example {
7639
+ * "_year": {
7640
+ * "$gt": 1800
7641
+ * },
7642
+ * "type": "letter"
7643
+ * }
7644
+ */
7645
+ filter?: {
7646
+ [key: string]: unknown;
7647
+ };
7528
7648
  /**
7529
7649
  * @description Entity expansion mode. Default: "preview" for lightweight previews, "full" for complete manifests, "none" for no expansion.
7530
7650
  * @example preview
@@ -7549,10 +7669,10 @@ type paths = {
7549
7669
  content: {
7550
7670
  "application/json": {
7551
7671
  results: {
7552
- pi: string;
7672
+ id: string;
7553
7673
  label: string;
7554
7674
  score: number;
7555
- collection_pi: string | null;
7675
+ collection_id: string | null;
7556
7676
  status?: string;
7557
7677
  created_at?: string;
7558
7678
  updated_at?: string;
@@ -7629,7 +7749,7 @@ type paths = {
7629
7749
  * Search entities within collection(s)
7630
7750
  * @description Search for entities within one or more collections using semantic text search.
7631
7751
  *
7632
- * Provide either `collection_pi` for a single collection or `collection_pis` for multiple collections (searched in parallel).
7752
+ * Provide either `collection_pi` for a single collection or `collection_ids` for multiple collections (searched in parallel).
7633
7753
  *
7634
7754
  * Use `per_collection_limit` to ensure result diversity when searching multiple collections.
7635
7755
  *
@@ -7658,10 +7778,10 @@ type paths = {
7658
7778
  requestBody?: {
7659
7779
  content: {
7660
7780
  "application/json": {
7661
- /** @description Single collection PI to search within */
7662
- collection_pi?: string;
7663
- /** @description Multiple collection PIs to search (max 20) */
7664
- collection_pis?: string[];
7781
+ /** @description Single collection ID to search within */
7782
+ collection_id?: string;
7783
+ /** @description Multiple collection IDs to search (max 20) */
7784
+ collection_ids?: string[];
7665
7785
  /** @description Search query text */
7666
7786
  query: string;
7667
7787
  /**
@@ -7671,6 +7791,56 @@ type paths = {
7671
7791
  limit?: number;
7672
7792
  /** @description Filter by entity types */
7673
7793
  types?: string[];
7794
+ /**
7795
+ * @description Filter by indexed metadata properties.
7796
+ *
7797
+ * **Filterable Properties:**
7798
+ * Only underscore-prefixed properties (`_year`, `_class`, etc.) are indexed as filterable metadata.
7799
+ *
7800
+ * **Operators:**
7801
+ * | Operator | Description | Example |
7802
+ * |----------|-------------|---------|
7803
+ * | `$eq` | Equals | `{ "_year": { "$eq": 1905 } }` |
7804
+ * | `$ne` | Not equals | `{ "_class": { "$ne": "draft" } }` |
7805
+ * | `$gt` | Greater than | `{ "_year": { "$gt": 1900 } }` |
7806
+ * | `$gte` | Greater than or equal | `{ "_year": { "$gte": 1900 } }` |
7807
+ * | `$lt` | Less than | `{ "_year": { "$lt": 2000 } }` |
7808
+ * | `$lte` | Less than or equal | `{ "_year": { "$lte": 2000 } }` |
7809
+ * | `$in` | In array | `{ "_class": { "$in": ["letter", "memo"] } }` |
7810
+ * | `$nin` | Not in array | `{ "_class": { "$nin": ["draft"] } }` |
7811
+ * | `$exists` | Property exists | `{ "_ocr_text": { "$exists": true } }` |
7812
+ *
7813
+ * **Logical Operators:**
7814
+ * | Operator | Description | Example |
7815
+ * |----------|-------------|---------|
7816
+ * | `$and` | All conditions must match | `{ "$and": [{ "_year": { "$gt": 1900 } }, { "_year": { "$lt": 2000 } }] }` |
7817
+ * | `$or` | Any condition must match | `{ "$or": [{ "_class": "letter" }, { "_class": "memo" }] }` |
7818
+ *
7819
+ * **Built-in Fields (always available):**
7820
+ * - `type` - Entity type
7821
+ * - `created_at` - ISO timestamp string
7822
+ * - `updated_at` - ISO timestamp string
7823
+ *
7824
+ * **Example - Find letters from 1800-1900:**
7825
+ * ```json
7826
+ * {
7827
+ * "$and": [
7828
+ * { "type": { "$eq": "letter" } },
7829
+ * { "_year": { "$gte": 1800 } },
7830
+ * { "_year": { "$lte": 1900 } }
7831
+ * ]
7832
+ * }
7833
+ * ```
7834
+ * @example {
7835
+ * "_year": {
7836
+ * "$gt": 1800
7837
+ * },
7838
+ * "type": "letter"
7839
+ * }
7840
+ */
7841
+ filter?: {
7842
+ [key: string]: unknown;
7843
+ };
7674
7844
  /** @description Max results per collection for diversity */
7675
7845
  per_collection_limit?: number;
7676
7846
  /**
@@ -7691,18 +7861,18 @@ type paths = {
7691
7861
  content: {
7692
7862
  "application/json": {
7693
7863
  results: {
7694
- pi: string;
7864
+ id: string;
7695
7865
  label: string;
7696
7866
  type: string;
7697
7867
  score: number;
7698
- collection_pi: string;
7868
+ collection_id: string;
7699
7869
  created_at?: string;
7700
7870
  updated_at?: string;
7701
7871
  entity_preview?: components["schemas"]["EntityPreview"] & unknown;
7702
7872
  entity?: components["schemas"]["EntityResponse"] & unknown;
7703
7873
  }[];
7704
7874
  metadata: {
7705
- collection_pis: string[];
7875
+ collection_ids: string[];
7706
7876
  query: string;
7707
7877
  collections_searched: number;
7708
7878
  result_count: number;
@@ -7814,6 +7984,56 @@ type paths = {
7814
7984
  limit?: number;
7815
7985
  /** @description Filter by entity types */
7816
7986
  types?: string[];
7987
+ /**
7988
+ * @description Filter by indexed metadata properties.
7989
+ *
7990
+ * **Filterable Properties:**
7991
+ * Only underscore-prefixed properties (`_year`, `_class`, etc.) are indexed as filterable metadata.
7992
+ *
7993
+ * **Operators:**
7994
+ * | Operator | Description | Example |
7995
+ * |----------|-------------|---------|
7996
+ * | `$eq` | Equals | `{ "_year": { "$eq": 1905 } }` |
7997
+ * | `$ne` | Not equals | `{ "_class": { "$ne": "draft" } }` |
7998
+ * | `$gt` | Greater than | `{ "_year": { "$gt": 1900 } }` |
7999
+ * | `$gte` | Greater than or equal | `{ "_year": { "$gte": 1900 } }` |
8000
+ * | `$lt` | Less than | `{ "_year": { "$lt": 2000 } }` |
8001
+ * | `$lte` | Less than or equal | `{ "_year": { "$lte": 2000 } }` |
8002
+ * | `$in` | In array | `{ "_class": { "$in": ["letter", "memo"] } }` |
8003
+ * | `$nin` | Not in array | `{ "_class": { "$nin": ["draft"] } }` |
8004
+ * | `$exists` | Property exists | `{ "_ocr_text": { "$exists": true } }` |
8005
+ *
8006
+ * **Logical Operators:**
8007
+ * | Operator | Description | Example |
8008
+ * |----------|-------------|---------|
8009
+ * | `$and` | All conditions must match | `{ "$and": [{ "_year": { "$gt": 1900 } }, { "_year": { "$lt": 2000 } }] }` |
8010
+ * | `$or` | Any condition must match | `{ "$or": [{ "_class": "letter" }, { "_class": "memo" }] }` |
8011
+ *
8012
+ * **Built-in Fields (always available):**
8013
+ * - `type` - Entity type
8014
+ * - `created_at` - ISO timestamp string
8015
+ * - `updated_at` - ISO timestamp string
8016
+ *
8017
+ * **Example - Find letters from 1800-1900:**
8018
+ * ```json
8019
+ * {
8020
+ * "$and": [
8021
+ * { "type": { "$eq": "letter" } },
8022
+ * { "_year": { "$gte": 1800 } },
8023
+ * { "_year": { "$lte": 1900 } }
8024
+ * ]
8025
+ * }
8026
+ * ```
8027
+ * @example {
8028
+ * "_year": {
8029
+ * "$gt": 1800
8030
+ * },
8031
+ * "type": "letter"
8032
+ * }
8033
+ */
8034
+ filter?: {
8035
+ [key: string]: unknown;
8036
+ };
7817
8037
  /**
7818
8038
  * @description Number of collections to search
7819
8039
  * @default 10
@@ -7842,11 +8062,11 @@ type paths = {
7842
8062
  content: {
7843
8063
  "application/json": {
7844
8064
  results: {
7845
- pi: string;
8065
+ id: string;
7846
8066
  label: string;
7847
8067
  type: string;
7848
8068
  score: number;
7849
- collection_pi: string;
8069
+ collection_id: string;
7850
8070
  created_at?: string;
7851
8071
  updated_at?: string;
7852
8072
  entity_preview?: components["schemas"]["EntityPreview"] & unknown;
@@ -8579,10 +8799,10 @@ type components = {
8579
8799
  */
8580
8800
  type: "user";
8581
8801
  /**
8582
- * @description User entity PI (persistent identifier)
8802
+ * @description User entity ID
8583
8803
  * @example 01J1SHMAE10000000000000000
8584
8804
  */
8585
- pi: string;
8805
+ id: string;
8586
8806
  /**
8587
8807
  * @description How this identity was authenticated
8588
8808
  * @example jwt
@@ -8623,10 +8843,10 @@ type components = {
8623
8843
  */
8624
8844
  type: "agent";
8625
8845
  /**
8626
- * @description Agent entity PI (persistent identifier)
8846
+ * @description Agent entity ID
8627
8847
  * @example 01J1AGENTID000000000000000
8628
8848
  */
8629
- pi: string;
8849
+ id: string;
8630
8850
  /**
8631
8851
  * @description How this identity was authenticated
8632
8852
  * @example api_key
@@ -8634,10 +8854,10 @@ type components = {
8634
8854
  */
8635
8855
  auth_method: "api_key";
8636
8856
  /**
8637
- * @description Entity PI of the agent owner
8857
+ * @description Entity ID of the agent owner
8638
8858
  * @example 01J1OWNERID0000000000000000
8639
8859
  */
8640
- owner_pi: string;
8860
+ owner_id: string;
8641
8861
  /**
8642
8862
  * @description API key prefix
8643
8863
  * @example ak_xyz9
@@ -8841,10 +9061,10 @@ type components = {
8841
9061
  };
8842
9062
  UserCollectionItem: {
8843
9063
  /**
8844
- * @description Collection persistent identifier
9064
+ * @description Collection ID
8845
9065
  * @example 01JCOLLECTION123456789AB
8846
9066
  */
8847
- pi: string;
9067
+ id: string;
8848
9068
  /**
8849
9069
  * @description Collection label/name
8850
9070
  * @example My Research Collection
@@ -8887,7 +9107,7 @@ type components = {
8887
9107
  * "id": "01KDETYWYWM0MJVKM8DK3AEXPY",
8888
9108
  * "type": "file",
8889
9109
  * "label": "Research Paper.pdf",
8890
- * "collection_pi": "01JCOLLECTION123456789AB",
9110
+ * "collection_id": "01JCOLLECTION123456789AB",
8891
9111
  * "description_preview": "A comprehensive study on distributed systems architecture...",
8892
9112
  * "created_at": "2026-01-12T00:00:00.000Z",
8893
9113
  * "updated_at": "2026-01-12T10:30:00.000Z"
@@ -8913,7 +9133,7 @@ type components = {
8913
9133
  * @description Collection ID this entity belongs to
8914
9134
  * @example 01JCOLLECTION123456789ABCD
8915
9135
  */
8916
- collection_pi?: string;
9136
+ collection_id?: string;
8917
9137
  /**
8918
9138
  * @description Truncated description (max 200 chars + "...")
8919
9139
  * @example This document contains research findings from the 2025 study on entity management systems. It covers key architectural decisions and performance benchmarks...
@@ -8937,10 +9157,10 @@ type components = {
8937
9157
  };
8938
9158
  SearchResultItem: {
8939
9159
  /**
8940
- * @description Entity persistent identifier
9160
+ * @description Entity ID
8941
9161
  * @example 01KDETYWYWM0MJVKM8DK3AEXPY
8942
9162
  */
8943
- pi: string;
9163
+ id: string;
8944
9164
  /**
8945
9165
  * @description Entity type
8946
9166
  * @example file
@@ -8955,7 +9175,7 @@ type components = {
8955
9175
  * @description Collection this entity belongs to (null for public-domain)
8956
9176
  * @example 01JCOLLECTION123456789AB
8957
9177
  */
8958
- collection_pi: string | null;
9178
+ collection_id: string | null;
8959
9179
  /**
8960
9180
  * @description Relevance score (0-1, higher is better)
8961
9181
  * @example 0.87
@@ -9068,26 +9288,17 @@ type components = {
9068
9288
  */
9069
9289
  display_image_url?: string;
9070
9290
  /**
9071
- * @description Custom role definitions (defaults to owner/editor/viewer/public)
9291
+ * @description Whether to merge with default roles (true) or use only provided roles (false). Public role with *:view is always ensured.
9292
+ * @default true
9293
+ * @example true
9294
+ */
9295
+ use_roles_default: boolean;
9296
+ /**
9297
+ * @description Role definitions. When use_roles_default is true (default), these merge with defaults. When false, these replace defaults entirely.
9072
9298
  * @example {
9073
- * "captain": [
9074
- * "*:view",
9075
- * "*:update",
9076
- * "*:create",
9077
- * "collection:manage"
9078
- * ],
9079
- * "harpooner": [
9080
- * "*:view",
9081
- * "*:update",
9082
- * "*:create"
9083
- * ],
9084
- * "crew": [
9085
- * "*:view",
9086
- * "entity:create"
9087
- * ],
9088
9299
  * "public": [
9089
- * "entity:view",
9090
- * "collection:view"
9300
+ * "*:view",
9301
+ * "*:invoke"
9091
9302
  * ]
9092
9303
  * }
9093
9304
  */
@@ -9414,8 +9625,8 @@ type components = {
9414
9625
  entity_id: string;
9415
9626
  };
9416
9627
  CollectionEntitySummary: {
9417
- /** @description Entity persistent identifier */
9418
- pi: string;
9628
+ /** @description Entity ID */
9629
+ id: string;
9419
9630
  /**
9420
9631
  * @description Entity type
9421
9632
  * @example document
@@ -9616,6 +9827,11 @@ type components = {
9616
9827
  * @example 01KDETYWYWM0MJVKM8DK3AEXPY
9617
9828
  */
9618
9829
  collection?: string;
9830
+ /**
9831
+ * @description Wait for collection index update before returning. Use when checking for duplicates immediately after creation. Adds ~1-5ms latency per collection.
9832
+ * @default false
9833
+ */
9834
+ sync_index: boolean;
9619
9835
  };
9620
9836
  BatchCreateSuccess: {
9621
9837
  /** @enum {boolean} */
@@ -9793,6 +10009,11 @@ type components = {
9793
10009
  */
9794
10010
  peer?: string;
9795
10011
  }[];
10012
+ /**
10013
+ * @description Wait for collection index update before returning. Use when checking index immediately after update.
10014
+ * @default false
10015
+ */
10016
+ sync_index: boolean;
9796
10017
  };
9797
10018
  EntityDeletedResponse: {
9798
10019
  /**
@@ -9837,6 +10058,11 @@ type components = {
9837
10058
  * @example Duplicate entry
9838
10059
  */
9839
10060
  reason?: string;
10061
+ /**
10062
+ * @description Wait for collection index removal before returning. Use when checking index immediately after deletion.
10063
+ * @default false
10064
+ */
10065
+ sync_index: boolean;
9840
10066
  };
9841
10067
  CascadeDeletedEntity: {
9842
10068
  /**
@@ -9981,7 +10207,7 @@ type components = {
9981
10207
  * @description Entity ID (ULID format)
9982
10208
  * @example 01KDETYWYWM0MJVKM8DK3AEXPY
9983
10209
  */
9984
- pi: string;
10210
+ id: string;
9985
10211
  /** @description Entity label */
9986
10212
  label: string;
9987
10213
  /** @description Entity type */
@@ -11320,7 +11546,7 @@ type components = {
11320
11546
  * @example {
11321
11547
  * "extract": {
11322
11548
  * "klados": {
11323
- * "pi": "01KKLADOSA12345678901234",
11549
+ * "id": "01KKLADOSA12345678901234",
11324
11550
  * "type": "klados"
11325
11551
  * },
11326
11552
  * "then": {
@@ -11329,7 +11555,7 @@ type components = {
11329
11555
  * },
11330
11556
  * "summarize": {
11331
11557
  * "klados": {
11332
- * "pi": "01KKLADOSB12345678901234",
11558
+ * "id": "01KKLADOSB12345678901234",
11333
11559
  * "type": "klados"
11334
11560
  * },
11335
11561
  * "then": {
@@ -11344,12 +11570,17 @@ type components = {
11344
11570
  * KladosRef
11345
11571
  * @description Reference to the klados entity to invoke for this step
11346
11572
  * @example {
11347
- * "pi": "01KEXAMPLE123456789012345",
11573
+ * "id": "01KEXAMPLE123456789012345",
11348
11574
  * "type": "klados",
11349
11575
  * "label": "OCR Processor"
11350
11576
  * }
11351
11577
  */
11352
11578
  klados: {
11579
+ id: string;
11580
+ type?: string;
11581
+ label?: string;
11582
+ description?: string;
11583
+ } | {
11353
11584
  pi: string;
11354
11585
  type?: string;
11355
11586
  label?: string;
@@ -11503,7 +11734,7 @@ type components = {
11503
11734
  * @example {
11504
11735
  * "extract": {
11505
11736
  * "klados": {
11506
- * "pi": "01KKLADOSA12345678901234",
11737
+ * "id": "01KKLADOSA12345678901234",
11507
11738
  * "type": "klados"
11508
11739
  * },
11509
11740
  * "then": {
@@ -11512,7 +11743,7 @@ type components = {
11512
11743
  * },
11513
11744
  * "summarize": {
11514
11745
  * "klados": {
11515
- * "pi": "01KKLADOSB12345678901234",
11746
+ * "id": "01KKLADOSB12345678901234",
11516
11747
  * "type": "klados"
11517
11748
  * },
11518
11749
  * "then": {
@@ -11527,12 +11758,17 @@ type components = {
11527
11758
  * KladosRef
11528
11759
  * @description Reference to the klados entity to invoke for this step
11529
11760
  * @example {
11530
- * "pi": "01KEXAMPLE123456789012345",
11761
+ * "id": "01KEXAMPLE123456789012345",
11531
11762
  * "type": "klados",
11532
11763
  * "label": "OCR Processor"
11533
11764
  * }
11534
11765
  */
11535
11766
  klados: {
11767
+ id: string;
11768
+ type?: string;
11769
+ label?: string;
11770
+ description?: string;
11771
+ } | {
11536
11772
  pi: string;
11537
11773
  type?: string;
11538
11774
  label?: string;
@@ -11740,7 +11976,7 @@ type components = {
11740
11976
  * @description Entity ID that changed
11741
11977
  * @example 01KDETYWYWM0MJVKM8DK3AEXPY
11742
11978
  */
11743
- pi: string;
11979
+ entity_id: string;
11744
11980
  /**
11745
11981
  * @description New manifest CID
11746
11982
  * @example bafyreibug443cnd4endcwinwttw3c3dzmcl2ikht64xzn5qg56bix3usfy
@@ -11768,27 +12004,27 @@ type components = {
11768
12004
  };
11769
12005
  /**
11770
12006
  * @example {
11771
- * "subject_pi": "01KE4ZY69F9R40E88PK9S0TQRQ",
12007
+ * "subject_id": "01KE4ZY69F9R40E88PK9S0TQRQ",
11772
12008
  * "subject_label": "Project Folder",
11773
12009
  * "subject_type": "folder",
11774
12010
  * "subject_preview": {
11775
12011
  * "id": "01KE4ZY69F9R40E88PK9S0TQRQ",
11776
12012
  * "type": "folder",
11777
12013
  * "label": "Project Folder",
11778
- * "collection_pi": "01JCOLLECTION123456789ABCD",
12014
+ * "collection_id": "01JCOLLECTION123456789ABCD",
11779
12015
  * "description_preview": "Main project folder containing research documents...",
11780
12016
  * "created_at": "2025-01-10T08:00:00.000Z",
11781
12017
  * "updated_at": "2025-01-18T16:45:00.000Z"
11782
12018
  * },
11783
12019
  * "predicate": "contains",
11784
- * "object_pi": "01KE506KZGD8M2P1XK3VNQT4YR",
12020
+ * "object_id": "01KE506KZGD8M2P1XK3VNQT4YR",
11785
12021
  * "object_label": "Research Paper.pdf",
11786
12022
  * "object_type": "file",
11787
12023
  * "object_preview": {
11788
12024
  * "id": "01KE506KZGD8M2P1XK3VNQT4YR",
11789
12025
  * "type": "file",
11790
12026
  * "label": "Research Paper.pdf",
11791
- * "collection_pi": "01JCOLLECTION123456789ABCD",
12027
+ * "collection_id": "01JCOLLECTION123456789ABCD",
11792
12028
  * "description_preview": "Analysis of entity management patterns and best practices...",
11793
12029
  * "created_at": "2025-01-15T10:00:00.000Z",
11794
12030
  * "updated_at": "2025-01-20T14:30:00.000Z"
@@ -11800,7 +12036,7 @@ type components = {
11800
12036
  * @description Source entity PI
11801
12037
  * @example 01KDETYWYWM0MJVKM8DK3AEXPY
11802
12038
  */
11803
- subject_pi: string;
12039
+ subject_id: string;
11804
12040
  /** @description Source entity label */
11805
12041
  subject_label: string;
11806
12042
  /** @description Source entity type */
@@ -11813,7 +12049,7 @@ type components = {
11813
12049
  * @description Target entity PI
11814
12050
  * @example 01KDETYWYWM0MJVKM8DK3AEXPY
11815
12051
  */
11816
- object_pi: string;
12052
+ object_id: string;
11817
12053
  /** @description Target entity label */
11818
12054
  object_label: string;
11819
12055
  /** @description Target entity type */
@@ -11826,12 +12062,12 @@ type components = {
11826
12062
  * @description Entity ID (ULID format)
11827
12063
  * @example 01KDETYWYWM0MJVKM8DK3AEXPY
11828
12064
  */
11829
- source_pi: string;
12065
+ source_id: string;
11830
12066
  /**
11831
12067
  * @description Entity ID (ULID format)
11832
12068
  * @example 01KDETYWYWM0MJVKM8DK3AEXPY
11833
12069
  */
11834
- target_pi: string;
12070
+ target_id: string;
11835
12071
  /** @description Path length (number of hops) */
11836
12072
  length: number;
11837
12073
  edges: components["schemas"]["PathEdge"][];
@@ -11848,14 +12084,14 @@ type components = {
11848
12084
  * "01KE4ZY69F9R40E88PK9S0TQRQ"
11849
12085
  * ]
11850
12086
  */
11851
- source_pis: string[];
12087
+ source_ids: string[];
11852
12088
  /**
11853
12089
  * @description Target entity PIs
11854
12090
  * @example [
11855
12091
  * "01KE506KZGD8M2P1XK3VNQT4YR"
11856
12092
  * ]
11857
12093
  */
11858
- target_pis: string[];
12094
+ target_ids: string[];
11859
12095
  /**
11860
12096
  * @description Maximum path depth (1-4)
11861
12097
  * @default 4
@@ -11878,8 +12114,8 @@ type components = {
11878
12114
  };
11879
12115
  /**
11880
12116
  * @example {
11881
- * "source_pi": "01KE4ZY69F9R40E88PK9S0TQRQ",
11882
- * "target_pi": "01KE506KZGD8M2P1XK3VNQT4YR",
12117
+ * "source_id": "01KE4ZY69F9R40E88PK9S0TQRQ",
12118
+ * "target_id": "01KE506KZGD8M2P1XK3VNQT4YR",
11883
12119
  * "target_label": "Research Paper.pdf",
11884
12120
  * "target_type": "file",
11885
12121
  * "length": 1,
@@ -11888,7 +12124,7 @@ type components = {
11888
12124
  * "id": "01KE506KZGD8M2P1XK3VNQT4YR",
11889
12125
  * "type": "file",
11890
12126
  * "label": "Research Paper.pdf",
11891
- * "collection_pi": "01JCOLLECTION123456789ABCD",
12127
+ * "collection_id": "01JCOLLECTION123456789ABCD",
11892
12128
  * "description_preview": "Analysis of entity management patterns and best practices...",
11893
12129
  * "created_at": "2025-01-15T10:00:00.000Z",
11894
12130
  * "updated_at": "2025-01-20T14:30:00.000Z"
@@ -11900,12 +12136,12 @@ type components = {
11900
12136
  * @description Entity ID (ULID format)
11901
12137
  * @example 01KDETYWYWM0MJVKM8DK3AEXPY
11902
12138
  */
11903
- source_pi: string;
12139
+ source_id: string;
11904
12140
  /**
11905
12141
  * @description Entity ID (ULID format)
11906
12142
  * @example 01KDETYWYWM0MJVKM8DK3AEXPY
11907
12143
  */
11908
- target_pi: string;
12144
+ target_id: string;
11909
12145
  target_label: string;
11910
12146
  target_type: string;
11911
12147
  /** @description Path length (number of hops) */
@@ -11926,7 +12162,7 @@ type components = {
11926
12162
  * "01KE4ZY69F9R40E88PK9S0TQRQ"
11927
12163
  * ]
11928
12164
  */
11929
- source_pis: string[];
12165
+ source_ids: string[];
11930
12166
  /**
11931
12167
  * @description Target entity type to find
11932
12168
  * @example file
@@ -11956,7 +12192,7 @@ type components = {
11956
12192
  * @example {
11957
12193
  * "direction": "outgoing",
11958
12194
  * "predicate": "contains",
11959
- * "peer_pi": "01KE506KZGD8M2P1XK3VNQT4YR",
12195
+ * "peer_id": "01KE506KZGD8M2P1XK3VNQT4YR",
11960
12196
  * "peer_type": "file",
11961
12197
  * "peer_label": "Research Paper.pdf",
11962
12198
  * "properties": {},
@@ -11964,7 +12200,7 @@ type components = {
11964
12200
  * "id": "01KE506KZGD8M2P1XK3VNQT4YR",
11965
12201
  * "type": "file",
11966
12202
  * "label": "Research Paper.pdf",
11967
- * "collection_pi": "01KE4ZY69F9R40E88PK9S0TQRQ",
12203
+ * "collection_id": "01KE4ZY69F9R40E88PK9S0TQRQ",
11968
12204
  * "description_preview": "Analysis of entity management patterns and best practices...",
11969
12205
  * "created_at": "2025-01-15T10:00:00.000Z",
11970
12206
  * "updated_at": "2025-01-20T14:30:00.000Z"
@@ -11979,7 +12215,7 @@ type components = {
11979
12215
  * @description Entity ID (ULID format)
11980
12216
  * @example 01KDETYWYWM0MJVKM8DK3AEXPY
11981
12217
  */
11982
- peer_pi: string;
12218
+ peer_id: string;
11983
12219
  peer_type: string;
11984
12220
  peer_label: string;
11985
12221
  properties: {
@@ -11990,17 +12226,17 @@ type components = {
11990
12226
  };
11991
12227
  /**
11992
12228
  * @example {
11993
- * "pi": "01KE4ZY69F9R40E88PK9S0TQRQ",
12229
+ * "id": "01KE4ZY69F9R40E88PK9S0TQRQ",
11994
12230
  * "type": "folder",
11995
12231
  * "label": "Project Folder",
11996
- * "collection_pi": "01JCOLLECTION123456789ABCD",
12232
+ * "collection_id": "01JCOLLECTION123456789ABCD",
11997
12233
  * "created_at": "2025-01-10T08:00:00.000Z",
11998
12234
  * "updated_at": "2025-01-18T16:45:00.000Z",
11999
12235
  * "relationships": [
12000
12236
  * {
12001
12237
  * "direction": "outgoing",
12002
12238
  * "predicate": "contains",
12003
- * "peer_pi": "01KE506KZGD8M2P1XK3VNQT4YR",
12239
+ * "peer_id": "01KE506KZGD8M2P1XK3VNQT4YR",
12004
12240
  * "peer_type": "file",
12005
12241
  * "peer_label": "Research Paper.pdf",
12006
12242
  * "properties": {},
@@ -12008,7 +12244,7 @@ type components = {
12008
12244
  * "id": "01KE506KZGD8M2P1XK3VNQT4YR",
12009
12245
  * "type": "file",
12010
12246
  * "label": "Research Paper.pdf",
12011
- * "collection_pi": "01JCOLLECTION123456789ABCD",
12247
+ * "collection_id": "01JCOLLECTION123456789ABCD",
12012
12248
  * "description_preview": "Analysis of entity management patterns and best practices...",
12013
12249
  * "created_at": "2025-01-15T10:00:00.000Z",
12014
12250
  * "updated_at": "2025-01-20T14:30:00.000Z"
@@ -12022,10 +12258,10 @@ type components = {
12022
12258
  * @description Entity ID (ULID format)
12023
12259
  * @example 01KDETYWYWM0MJVKM8DK3AEXPY
12024
12260
  */
12025
- pi: string;
12261
+ id: string;
12026
12262
  type: string;
12027
12263
  label: string;
12028
- collection_pi: string | null;
12264
+ collection_id: string | null;
12029
12265
  /** Format: date-time */
12030
12266
  created_at: string;
12031
12267
  /** Format: date-time */
@@ -12074,15 +12310,15 @@ type components = {
12074
12310
  /**
12075
12311
  * @description Query result entity with optional expansion data
12076
12312
  * @example {
12077
- * "pi": "01KE4ZY69F9R40E88PK9S0TQRQ",
12313
+ * "id": "01KE4ZY69F9R40E88PK9S0TQRQ",
12078
12314
  * "type": "person",
12079
12315
  * "label": "Albert Einstein",
12080
- * "collection_pi": "01JCOLL_RESEARCH",
12316
+ * "collection_id": "01JCOLL_RESEARCH",
12081
12317
  * "preview_data": {
12082
12318
  * "id": "01KE4ZY69F9R40E88PK9S0TQRQ",
12083
12319
  * "type": "person",
12084
12320
  * "label": "Albert Einstein",
12085
- * "collection_pi": "01JCOLL_RESEARCH",
12321
+ * "collection_id": "01JCOLL_RESEARCH",
12086
12322
  * "description_preview": "German-born theoretical physicist who developed the theory of relativity...",
12087
12323
  * "created_at": "2025-01-15T10:00:00.000Z",
12088
12324
  * "updated_at": "2025-01-20T14:30:00.000Z"
@@ -12094,13 +12330,13 @@ type components = {
12094
12330
  * @description Entity ID (ULID format)
12095
12331
  * @example 01KDETYWYWM0MJVKM8DK3AEXPY
12096
12332
  */
12097
- pi: string;
12333
+ id: string;
12098
12334
  /** @example person */
12099
12335
  type: string;
12100
12336
  /** @example Albert Einstein */
12101
12337
  label: string;
12102
12338
  /** @example 01JCOLL_RESEARCH */
12103
- collection_pi: string | null;
12339
+ collection_id: string | null;
12104
12340
  preview_data?: components["schemas"]["EntityPreview"] & unknown;
12105
12341
  full_entity?: components["schemas"]["EntityResponse"] & unknown;
12106
12342
  };
@@ -12145,6 +12381,26 @@ type components = {
12145
12381
  * @enum {string}
12146
12382
  */
12147
12383
  expand?: "none" | "preview" | "full";
12384
+ /**
12385
+ * @description Filter by indexed metadata properties during semantic search.
12386
+ *
12387
+ * Only underscore-prefixed properties (`_year`, `_class`, etc.) are indexed as filterable metadata.
12388
+ *
12389
+ * **Operators:** `$eq`, `$ne`, `$gt`, `$gte`, `$lt`, `$lte`, `$in`, `$nin`, `$exists`, `$and`, `$or`
12390
+ *
12391
+ * **Example - Find letters from the 1800s:**
12392
+ * ```json
12393
+ * { "_year": { "$gte": 1800, "$lte": 1899 } }
12394
+ * ```
12395
+ * @example {
12396
+ * "_year": {
12397
+ * "$gt": 1800
12398
+ * }
12399
+ * }
12400
+ */
12401
+ filter?: {
12402
+ [key: string]: unknown;
12403
+ };
12148
12404
  };
12149
12405
  MessageTooLargeDetails: {
12150
12406
  /** @enum {string} */
@@ -12308,7 +12564,7 @@ type components = {
12308
12564
  * @description Entity ID (ULID format)
12309
12565
  * @example 01KDETYWYWM0MJVKM8DK3AEXPY
12310
12566
  */
12311
- pi: string;
12567
+ id: string;
12312
12568
  /**
12313
12569
  * @description Entity version number
12314
12570
  * @example 1
@@ -12341,7 +12597,7 @@ type components = {
12341
12597
  * @description Entity ID (ULID format)
12342
12598
  * @example 01KDETYWYWM0MJVKM8DK3AEXPY
12343
12599
  */
12344
- pi: string;
12600
+ id: string;
12345
12601
  /**
12346
12602
  * @description Entity version number
12347
12603
  * @example 1
@@ -12388,7 +12644,7 @@ type components = {
12388
12644
  * @description Entity ID (ULID format)
12389
12645
  * @example 01KDETYWYWM0MJVKM8DK3AEXPY
12390
12646
  */
12391
- pi: string;
12647
+ id: string;
12392
12648
  /**
12393
12649
  * @description Entity version number
12394
12650
  * @example 1