keep-skill 0.4.1__py3-none-any.whl → 0.6.0__py3-none-any.whl

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.
@@ -0,0 +1,299 @@
1
+ ---
2
+ tags:
3
+ category: system
4
+ context: practice
5
+ ---
6
+ # Conversation Patterns for Process Knowledge
7
+
8
+ This document describes patterns for recognizing, tracking, and learning from
9
+ the structure of work — not *what* we know, but *how work proceeds*.
10
+
11
+ These patterns are grounded in the Language-Action Perspective (Winograd & Flores),
12
+ which treats work as networks of commitments made through language.
13
+
14
+ ---
15
+
16
+ ## Decision Matrix: What Kind of Conversation Is This?
17
+
18
+ | Signal | Conversation Type | Your Stance | Don't Do This |
19
+ |--------|-------------------|-------------|---------------|
20
+ | "Can you...", "Please...", "I need..." | **Action** | Clarify → Promise → Deliver | Promise before understanding |
21
+ | "What if...", "Imagine...", "Could we..." | **Possibility** | Explore, generate options, hold lightly | Commit prematurely |
22
+ | "What is...", "How does...", "Why..." | **Clarification** | Explain until understanding lands | Over-answer; assume you know the real question |
23
+ | "I'm trying to understand...", "Context is..." | **Orientation** | Listen, reflect back, surface assumptions | Jump to solutions |
24
+ | "Here's what I found...", "Status update..." | **Report** | Acknowledge, ask what's needed next | Assume it's a request |
25
+
26
+ **Transition signals** (conversation type is shifting):
27
+ - Possibility → Action: "Let's do X" / "I want to go with..."
28
+ - Clarification → Action: "Ok, so please..." / "Now that I understand..."
29
+ - Orientation → Clarification: "So what does X mean?" / "Help me understand..."
30
+
31
+ **When uncertain:** Ask. "Are you exploring options, or would you like me to do something?"
32
+
33
+ ---
34
+
35
+ ## Core Insight
36
+
37
+ Work is not information processing. Work is **commitment management**.
38
+
39
+ When an agent assists with a task, it participates in a conversation with structure:
40
+ - Requests create openings
41
+ - Promises create obligations
42
+ - Completion is declared, not merely achieved
43
+ - Satisfaction closes the loop
44
+
45
+ Understanding *where we are* in this structure is as important as understanding
46
+ *what we know* about the subject matter.
47
+
48
+ ---
49
+
50
+ ## The Basic Conversation for Action
51
+
52
+ ```
53
+ Customer Performer
54
+ │ │
55
+ │──── 1. Request ────────────────→│
56
+ │ │
57
+ │←─── 2. Promise (or Counter) ────│
58
+ │ │
59
+ │ [ work happens ] │
60
+ │ │
61
+ │←─── 3. Declare Complete ────────│
62
+ │ │
63
+ │──── 4. Declare Satisfied ──────→│
64
+ │ │
65
+ ```
66
+
67
+ At any point: Withdraw, Decline, Renegotiate.
68
+
69
+ **For agents:** Recognizing this structure helps answer:
70
+ - "What has been asked of me?"
71
+ - "What have I committed to?"
72
+ - "What does 'done' look like?"
73
+ - "Who needs to be satisfied?"
74
+
75
+ ---
76
+
77
+ ## Conversation Types
78
+
79
+ ### Request for Action
80
+ Someone asks for something to be done.
81
+
82
+ **Recognize by:** Imperative language, "can you", "please", "I need"
83
+
84
+ **Track:**
85
+ - What specifically was requested?
86
+ - Any conditions or constraints?
87
+ - Implicit quality criteria?
88
+ - Who is the customer (who declares satisfaction)?
89
+
90
+ **Completion:** Customer declares satisfaction, not performer declares done.
91
+
92
+ ### Request for Information
93
+ Someone asks to know something.
94
+
95
+ **Recognize by:** Questions, "what is", "how does", "why"
96
+
97
+ **Track:**
98
+ - What gap in understanding prompted this?
99
+ - What level of detail is appropriate?
100
+ - What would make this answer useful?
101
+
102
+ **Completion:** Questioner indicates understanding (often implicit).
103
+
104
+ ### Offer
105
+ Someone proposes to do something.
106
+
107
+ **Recognize by:** "I could", "would you like me to", "I suggest"
108
+
109
+ **Track:**
110
+ - What conditions on acceptance?
111
+ - What's the scope of the offer?
112
+
113
+ **Completion:** Offer accepted → becomes promise. Offer declined → closed.
114
+
115
+ ### Report / Declaration
116
+ Someone asserts a state of affairs.
117
+
118
+ **Recognize by:** Statements of fact, status updates, "I found that"
119
+
120
+ **Track:**
121
+ - What changed as a result of this declaration?
122
+ - Who needs to know?
123
+
124
+ **Completion:** Acknowledgment (may trigger new conversations).
125
+
126
+ ---
127
+
128
+ ## Conversations for Possibility
129
+
130
+ Possibility conversations explore "what could be" — no commitment yet.
131
+
132
+ **Recognize by:** "What if", "imagine", "we could", "brainstorm", "options"
133
+
134
+ **Your stance:**
135
+ - Generate, don't filter prematurely
136
+ - Hold ideas lightly — nothing is promised
137
+ - Expand the space before narrowing
138
+ - Name options without advocating
139
+
140
+ **Track:**
141
+ - Options generated
142
+ - Constraints surfaced
143
+ - Energy/interest signals ("that's interesting" vs "hmm")
144
+
145
+ **Completion:** Not satisfaction — rather, either:
146
+ - Transition to Action ("let's do X")
147
+ - Explicit close ("good to know our options")
148
+ - Energy dissipates naturally
149
+
150
+ **Critical:** Don't promise during possibility. "I could do X" is an option, not a commitment. The transition to action must be explicit.
151
+
152
+ ```bash
153
+ # Index possibility exploration
154
+ keep update "Explored three auth options: OAuth2, API keys, magic links. \
155
+ User showed interest in magic links for UX simplicity. No decision yet." \
156
+ --tag type=possibility --tag topic=authentication --tag status=open
157
+ ```
158
+
159
+ ---
160
+
161
+ ## Breakdowns: Where Learning Happens
162
+
163
+ A **breakdown** occurs when the normal flow is interrupted:
164
+ - Expected response doesn't come
165
+ - Declared completion isn't satisfactory
166
+ - Preconditions weren't met
167
+ - Ambiguity surfaces mid-work
168
+
169
+ **Breakdowns are valuable.** They reveal assumptions that were invisible.
170
+
171
+ **Pattern for breakdown learning:**
172
+ ```
173
+ 1. Notice: "This isn't going as expected"
174
+ 2. Articulate: "The assumption was X, but actually Y"
175
+ 3. Repair: Complete the immediate conversation
176
+ 4. Record: Capture the learning for future conversations of this type
177
+ ```
178
+
179
+ When indexing a breakdown:
180
+ ```bash
181
+ keep update "Assumption: user wanted full rewrite. Actually: wanted minimal patch." \
182
+ --tag type=breakdown --tag conversation_type=code_change_request
183
+ ```
184
+
185
+ ---
186
+
187
+ ## Nested and Linked Conversations
188
+
189
+ Real work involves conversations within conversations:
190
+
191
+ ```
192
+ User requests feature
193
+ └─ Agent promises feature
194
+ └─ Agent requests clarification (sub-conversation)
195
+ │ └─ User provides clarification
196
+ │ └─ Agent acknowledges (closes sub-conversation)
197
+ └─ Agent declares complete
198
+ └─ User requests revision (linked follow-on)
199
+ └─ ...
200
+ ```
201
+
202
+ **Track parent/child relationships** to understand scope:
203
+ - Completing a sub-conversation doesn't complete the parent
204
+ - Breakdowns in child conversations may propagate up
205
+ - Context flows down (child inherits parent context)
206
+
207
+ ---
208
+
209
+ ## Recurrent Patterns by Domain
210
+
211
+ ### Software Development
212
+
213
+ | Pattern | Structure | Completion Condition |
214
+ |---------|-----------|---------------------|
215
+ | Bug report | Request → Diagnosis → Fix → Verify | User confirms fix works |
216
+ | Feature request | Request → Clarify → Implement → Review → Accept | Stakeholder accepts |
217
+ | Code review | Offer(changes) → Review → Request(revisions) → Update → Approve | Reviewer approves |
218
+ | Refactor | Offer → Scope agreement → Execute → Verify behavior preserved | Tests pass, reviewer approves |
219
+
220
+ ### Research / Analysis
221
+
222
+ | Pattern | Structure | Completion Condition |
223
+ |---------|-----------|---------------------|
224
+ | Question | Request(info) → Search → Synthesize → Present | Questioner satisfied |
225
+ | Hypothesis test | Declare(hypothesis) → Design test → Execute → Report | Evidence evaluated |
226
+ | Literature review | Request → Gather → Synthesize → Summarize | Comprehensive & relevant |
227
+
228
+ ### Planning / Coordination
229
+
230
+ | Pattern | Structure | Completion Condition |
231
+ |---------|-----------|---------------------|
232
+ | Task breakdown | Request(outcome) → Decompose → Commit to parts → Track → Integrate | Outcome achieved |
233
+ | Decision | Present options → Evaluate → Declare choice | Commitment to proceed |
234
+ | Handoff | Declare(status) → Transfer commitments → Acknowledge | Receiving agent accepts |
235
+
236
+ ---
237
+
238
+ ## Agent Handoff as Commitment Transfer
239
+
240
+ When one agent hands off to another:
241
+
242
+ ```bash
243
+ # Outgoing agent records state
244
+ keep now "User requested OAuth2 implementation. I promised and partially delivered. \
245
+ Token acquisition works. Refresh flow incomplete. User awaiting completion." \
246
+ --tag topic=authentication --tag state=handoff
247
+ ```
248
+
249
+ Incoming agent reads this and knows:
250
+ - There's an open promise to the user
251
+ - What "done" looks like
252
+ - Where to pick up
253
+
254
+ ```bash
255
+ # Incoming agent checks context
256
+ keep now
257
+ ```
258
+
259
+ ---
260
+
261
+ ## Learning New Patterns
262
+
263
+ Agents can recognize and record new conversation patterns:
264
+
265
+ ```bash
266
+ keep update "Pattern: Incremental Specification. \
267
+ When requirements are vague, don't promise immediately. \
268
+ Propose interpretation → get correction → repeat until clear. \
269
+ Only then commit to action. Breakdown risk: Promising too early leads to rework." \
270
+ --tag type=conversation_pattern --tag domain=general
271
+ ```
272
+
273
+ ---
274
+
275
+ ## Using Patterns in Practice
276
+
277
+ **At task start:**
278
+ 1. What kind of conversation is this?
279
+ 2. What's my role (customer or performer)?
280
+ 3. What does completion look like?
281
+ 4. Have I seen breakdowns in this pattern before?
282
+
283
+ **Mid-task:**
284
+ 1. Where are we in the conversation structure?
285
+ 2. Have any sub-conversations opened?
286
+ 3. Are there signs of breakdown?
287
+
288
+ **At task end:**
289
+ 1. Was satisfaction declared (not just completion)?
290
+ 2. Any learnings to record?
291
+ 3. Open commitments to hand off?
292
+
293
+ ---
294
+
295
+ ## References
296
+
297
+ - Winograd, T. & Flores, F. (1986). *Understanding Computers and Cognition*
298
+ - Denning, P. & Medina-Mora, R. (1995). "Completing the Loops"
299
+ - Flores, F. et al. (1988). "Computer Systems and the Design of Organizational Interaction"
@@ -0,0 +1,179 @@
1
+ ---
2
+ tags:
3
+ category: system
4
+ context: domains
5
+ ---
6
+ # Domain Patterns
7
+
8
+ This document describes common organization patterns for different use cases.
9
+ These are suggestions, not requirements — adapt them to your needs.
10
+
11
+ **See also:** [conversations.md](conversations.md) for process knowledge —
12
+ understanding *how work proceeds*, not just *what we know*.
13
+
14
+ ---
15
+
16
+ ## Software Development
17
+
18
+ **Collections:**
19
+ | Collection | Purpose |
20
+ |------------|---------|
21
+ | `code` | Source files, organized by the codebase |
22
+ | `docs` | Documentation, READMEs, architecture decisions |
23
+ | `issues` | Bugs, errors, stack traces, problems encountered |
24
+ | `decisions` | "Why did we do X?" — architectural reasoning |
25
+
26
+ **Suggested tags:**
27
+ - `language` — python, typescript, rust, etc.
28
+ - `layer` — frontend, backend, infra, database, cli
29
+ - `module` — auth, api, ui, core, tests
30
+ - `status` — working, broken, needs_review, deprecated
31
+
32
+ **Common conversation patterns:** (see conversations.md)
33
+ - Bug report → Diagnosis → Fix → Verify
34
+ - Feature request → Clarify → Implement → Review → Accept
35
+ - Code review → Revisions → Approve
36
+
37
+ **Agent guidance:**
38
+ - Index every file you read or modify
39
+ - When encountering an error, index it with the error message as content
40
+ - Before searching the filesystem, check `keep find` — you may already know about it
41
+ - Use `keep find --id` to discover related code when working on a feature
42
+ - Record breakdowns: "Assumption X was wrong, actually Y"
43
+
44
+ ---
45
+
46
+ ## Market Research
47
+
48
+ **Collections:**
49
+ | Collection | Purpose |
50
+ |------------|---------|
51
+ | `sources` | Primary research — articles, reports, filings |
52
+ | `competitors` | Competitor-specific intelligence |
53
+ | `insights` | Synthesized findings and conclusions |
54
+ | `data` | Quantitative sources, datasets, statistics |
55
+
56
+ **Suggested tags:**
57
+ - `company` — specific company names
58
+ - `market` — b2b_saas, consumer_fintech, healthcare, etc.
59
+ - `source_type` — article, report, interview, sec_filing, press_release
60
+ - `credibility` — high, medium, low, unverified
61
+ - `region` — north_america, europe, apac
62
+
63
+ **Agent guidance:**
64
+ - Always index sources you fetch, even if they seem tangential
65
+ - Tag competitor information consistently for later cross-reference
66
+ - Create insights entries to capture your synthesized conclusions
67
+ - Use semantic search to find connections across different sources
68
+
69
+ ---
70
+
71
+ ## Personal Reflection & Growth
72
+
73
+ **Collections:**
74
+ | Collection | Purpose |
75
+ |------------|---------|
76
+ | `journal` | Reflections, conversations, daily entries |
77
+ | `goals` | Active goals and progress tracking |
78
+ | `feedback` | External feedback received |
79
+ | `patterns` | Recurring themes you've noticed |
80
+
81
+ **Suggested tags:**
82
+ - `life_area` — career, health, relationships, learning, finance, creativity
83
+ - `emotion` — confident, anxious, grateful, frustrated, energized
84
+ - `theme` — boundaries, communication, procrastination, perfectionism
85
+ - `energy` — high, low, recovering
86
+
87
+ **Agent guidance:**
88
+ - Index conversations about personal topics as journal entries
89
+ - Look for patterns when the user reports similar feelings repeatedly
90
+ - Connect current challenges to past insights
91
+ - Use `keep find --id` to surface "you've felt this way before"
92
+
93
+ ---
94
+
95
+ ## Healthcare Tracking
96
+
97
+ **Collections:**
98
+ | Collection | Purpose |
99
+ |------------|---------|
100
+ | `symptoms` | Symptom reports and tracking |
101
+ | `medications` | Current and historical medications |
102
+ | `appointments` | Visit notes, provider interactions |
103
+ | `research` | Health information gathered |
104
+
105
+ **Suggested tags:**
106
+ - `body_system` — cardiovascular, digestive, musculoskeletal, neurological
107
+ - `symptom` — headache, fatigue, pain, nausea (specific symptoms)
108
+ - `severity` — mild, moderate, severe
109
+ - `provider` — dr_smith, clinic_name
110
+ - `medication` — specific medication names
111
+
112
+ **Agent guidance:**
113
+ - Always index symptom reports with dates for timeline tracking
114
+ - Cross-reference symptoms with medication changes
115
+ - Index appointment outcomes for continuity
116
+ - Be precise with medical terminology in tags for accurate retrieval
117
+
118
+ ---
119
+
120
+ ## Cross-Domain Patterns
121
+
122
+ These patterns apply regardless of domain:
123
+
124
+ **Conversation indexing:**
125
+ ```bash
126
+ # Index the current conversation
127
+ keep update "User asked about X, we discussed Y, decided Z" \
128
+ --tag session=abc123
129
+ ```
130
+
131
+ **Context tracking:**
132
+ ```bash
133
+ # Record current focus for handoff
134
+ keep now "Working on feature X" --tag topic=feature_x
135
+ ```
136
+
137
+ **Breakdown learning:**
138
+ ```bash
139
+ # When something goes wrong, capture the learning
140
+ keep update "Assumed user wanted full rewrite, actually wanted minimal fix. \
141
+ Ask about scope before large changes." \
142
+ --tag type=breakdown --tag conversation_type=code_change_request
143
+ ```
144
+
145
+ **Temporal queries using system tags:**
146
+ ```bash
147
+ # Find items updated today
148
+ keep tag _updated_date=2026-01-30
149
+
150
+ # Find all inline content (from remember)
151
+ keep tag _source=inline
152
+ ```
153
+
154
+ **Progressive refinement:**
155
+ ```bash
156
+ # Start broad, then narrow
157
+ keep find "authentication"
158
+ keep tag module=auth
159
+ ```
160
+
161
+ ---
162
+
163
+ ## Process Knowledge
164
+
165
+ Beyond subject-matter knowledge, index *how to work effectively*:
166
+
167
+ ```bash
168
+ # Index a learned pattern
169
+ keep update "Pattern: Incremental Specification. \
170
+ When requirements are vague, don't promise immediately. \
171
+ Propose interpretation → get correction → repeat until clear. \
172
+ Only then commit to action. Breakdown risk: Promising too early leads to rework." \
173
+ --tag type=conversation_pattern --tag domain=general
174
+
175
+ # Later, retrieve it
176
+ keep tag type=conversation_pattern
177
+ ```
178
+
179
+ See [conversations.md](conversations.md) for the full framework.
@@ -0,0 +1,19 @@
1
+ ---
2
+ tags:
3
+ category: system
4
+ context: now
5
+ ---
6
+ # Now
7
+
8
+ This is top-of-mind right now. Reminders for essential practice.
9
+ (Keep this updated as you need)
10
+
11
+ **Before acting:**
12
+ - Where are we in the conversation?
13
+ - What do I know? `keep now`
14
+ - What else is skillful? `keep find ...`
15
+
16
+ **After acting:**
17
+ - What happened? `keep update "what I learned" -t context=learning`
18
+ - What do I save? `keep update`
19
+ - What now? `keep now "Current focus: ..."`
keep/store.py CHANGED
@@ -58,15 +58,9 @@ class ChromaStore:
58
58
  embedding_dimension: Expected dimension of embeddings (for validation).
59
59
  Can be None for read-only access; will be set on first write.
60
60
  """
61
- try:
62
- import chromadb
63
- from chromadb.config import Settings
64
- except ImportError:
65
- raise RuntimeError(
66
- "ChromaStore requires 'chromadb' library. "
67
- "Install with: pip install chromadb"
68
- )
69
-
61
+ import chromadb
62
+ from chromadb.config import Settings
63
+
70
64
  self._store_path = store_path
71
65
  self._embedding_dimension = embedding_dimension
72
66
 
keep/types.py CHANGED
@@ -9,6 +9,10 @@ from typing import Optional
9
9
  # System tag prefix - tags starting with this are managed by the system
10
10
  SYSTEM_TAG_PREFIX = "_"
11
11
 
12
+ # Tags used internally but hidden from display output
13
+ # These exist for efficient queries/sorting but aren't user-facing
14
+ INTERNAL_TAGS = frozenset({"_updated_date"})
15
+
12
16
 
13
17
  def filter_non_system_tags(tags: dict[str, str]) -> dict[str, str]:
14
18
  """
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: keep-skill
3
- Version: 0.4.1
3
+ Version: 0.6.0
4
4
  Summary: Semantic memory - remember and search documents by meaning
5
5
  Project-URL: Homepage, https://github.com/hughpyle/keep
6
6
  Project-URL: Repository, https://github.com/hughpyle/keep
@@ -56,7 +56,7 @@ Description-Content-Type: text/markdown
56
56
  Index documents and notes. Search by meaning. Track changes over time.
57
57
 
58
58
  ```bash
59
- pip install 'keep-skill[local]'
59
+ uv tool install 'keep-skill[local]'
60
60
  keep init
61
61
 
62
62
  # Index content
@@ -90,16 +90,20 @@ Backed by ChromaDB for vectors, SQLite for metadata and versions.
90
90
  **Python 3.11–3.13 required.**
91
91
 
92
92
  ```bash
93
- # Recommended: local models (works offline)
94
- pip install 'keep-skill[local]'
95
-
96
- # Or with uv (faster):
93
+ # Recommended: uv (isolated environment, fast)
97
94
  uv tool install 'keep-skill[local]'
98
95
 
99
- # API-based alternative (requires OPENAI_API_KEY)
100
- pip install 'keep-skill[openai]'
96
+ # Alternative: pip in a virtual environment
97
+ python -m venv .venv && source .venv/bin/activate
98
+ pip install 'keep-skill[local]'
99
+
100
+ # API-based (requires OPENAI_API_KEY)
101
+ uv tool install 'keep-skill[openai]'
101
102
  ```
102
103
 
104
+ > **Note:** Always use an isolated environment (uv or venv). Installing with system pip
105
+ > may cause version conflicts with dependencies like typer.
106
+
103
107
  First run downloads embedding models (~3-5 minutes).
104
108
 
105
109
  ---
@@ -1,9 +1,9 @@
1
- keep/__init__.py,sha256=1WVkySoomQuf9-o3pIKs1CC2OwIyfkiaCxn-mO6nhd8,1581
1
+ keep/__init__.py,sha256=lAm_iUUxz76EanZYE5UviCD1p2OSQwUag4Q67EP4oKE,1617
2
2
  keep/__main__.py,sha256=3Uu70IhIDIjh8OW6jp9jQQ3dF2lKdJWi_3FtRIQMiMY,104
3
- keep/api.py,sha256=EaPkI9Gv1r5LM8ZibqquGP_59xf4kQlCdv7nfct8QZw,58894
3
+ keep/api.py,sha256=Ja_9zKr0bDL2UyBDZ03HrQHYkI9mdOMxuQlstyxJzmo,64477
4
4
  keep/chunking.py,sha256=neAXOLSvVwbUxapbqq7nZrbSNSzMXuhxj-ODoOSodsU,11830
5
- keep/cli.py,sha256=3flcfZHjvnHY8TxT-HJBBAuKnDusPAUD3ZwuMYYU7sw,40470
6
- keep/config.py,sha256=RRnHHvhc9KkJBYt0rpAFIvAVXw40b56xtT74TFIBiDU,15832
5
+ keep/cli.py,sha256=P7oKtv3TFL5BZNEfwh6kAFuqoeeqFxfVYssjdg0RMLc,44761
6
+ keep/config.py,sha256=gw_QMY0VkCVF6xi-B9zGvZSza4z2QtiJucqgZJF3Xqg,16227
7
7
  keep/context.py,sha256=CNpjmrv6eW2kV1E0MO6qAQfhYKRlfzAL--6v4Mj1nFY,71
8
8
  keep/document_store.py,sha256=UswqKIGSc5E-r7Tg9k0g5-byYnuar3e9FieQ7WNod9k,29109
9
9
  keep/errors.py,sha256=G9e5FbdfeugyfHOuL_SPZlM5jgWWnwsX4hM7IzanBZc,857
@@ -11,8 +11,13 @@ keep/indexing.py,sha256=dpPYo3WXnIhFDWinz5ZBZVk7_qumeNpP4EpOIY0zMbs,6063
11
11
  keep/logging_config.py,sha256=IGwkgIyg-TfYaT4MnoCXfmjeHAe_wsB_XQ1QhVT_ro8,3503
12
12
  keep/paths.py,sha256=Dv7pM6oo2QgjL6sj5wPjhuMOK2wqUkfd4Kz08TwJ1ps,3331
13
13
  keep/pending_summaries.py,sha256=_irGe7P1Lmog2c5cEgx-BElpq4YJW-tEmF5A3IUZQbQ,5727
14
- keep/store.py,sha256=d_exdEBQM7agpJcXL-nGsl46zXPQ2t35C8QF-NQX_Bw,18097
15
- keep/types.py,sha256=f6uOSYsYt6mj1ulKn2iRkooi__dWCiOQFPD6he2eID4,2149
14
+ keep/store.py,sha256=SBc2QdTyApdDDVjm2uZQI6tGbV5Hurfetgj7dyTO65o,17881
15
+ keep/types.py,sha256=_ytiG1O-9fY39o_TOktzYaFxHZBcIfuYgGI_vKsEx30,2316
16
+ keep/data/__init__.py,sha256=C1YARrudHwK2Bmlxkh7dZlIaNJ5m5WrSTglCdG8e3T0,24
17
+ keep/data/system/__init__.py,sha256=Rp92_sBO3kscuWXJomo0HKeHfU-N4BgBeT3-5El0Mcg,28
18
+ keep/data/system/conversations.md,sha256=jE53wYSUyu5uPFNtO1Tu6w4f5QxqLei7muxLF_kZE2s,9837
19
+ keep/data/system/domains.md,sha256=OCRAGvB0EaphsEammxLmx7L-orw2OHzgF6GwAZ8ztUs,5556
20
+ keep/data/system/now.md,sha256=vsPCNy-9k3g5KKIgG0MYL21m8qYV3tI0hMa9co6hffc,442
16
21
  keep/providers/__init__.py,sha256=GFX_12g9OdjmpFUkTekOQBOWvcRW2Ae6yidfVVW2SiI,1095
17
22
  keep/providers/base.py,sha256=7Ug4Kj9fK2Dq4zDcZjn-GKsoZBOAlB9b-FMk969ER-g,14590
18
23
  keep/providers/documents.py,sha256=EXeSy5i3RUL0kciIC6w3ldAEfbTIyC5fgfzC_WAI0iY,8211
@@ -21,8 +26,8 @@ keep/providers/embeddings.py,sha256=zi8GyitKexdbCJyU1nLrUhGt_zzPn3udYrrPZ5Ak8Wo,
21
26
  keep/providers/llm.py,sha256=BxROKOklKbkGsHcSADPNNgWQExgSN6Bg4KPQIxVuB3U,12441
22
27
  keep/providers/mlx.py,sha256=aNl00r9tGi5tCGj2ArYH7CmDHtL1jLjVzb1rofU1DAo,9050
23
28
  keep/providers/summarization.py,sha256=MlVTcYipaqp2lT-QYnznp0AMuPVG36QfcTQnvY7Gb-Q,3409
24
- keep_skill-0.4.1.dist-info/METADATA,sha256=sasoFYgfL9FK4nuIK99pruVoiUH65I-SN30giqc2wHs,6387
25
- keep_skill-0.4.1.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
26
- keep_skill-0.4.1.dist-info/entry_points.txt,sha256=W8yiI4kNeW0IC8ji4EHRWrvdhFxzaqTIePUhJAJAMOo,39
27
- keep_skill-0.4.1.dist-info/licenses/LICENSE,sha256=zsm0tpvtyUkevcjn5BIvs9jAho8iwxq3Ax9647AaOSg,1086
28
- keep_skill-0.4.1.dist-info/RECORD,,
29
+ keep_skill-0.6.0.dist-info/METADATA,sha256=lTAvkxt0X4pgtkLVfqZMBOdeGKz_tqO6KMm-nM2egjU,6606
30
+ keep_skill-0.6.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
31
+ keep_skill-0.6.0.dist-info/entry_points.txt,sha256=W8yiI4kNeW0IC8ji4EHRWrvdhFxzaqTIePUhJAJAMOo,39
32
+ keep_skill-0.6.0.dist-info/licenses/LICENSE,sha256=zsm0tpvtyUkevcjn5BIvs9jAho8iwxq3Ax9647AaOSg,1086
33
+ keep_skill-0.6.0.dist-info/RECORD,,