@autorag/librarian 2.4.2 → 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/NOTICE +68 -0
  2. package/README.md +71 -29
  3. package/dist/agent/agent.d.ts +65 -1
  4. package/dist/agent/fast-answer-tool.d.ts +46 -0
  5. package/dist/agent/peer-target-tool.d.ts +19 -0
  6. package/dist/agent/search-all-tool.d.ts +3 -0
  7. package/dist/agent/search-datasource-tool.d.ts +3 -0
  8. package/dist/agent/search-documents.d.ts +50 -5
  9. package/dist/agent/search-minsync-tool.d.ts +3 -0
  10. package/dist/agent/system-prompt.d.ts +1 -0
  11. package/dist/cli/commands/gateway.d.ts +7 -0
  12. package/dist/cli/commands/models.d.ts +18 -0
  13. package/dist/cli/commands/p2p-policy.d.ts +2 -0
  14. package/dist/cli/commands/p2p.d.ts +7 -0
  15. package/dist/cli/commands/serve.d.ts +18 -0
  16. package/dist/cli/commands/setup.d.ts +2 -0
  17. package/dist/cli/commands/tui.d.ts +1 -1
  18. package/dist/cli/config.d.ts +20 -0
  19. package/dist/cli/index.js +6285 -1613
  20. package/dist/cli/output.d.ts +6 -0
  21. package/dist/cli/setup.d.ts +59 -0
  22. package/dist/core.js +4657 -1271
  23. package/dist/datasource/connector-skill.d.ts +1 -1
  24. package/dist/datasource/connector.d.ts +1 -1
  25. package/dist/datasource/index.d.ts +0 -1
  26. package/dist/datasource/skills/discrawl/client.d.ts +6 -2
  27. package/dist/datasource/skills/discrawl/index.d.ts +1 -1
  28. package/dist/datasource/skills/discrawl/skill.d.ts +2 -1
  29. package/dist/datasource/skills/discrawl/types.d.ts +22 -0
  30. package/dist/datasource/skills/factory.d.ts +2 -1
  31. package/dist/datasource/skills/katok/client.d.ts +4 -7
  32. package/dist/datasource/skills/katok/types.d.ts +1 -6
  33. package/dist/embedding-runtime/cache.d.ts +21 -0
  34. package/dist/embedding-runtime/gateway.d.ts +27 -0
  35. package/dist/embedding-runtime/index.d.ts +120 -0
  36. package/dist/embedding-runtime/manifest.d.ts +24 -0
  37. package/dist/embedding-runtime/supervisor.d.ts +74 -0
  38. package/dist/embedding-runtime/types.d.ts +66 -0
  39. package/dist/filesystem/source-paths.d.ts +27 -0
  40. package/dist/index.js +4663 -1274
  41. package/dist/minsync/client.d.ts +24 -0
  42. package/dist/minsync/embedder-config.d.ts +12 -0
  43. package/dist/minsync/index.d.ts +4 -3
  44. package/dist/minsync/local-embedder.d.ts +16 -0
  45. package/dist/minsync/method.d.ts +3 -0
  46. package/dist/minsync/types.d.ts +9 -0
  47. package/dist/mirror/sync.d.ts +1 -0
  48. package/dist/observability/run-log.d.ts +2 -0
  49. package/dist/p2p/approval-store.d.ts +31 -0
  50. package/dist/p2p/egress-gate.d.ts +22 -0
  51. package/dist/p2p/file-sharing.d.ts +33 -0
  52. package/dist/p2p/injection-classifier.d.ts +33 -0
  53. package/dist/p2p/injection-gate.d.ts +37 -0
  54. package/dist/p2p/pii-gate.d.ts +47 -0
  55. package/dist/p2p/policy-filter.d.ts +15 -0
  56. package/dist/p2p/policy.d.ts +77 -0
  57. package/dist/p2p/simplex-server.d.ts +95 -0
  58. package/dist/p2p/simplex-transport.d.ts +38 -0
  59. package/dist/p2p/wire.d.ts +39 -0
  60. package/dist/process/terminate-tree.d.ts +20 -0
  61. package/licenses/apache-2.0.txt +202 -0
  62. package/licenses/embedding-assets.json +104 -0
  63. package/licenses/gemma-notice.txt +24 -0
  64. package/licenses/gemma-section-3.2-flow-down.txt +9 -0
  65. package/licenses/gemma-terms-of-use.html +4750 -0
  66. package/licenses/gemma-terms-of-use.txt +158 -0
  67. package/licenses/llama.cpp-MIT.txt +21 -0
  68. package/licenses/qwen3-embedding-notice.txt +13 -0
  69. package/package.json +14 -9
  70. package/skills/autorag/SKILL.md +16 -6
  71. package/skills/autorag-lite-setup/SKILL.md +2 -2
  72. package/skills/autorag-setup/SKILL.md +7 -9
  73. package/dist/datasource/skills/gmail/connector.d.ts +0 -30
  74. package/dist/datasource/skills/gmail/index.d.ts +0 -2
  75. package/dist/datasource/skills/gmail/skill.d.ts +0 -24
@@ -0,0 +1,158 @@
1
+ Gemma Terms of Use
2
+
3
+ Source: https://ai.google.dev/gemma/terms
4
+ Retrieved for this compliance bundle on 2026-09-14. The text below is copied from the current source page.
5
+
6
+ The terms below apply to Gemma models listed in the Appendix at bottom of this page. For Gemma 4 terms, see the Gemma 4 license.
7
+
8
+ Last modified: April 1, 2026
9
+
10
+ By using, reproducing, modifying, distributing, performing or displaying any portion or element of Gemma, Model Derivatives including via any Hosted Service, (each as defined below) (collectively, the "Gemma Services") or otherwise accepting the terms of this Agreement, you agree to be bound by this Agreement.
11
+
12
+ Section 1: DEFINITIONS
13
+
14
+ 1.1 Definitions
15
+
16
+ (a) "Agreement" or "Gemma Terms of Use" means these terms and conditions that govern the use, reproduction, Distribution or modification of the Gemma Services and any terms and conditions incorporated by reference.
17
+
18
+ (b) "Distribution" or "Distribute" means any transmission, publication, or other sharing of Gemma or Model Derivatives to a third party, including by providing or making Gemma or its functionality available as a hosted service via API, web access, or any other electronic or remote means ("Hosted Service").
19
+
20
+ (c) "Gemma" means the set of machine learning language models, trained model weights and parameters identified in the Appendix, regardless of the source that you obtained it from.
21
+
22
+ (d) "Google" means Google LLC.
23
+
24
+ (e) "Model Derivatives" means all (i) modifications to Gemma, (ii) works based on Gemma, or (iii) any other machine learning model which is created by transfer of patterns of the weights, parameters, operations, or Output of Gemma, to that model in order to cause that model to perform similarly to Gemma, including distillation methods that use intermediate data representations or methods based on the generation of synthetic data Outputs by Gemma for training that model. For clarity, Outputs are not deemed Model Derivatives.
25
+
26
+ (f) "Output" means the information content output of Gemma or a Model Derivative that results from operating or otherwise using Gemma or the Model Derivative, including via a Hosted Service.
27
+
28
+ 1.2
29
+
30
+ As used in this Agreement, "including" means "including without limitation".
31
+
32
+ Section 2: ELIGIBILITY AND USAGE
33
+
34
+ 2.1 Eligibility
35
+
36
+ You represent and warrant that you have the legal capacity to enter into this Agreement (including being of sufficient age of consent). If you are accessing or using any of the Gemma Services for or on behalf of a legal entity, (a) you are entering into this Agreement on behalf of yourself and that legal entity, (b) you represent and warrant that you have the authority to act on behalf of and bind that entity to this Agreement and (c) references to "you" or "your" in the remainder of this Agreement refers to both you (as an individual) and that entity.
37
+
38
+ 2.2 Use
39
+
40
+ You may use, reproduce, modify, Distribute, perform or display any of the Gemma Services only in accordance with the terms of this Agreement, and must not violate (or encourage or permit anyone else to violate) any term of this Agreement.
41
+
42
+ Section 3: DISTRIBUTION AND RESTRICTIONS
43
+
44
+ 3.1 Distribution and Redistribution
45
+
46
+ You may reproduce or Distribute copies of Gemma or Model Derivatives if you meet all of the following conditions:
47
+
48
+ You must include the use restrictions referenced in Section 3.2 as an enforceable provision in any agreement (e.g., license agreement, terms of use, etc.) governing the use and/or distribution of Gemma or Model Derivatives and you must provide notice to subsequent users you Distribute to that Gemma or Model Derivatives are subject to the use restrictions in Section 3.2.
49
+
50
+ You must provide all third party recipients of Gemma or Model Derivatives a copy of this Agreement.
51
+
52
+ You must cause any modified files to carry prominent notices stating that you modified the files.
53
+
54
+ All Distributions (other than through a Hosted Service) must be accompanied by a "Notice" text file that contains the following notice: "Gemma is provided under and subject to the Gemma Terms of Use found at ai.google.dev/gemma/terms".
55
+
56
+ You may add your own intellectual property statement to your modifications and, except as set forth in this Section, may provide additional or different terms and conditions for use, reproduction, or Distribution of your modifications, or for any such Model Derivatives as a whole, provided your use, reproduction, modification, Distribution, performance, and display of Gemma otherwise complies with the terms and conditions of this Agreement. Any additional or different terms and conditions you impose must not conflict with the terms of this Agreement.
57
+
58
+ 3.2 Use Restrictions
59
+
60
+ You must not use any of the Gemma Services:
61
+
62
+ for the restricted uses set forth in the Gemma Prohibited Use Policy at ai.google.dev/gemma/prohibited_use_policy ("Prohibited Use Policy"), which is hereby incorporated by reference into this Agreement; or
63
+
64
+ in violation of applicable laws and regulations.
65
+
66
+ To the maximum extent permitted by law, Google reserves the right to restrict (remotely or otherwise) usage of any of the Gemma Services that Google reasonably believes are in violation of this Agreement.
67
+
68
+ 3.3 Generated Output
69
+
70
+ Google claims no rights in Outputs you generate using Gemma. You and your users are solely responsible for Outputs and their subsequent uses.
71
+
72
+ Section 4: ADDITIONAL PROVISIONS
73
+
74
+ 4.1 Updates
75
+
76
+ Google may update Gemma from time to time.
77
+
78
+ 4.2 Trademarks
79
+
80
+ Nothing in this Agreement grants you any rights to use Google's trademarks, trade names, logos or to otherwise suggest endorsement or misrepresent the relationship between you and Google. Google reserves any rights not expressly granted herein.
81
+
82
+ 4.3 DISCLAIMER OF WARRANTY
83
+
84
+ UNLESS REQUIRED BY APPLICABLE LAW, THE GEMMA SERVICES, AND OUTPUTS, ARE PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. YOU ARE SOLELY RESPONSIBLE FOR DETERMINING THE APPROPRIATENESS OF USING, REPRODUCING, MODIFYING, PERFORMING, DISPLAYING OR DISTRIBUTING ANY OF THE GEMMA SERVICES OR OUTPUTS AND ASSUME ANY AND ALL RISKS ASSOCIATED WITH YOUR USE OR DISTRIBUTION OF ANY OF THE GEMMA SERVICES OR OUTPUTS AND YOUR EXERCISE OF RIGHTS AND PERMISSIONS UNDER THIS AGREEMENT.
85
+
86
+ 4.4 LIMITATION OF LIABILITY
87
+
88
+ TO THE FULLEST EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING NEGLIGENCE), PRODUCT LIABILITY, CONTRACT, OR OTHERWISE, UNLESS REQUIRED BY APPLICABLE LAW, SHALL GOOGLE OR ITS AFFILIATES BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, EXEMPLARY, CONSEQUENTIAL, OR PUNITIVE DAMAGES, OR LOST PROFITS OF ANY KIND ARISING FROM THIS AGREEMENT OR RELATED TO, ANY OF THE GEMMA SERVICES OR OUTPUTS EVEN IF GOOGLE OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
89
+
90
+ 4.5 Term, Termination, and Survival
91
+
92
+ The term of this Agreement will commence upon your acceptance of this Agreement (including acceptance by your use, modification, or Distribution, reproduction, performance or display of any portion or element of the Gemma Services) and will continue in full force and effect until terminated in accordance with the terms of this Agreement. Google may terminate this Agreement if you are in breach of any term of this Agreement. Upon termination of this Agreement, you must delete and cease use and Distribution of all copies of Gemma and Model Derivatives in your possession or control. Sections 1, 2.1, 3.3, 4.2 to 4.9 shall survive the termination of this Agreement.
93
+
94
+ 4.6 Governing Law and Jurisdiction
95
+
96
+ This Agreement will be governed by the laws of the State of California without regard to choice of law principles. The UN Convention on Contracts for the International Sale of Goods does not apply to this Agreement. The state and federal courts of Santa Clara County, California shall have exclusive jurisdiction of any dispute arising out of this Agreement.
97
+
98
+ 4.7 Severability
99
+
100
+ If any provision of this Agreement is held to be invalid, illegal or unenforceable, the remaining provisions shall be unaffected thereby and remain valid as if such provision had not been set forth herein.
101
+
102
+ 4.8 Entire Agreement
103
+
104
+ This Agreement states all the terms agreed between the parties and supersedes all other agreements between the parties as of the date of acceptance relating to its subject matter.
105
+
106
+ 4.9 No Waiver
107
+
108
+ Google will not be treated as having waived any rights by not exercising (or delaying the exercise of) any rights under this Agreement.
109
+
110
+ Appendix
111
+
112
+ Gemma 1
113
+
114
+ Gemma 1.1
115
+
116
+ Gemma 2
117
+
118
+ Gemma 3
119
+
120
+ Gemma 3n
121
+
122
+ FunctionGemma
123
+
124
+ EmbeddingGemma
125
+
126
+ PaliGemma
127
+
128
+ PaliGemma 2
129
+
130
+ ShieldGemma
131
+
132
+ ShieldGemma 2
133
+
134
+ CodeGemma
135
+
136
+ CodeGemma 1.1
137
+
138
+ Gemma 2 JPN
139
+
140
+ DataGemma RIG
141
+
142
+ DataGemma RAG
143
+
144
+ RecurrentGemma
145
+
146
+ Gemma Scope
147
+
148
+ Gemma-APS
149
+
150
+ T5Gemma
151
+
152
+ VaultGemma
153
+
154
+ FunctionGemma
155
+
156
+ T5Gemma 2
157
+
158
+ TranslateGemma
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2023-2026 The ggml authors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,13 @@
1
+ Qwen3-Embedding-0.6B
2
+
3
+ The Qwen3-Embedding-0.6B model asset is provided under the Apache License, Version 2.0. The pinned GGUF asset is published by Qwen at:
4
+ https://huggingface.co/Qwen/Qwen3-Embedding-0.6B-GGUF
5
+
6
+ Model card and pinned asset revision:
7
+ https://huggingface.co/Qwen/Qwen3-Embedding-0.6B-GGUF/tree/370f27d7550e0def9b39c1f16d3fbaa13aa67728
8
+
9
+ Apache License, Version 2.0:
10
+ https://www.apache.org/licenses/LICENSE-2.0
11
+ The text is also included in licenses/apache-2.0.txt.
12
+
13
+ This notice identifies the model license and provenance. The model weights are not included in the npm package; release jobs fetch the immutable URL in licenses/embedding-assets.json and verify its SHA-256 before staging.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@autorag/librarian",
3
- "version": "2.4.2",
3
+ "version": "2.5.0",
4
4
  "description": "Self-evolving librarian agent on Pi framework with pluggable retrieval methods",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -26,7 +26,9 @@
26
26
  "files": [
27
27
  "dist",
28
28
  "skills",
29
- "README.md"
29
+ "README.md",
30
+ "NOTICE",
31
+ "licenses"
30
32
  ],
31
33
  "publishConfig": {
32
34
  "access": "public"
@@ -39,18 +41,20 @@
39
41
  "test:windows": "node scripts/run-test-files.mjs",
40
42
  "check": "biome check --write .",
41
43
  "lint": "biome check .",
42
- "typecheck": "tsc --noEmit"
44
+ "typecheck": "tsc --noEmit",
45
+ "check:embedding-manifest": "node scripts/check-embedding-manifest.mjs",
46
+ "supply-chain": "bun scripts/supply-chain/evaluate.ts gate --sbom sbom.local.cdx.json"
43
47
  },
44
48
  "engines": {
45
49
  "node": ">=24.0.0"
46
50
  },
47
51
  "dependencies": {
48
- "@earendil-works/pi-agent-core": "^0.84.4",
49
- "@earendil-works/pi-ai": "^0.84.4",
50
- "@earendil-works/pi-coding-agent": "0.84.4",
51
- "@earendil-works/pi-tui": "0.84.4",
52
+ "@earendil-works/pi-agent-core": "^0.85.1",
53
+ "@earendil-works/pi-ai": "^0.85.1",
54
+ "@earendil-works/pi-coding-agent": "0.85.1",
55
+ "@earendil-works/pi-tui": "0.85.1",
52
56
  "@opendataloader/pdf": "^2.5.7",
53
- "@rhwp/core": "0.8.4",
57
+ "@rhwp/core": "0.8.6",
54
58
  "chardet": "^2.2.0",
55
59
  "fast-xml-parser": "^5.11.1",
56
60
  "iconv-lite": "^0.7.3",
@@ -67,7 +71,8 @@
67
71
  "@biomejs/biome": "2.5.12",
68
72
  "@types/mailparser": "^3.4.6",
69
73
  "@types/node": "^26.4.1",
74
+ "@types/ws": "^8.18.1",
70
75
  "typescript": "^7.0.2",
71
- "vitest": "^4.1.11"
76
+ "vitest": "^5.0.0"
72
77
  }
73
78
  }
@@ -103,21 +103,27 @@ autorag feedback <sessionId> --useful 1,3 --not-useful 2 --json
103
103
  autorag status --json
104
104
  autorag health --json
105
105
  autorag refresh --json
106
- autorag refresh --method bm25,minsync,jikji --json
106
+ autorag refresh --method minsync,jikji --json
107
107
  autorag watch --once --json
108
108
  autorag watch
109
109
  autorag refresh --force --json
110
110
  autorag index rebuild --yes --json
111
- autorag index reset --method bm25 --yes --json
111
+ autorag index reset --method parsed --yes --json
112
112
  autorag memory inspect --json
113
+ autorag tui
114
+ autorag serve --force
115
+ autorag p2p policy list --json
113
116
  ```
114
117
 
115
118
  Prefer a full refresh so parsed mirrors, MinSync, Jikji, and configured
116
119
  datasources stay aligned. `--method` accepts
117
- `parsed,minsync,datasources,jikji,all`. Use it only for deliberate
118
- narrowing. Scheduled maintenance should use non-daemon `autorag watch --once`,
119
- typically every 15–30 minutes, with the same config used by search and no
120
- overlapping runs.
120
+ `parsed,minsync,datasources,jikji,all`. BM25 is a MinSync retrieval mode, not
121
+ a `--method` name. Use `--method` only for deliberate narrowing. Scheduled
122
+ maintenance should use non-daemon `autorag watch --once`, typically every
123
+ 1 hour, with the same config used by search and no overlapping runs.
124
+ `autorag tui` is the shipped beta terminal UI. `autorag serve` / `autorag p2p`
125
+ are opt-in SimpleX peer sharing (disabled until `p2p.enabled` is true, unless
126
+ `--force`).
121
127
 
122
128
  Reset and rebuild commands remove only selected workspace `.autorag` indexes.
123
129
  Never target source documents. `memory inspect` is read-only and path-opaque.
@@ -131,3 +137,7 @@ Never target source documents. `memory inspect` is read-only and path-opaque.
131
137
  - Preserve real source mapping and numbered feedback identifiers.
132
138
  - Prefer `--json --debug` when another agent consumes search output or will
133
139
  call `autorag feedback`.
140
+ - Do not invent CLI commands. `autorag --help` is the command list of record,
141
+ including the shipped `gateway`, `models`, `serve`, `p2p`, `tui`, and `lite`
142
+ commands. See `docs/embedding-runtime.md` for the local embedding runtime
143
+ and gateway setup.
@@ -77,14 +77,14 @@ setup. Configure datasources directly in trusted config, wizard-style:
77
77
  list to the user, with what is missing for each.
78
78
  4. Set up a skipped datasource only when the user explicitly asks for it:
79
79
  install or authenticate the backing CLI first, then configure it.
80
- 5. E-mail datasources (`gmail`, `mail-export`, `mailcrawl`) matter to most
80
+ 5. E-mail datasources (`mail-export`, `mailcrawl`) matter to most
81
81
  users — always probe them and report their status, even when they end up
82
82
  skipped.
83
83
 
84
84
  Datasource skills belong in trusted config and remain default-deny.
85
85
 
86
86
  Config keys may be builtin template names (`kakao`, `whatsapp`, `telegram`,
87
- `slack`, `discord`, `clawgallery`, `notion`, `github`, `cloud-drive`, `gmail`,
87
+ `slack`, `discord`, `clawgallery`, `notion`, `github`, `cloud-drive`,
88
88
  `mail-export`, `mailcrawl`, `obsidian`, `rss`, `spotlight`) or connection
89
89
  aliases with `"type": "<template>"`. Unknown names are skipped with an
90
90
  `unknown-datasource-skill` warning; they do not fail config resolution.
@@ -185,13 +185,13 @@ setup. Configure datasources directly in trusted config, wizard-style:
185
185
  list to the user, with what is missing for each.
186
186
  4. Set up a skipped datasource only when the user explicitly asks for it:
187
187
  install or authenticate the backing CLI first, then configure it.
188
- 5. E-mail datasources (`gmail`, `mail-export`, `mailcrawl`) matter to most
188
+ 5. E-mail datasources (`mail-export`, `mailcrawl`) matter to most
189
189
  users — always probe them and report their status, even when they end up
190
190
  skipped.
191
191
 
192
192
  Datasource skills belong in trusted config and remain default-deny. Builtin
193
193
  template names are `kakao`, `whatsapp`, `telegram`, `slack`, `discord`,
194
- `clawgallery`, `notion`, `github`, `cloud-drive`, `gmail`, `mail-export`,
194
+ `clawgallery`, `notion`, `github`, `cloud-drive`, `mail-export`,
195
195
  `mailcrawl`, `obsidian`, `rss`, and `spotlight`. Config keys may be connection
196
196
  aliases with `"type": "<template>"`. Unknown names are skipped with an
197
197
  `unknown-datasource-skill` warning; they do not fail config resolution.
@@ -203,14 +203,13 @@ aliases with `"type": "<template>"`. Unknown names are skipped with an
203
203
  "github": { "connector": { "repos": ["owner/repo"], "tokenEnv": "GITHUB_TOKEN" } },
204
204
  "google-drive": { "type": "cloud-drive", "connector": { "provider": "google-drive", "remote": "gdrive:" } },
205
205
  "archive-drive": { "type": "cloud-drive", "connector": { "remote": "archive:" } },
206
- "gmail": { "connector": { "tokenEnv": "GMAIL_ACCESS_TOKEN", "labelIds": ["INBOX"] } },
207
206
  "mailcrawl": { "instanceId": "personal", "connector": { "account": "personal", "mailbox": "INBOX", "binaryPath": "mailcrawl" } },
208
207
  "obsidian": { "connector": { "vaultPath": "/path/to/vault" } },
209
208
  "rss": { "connector": { "feeds": [{ "url": "https://example.com/feed.xml" }] } }
210
209
  },
211
210
  "datasourceAccess": {
212
- "allowedTags": ["github", "cloud-drive", "gmail", "mailcrawl", "obsidian", "rss"],
213
- "allowedScopes": ["/github/**", "/google-drive/**", "/archive-drive/**", "/gmail/**", "/mailcrawl/**", "/obsidian/**", "/rss/**"]
211
+ "allowedTags": ["github", "cloud-drive", "mailcrawl", "obsidian", "rss"],
212
+ "allowedScopes": ["/github/**", "/google-drive/**", "/archive-drive/**", "/mailcrawl/**", "/obsidian/**", "/rss/**"]
214
213
  }
215
214
  }
216
215
  ```
@@ -218,14 +217,13 @@ aliases with `"type": "<template>"`. Unknown names are skipped with an
218
217
  Tokens are environment-variable names, not raw secrets. CLI-backed connectors
219
218
  keep authentication in their external tool configuration.
220
219
 
221
- Mailcrawl must be installed separately (`@nomadamas/mailcrawl@0.1.4` or newer)
220
+ Mailcrawl must be installed separately (`@nomadamas/mailcrawl@0.1.6` or newer)
222
221
  and configured through its own Himalaya account. AutoRAG runs its local `sync`
223
222
  and `index` lifecycle, then uses the mailcrawl CLI for BM25, semantic, or
224
223
  hybrid search. Do not use 0.1.3 or earlier: a no-op sync followed by `index`
225
224
  fails with `text array must be non-empty`.
226
- Use mailcrawl for Himalaya-backed IMAP/Maildir retrieval. The legacy
227
- `gmail` connector option `backend: "himalaya"` is no longer registered; migrate
228
- that configuration to an explicit `mailcrawl` datasource.
225
+ Use mailcrawl for Gmail, IMAP, and Maildir retrieval. The former Gmail REST
226
+ datasource is removed.
229
227
 
230
228
  ## Verify and build indexes
231
229
 
@@ -1,30 +0,0 @@
1
- /**
2
- * Gmail connector (issue #1304).
3
- *
4
- * Lists and fetches messages through the Gmail REST v1 API with a trusted,
5
- * server-configured OAuth access token. Per-message fetch failures degrade
6
- * to warnings. Never throws; messages stay path/PII-opaque (addresses appear
7
- * only inside indexed chunk content, never in diagnostics).
8
- */
9
- import type { ConnectorFetchResult, DatasourceConnector } from "../../connector.js";
10
- export interface GmailConnectorOptions {
11
- /** Gmail REST base; override to point at a mock server in tests. */
12
- readonly baseUrl?: string;
13
- /** OAuth access token; explicit value wins over {@link tokenEnv}. */
14
- readonly token?: string;
15
- /** Env var name holding the access token. Default `GMAIL_ACCESS_TOKEN`. */
16
- readonly tokenEnv?: string;
17
- /** Restrict to these label ids (e.g. `["INBOX"]`). */
18
- readonly labelIds?: readonly string[];
19
- /** Gmail search query (the `q` parameter). */
20
- readonly query?: string;
21
- readonly timeoutMs?: number;
22
- readonly fetchImpl?: typeof fetch;
23
- readonly maxPages?: number;
24
- readonly maxDocuments?: number;
25
- }
26
- export declare class GmailConnector implements DatasourceConnector {
27
- private readonly options;
28
- constructor(options?: GmailConnectorOptions);
29
- fetch(signal?: AbortSignal): Promise<ConnectorFetchResult>;
30
- }
@@ -1,2 +0,0 @@
1
- export { GmailConnector, type GmailConnectorOptions } from "./connector.js";
2
- export { GMAIL_SKILL_DEFINITION, GmailSkill, type GmailSkillOptions } from "./skill.js";
@@ -1,24 +0,0 @@
1
- /**
2
- * Gmail datasource skill (issue #1304).
3
- *
4
- * Thin composition of GmailConnector with the shared
5
- * {@link ConnectorDatasourceSkill} base: descriptor, polling metadata,
6
- * ok/fail indexing with path/PII-opaque diagnostics, lexical retrieval via
7
- * the shared pipeline, opaque `/gmail/<instance>/…` sources, and a
8
- * progressive-disclosure agent-skill manifest.
9
- */
10
- import type { DatasourceConnector } from "../../connector.js";
11
- import { ConnectorDatasourceSkill, type ConnectorSkillDefinition, type ConnectorSkillOptions } from "../../connector-skill.js";
12
- import { type GmailConnectorOptions } from "./connector.js";
13
- export declare const GMAIL_SKILL_DEFINITION: ConnectorSkillDefinition;
14
- export interface GmailSkillOptions extends Omit<ConnectorSkillOptions, "connector"> {
15
- /**
16
- * Trusted pre-built connector; wins over {@link connectorOptions}. Accepts
17
- * any compatible mail-backed connector.
18
- */
19
- readonly connector?: DatasourceConnector;
20
- readonly connectorOptions?: GmailConnectorOptions;
21
- }
22
- export declare class GmailSkill extends ConnectorDatasourceSkill {
23
- constructor(options?: GmailSkillOptions);
24
- }