@prmichaelsen/remember-mcp 2.2.1 → 2.3.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 (61) hide show
  1. package/AGENT.md +4 -4
  2. package/CHANGELOG.md +45 -0
  3. package/README.md +43 -3
  4. package/agent/commands/acp.init.md +376 -0
  5. package/agent/commands/acp.proceed.md +311 -0
  6. package/agent/commands/acp.status.md +280 -0
  7. package/agent/commands/acp.version-check-for-updates.md +275 -0
  8. package/agent/commands/acp.version-check.md +190 -0
  9. package/agent/commands/acp.version-update.md +288 -0
  10. package/agent/commands/command.template.md +273 -0
  11. package/agent/design/core-memory-user-profile.md +1253 -0
  12. package/agent/design/ghost-profiles-pseudonymous-identity.md +194 -0
  13. package/agent/design/publish-tools-confirmation-flow.md +922 -0
  14. package/agent/milestones/milestone-10-shared-spaces.md +169 -0
  15. package/agent/progress.yaml +90 -4
  16. package/agent/scripts/install.sh +118 -0
  17. package/agent/scripts/update.sh +22 -10
  18. package/agent/scripts/version.sh +35 -0
  19. package/agent/tasks/task-27-implement-llm-provider-interface.md +51 -0
  20. package/agent/tasks/task-28-implement-llm-provider-factory.md +64 -0
  21. package/agent/tasks/task-29-update-config-for-llm.md +71 -0
  22. package/agent/tasks/task-30-implement-bedrock-provider.md +147 -0
  23. package/agent/tasks/task-31-implement-background-job-service.md +120 -0
  24. package/agent/tasks/task-32-test-llm-provider-integration.md +152 -0
  25. package/agent/tasks/task-34-create-confirmation-token-service.md +191 -0
  26. package/agent/tasks/task-35-create-space-memory-types-schema.md +183 -0
  27. package/agent/tasks/task-36-implement-remember-publish.md +227 -0
  28. package/agent/tasks/task-37-implement-remember-confirm.md +225 -0
  29. package/agent/tasks/task-38-implement-remember-deny.md +161 -0
  30. package/agent/tasks/task-39-implement-remember-search-space.md +188 -0
  31. package/agent/tasks/task-40-implement-remember-query-space.md +193 -0
  32. package/agent/tasks/task-41-configure-firestore-ttl.md +188 -0
  33. package/agent/tasks/task-42-create-tests-shared-spaces.md +216 -0
  34. package/agent/tasks/task-43-update-documentation.md +255 -0
  35. package/dist/llm/types.d.ts +1 -0
  36. package/dist/server-factory.js +914 -1
  37. package/dist/server.js +916 -3
  38. package/dist/services/confirmation-token.service.d.ts +99 -0
  39. package/dist/services/confirmation-token.service.spec.d.ts +5 -0
  40. package/dist/tools/confirm.d.ts +20 -0
  41. package/dist/tools/deny.d.ts +19 -0
  42. package/dist/tools/publish.d.ts +22 -0
  43. package/dist/tools/query-space.d.ts +28 -0
  44. package/dist/tools/search-space.d.ts +29 -0
  45. package/dist/types/space-memory.d.ts +80 -0
  46. package/dist/weaviate/space-schema.d.ts +59 -0
  47. package/dist/weaviate/space-schema.spec.d.ts +5 -0
  48. package/package.json +1 -1
  49. package/src/llm/types.ts +0 -0
  50. package/src/server-factory.ts +33 -0
  51. package/src/server.ts +33 -0
  52. package/src/services/confirmation-token.service.spec.ts +254 -0
  53. package/src/services/confirmation-token.service.ts +232 -0
  54. package/src/tools/confirm.ts +176 -0
  55. package/src/tools/deny.ts +70 -0
  56. package/src/tools/publish.ts +167 -0
  57. package/src/tools/query-space.ts +197 -0
  58. package/src/tools/search-space.ts +189 -0
  59. package/src/types/space-memory.ts +94 -0
  60. package/src/weaviate/space-schema.spec.ts +131 -0
  61. package/src/weaviate/space-schema.ts +275 -0
@@ -0,0 +1,188 @@
1
+ # Task 41: Configure Firestore TTL Policy
2
+
3
+ **Milestone**: M10 - Shared Spaces & Confirmation Flow
4
+ **Estimated Time**: 1 hour
5
+ **Dependencies**: Task 34 (Token Service)
6
+ **Status**: Not Started
7
+
8
+ ---
9
+
10
+ ## Objective
11
+
12
+ Configure Firestore Time-to-Live (TTL) policy to automatically delete expired confirmation tokens. This prevents accumulation of stale data and ensures cleanup without manual intervention.
13
+
14
+ ---
15
+
16
+ ## Steps
17
+
18
+ ### 1. Understand Firestore TTL
19
+
20
+ Research Firestore TTL configuration.
21
+
22
+ **Actions**:
23
+ - Read Firestore TTL documentation
24
+ - Understand collection group policies
25
+ - Learn about TTL field requirements
26
+ - Note deletion timing (within 24 hours of expiry)
27
+
28
+ **Expected Outcome**: TTL concept understood
29
+
30
+ ### 2. Access GCP Console
31
+
32
+ Navigate to Firestore TTL configuration.
33
+
34
+ **Actions**:
35
+ - Open Google Cloud Console
36
+ - Navigate to Firestore
37
+ - Find "Time-to-live" section
38
+ - Verify project access
39
+
40
+ **Expected Outcome**: TTL configuration page accessed
41
+
42
+ ### 3. Create TTL Policy
43
+
44
+ Configure automatic deletion for confirmation tokens.
45
+
46
+ **Actions**:
47
+ - Click "Create Policy"
48
+ - Select collection group: `requests`
49
+ - Set TTL field: `expires_at`
50
+ - Confirm policy creation
51
+ - Wait for policy to activate
52
+
53
+ **Expected Outcome**: TTL policy created
54
+
55
+ ### 4. Verify Policy Configuration
56
+
57
+ Ensure policy is active and correct.
58
+
59
+ **Actions**:
60
+ - Check policy status (should be "Active")
61
+ - Verify collection group: `requests`
62
+ - Verify TTL field: `expires_at`
63
+ - Note policy ID for documentation
64
+
65
+ **Expected Outcome**: Policy verified
66
+
67
+ ### 5. Test Token Expiry
68
+
69
+ Create test token and verify automatic deletion.
70
+
71
+ **Actions**:
72
+ - Create test confirmation request with short expiry (1 minute)
73
+ - Wait for expiry time to pass
74
+ - Wait up to 24 hours for deletion
75
+ - Verify token document is deleted
76
+ - Document deletion timing
77
+
78
+ **Expected Outcome**: Automatic deletion confirmed
79
+
80
+ ### 6. Document Configuration
81
+
82
+ Create documentation for TTL setup.
83
+
84
+ **Actions**:
85
+ - Document steps in README or setup guide
86
+ - Include screenshots if helpful
87
+ - Note timing expectations (within 24 hours)
88
+ - Add troubleshooting tips
89
+ - Document policy ID
90
+
91
+ **Expected Outcome**: Configuration documented
92
+
93
+ ### 7. Update Code Comments
94
+
95
+ Add comments about TTL in token service.
96
+
97
+ **Actions**:
98
+ - Update `confirmation-token.service.ts` comments
99
+ - Note that Firestore TTL handles deletion
100
+ - Explain `cleanupExpired()` is optional
101
+ - Document timing expectations
102
+
103
+ **Expected Outcome**: Code comments updated
104
+
105
+ ### 8. Create Monitoring Alert (Optional)
106
+
107
+ Set up alert for TTL policy issues.
108
+
109
+ **Actions**:
110
+ - Create Cloud Monitoring alert
111
+ - Monitor for TTL policy errors
112
+ - Set notification channels
113
+ - Document alert configuration
114
+
115
+ **Expected Outcome**: Monitoring in place
116
+
117
+ ---
118
+
119
+ ## Verification
120
+
121
+ - [ ] Firestore TTL policy created
122
+ - [ ] Collection group set to `requests`
123
+ - [ ] TTL field set to `expires_at`
124
+ - [ ] Policy status is "Active"
125
+ - [ ] Test token automatically deleted
126
+ - [ ] Configuration documented
127
+ - [ ] Code comments updated
128
+ - [ ] Optional: Monitoring alert created
129
+
130
+ ---
131
+
132
+ ## Configuration Details
133
+
134
+ **Policy Settings**:
135
+ - **Collection Group**: `requests`
136
+ - **TTL Field**: `expires_at`
137
+ - **Deletion Timing**: Within 24 hours after expiry
138
+ - **Scope**: All documents in `pending_confirmations/{user_id}/requests/` collections
139
+
140
+ **Important Notes**:
141
+ - Deletion is not immediate (up to 24 hours)
142
+ - TTL field must be a Timestamp type
143
+ - Policy applies to collection group (all matching collections)
144
+ - No cost for TTL deletions
145
+
146
+ ---
147
+
148
+ ## Documentation Template
149
+
150
+ ```markdown
151
+ ## Firestore TTL Configuration
152
+
153
+ Confirmation tokens are automatically deleted after expiry using Firestore TTL.
154
+
155
+ ### Setup
156
+
157
+ 1. Go to [Firestore Console](https://console.cloud.google.com/firestore)
158
+ 2. Navigate to "Time-to-live" section
159
+ 3. Click "Create Policy"
160
+ 4. Configure:
161
+ - Collection Group: `requests`
162
+ - TTL Field: `expires_at`
163
+ 5. Save and wait for activation
164
+
165
+ ### Behavior
166
+
167
+ - Tokens expire after 5 minutes
168
+ - Firestore deletes expired tokens within 24 hours
169
+ - No manual cleanup required
170
+ - Optional: Use `cleanupExpired()` for immediate cleanup
171
+
172
+ ### Troubleshooting
173
+
174
+ - **Policy not active**: Wait a few minutes after creation
175
+ - **Tokens not deleted**: Check TTL field is Timestamp type
176
+ - **Errors**: Verify collection group name is correct
177
+ ```
178
+
179
+ ---
180
+
181
+ ## Related Files
182
+
183
+ - Design: [`agent/design/publish-tools-confirmation-flow.md`](../design/publish-tools-confirmation-flow.md)
184
+ - Token Service: [`src/services/confirmation-token.service.ts`](../../src/services/confirmation-token.service.ts)
185
+
186
+ ---
187
+
188
+ **Next Task**: Task 42 - Create Tests for Shared Spaces
@@ -0,0 +1,216 @@
1
+ # Task 42: Create Tests for Shared Spaces
2
+
3
+ **Milestone**: M10 - Shared Spaces & Confirmation Flow
4
+ **Estimated Time**: 4 hours
5
+ **Dependencies**: Tasks 34-40 (All implementation tasks)
6
+ **Status**: Not Started
7
+
8
+ ---
9
+
10
+ ## Objective
11
+
12
+ Create comprehensive test suite for shared spaces functionality, including unit tests, integration tests, and end-to-end workflow tests.
13
+
14
+ ---
15
+
16
+ ## Steps
17
+
18
+ ### 1. Review Existing Tests
19
+
20
+ Understand current test patterns.
21
+
22
+ **Actions**:
23
+ - Review existing unit tests in `tests/unit/`
24
+ - Review test utilities and mocks
25
+ - Understand Jest configuration
26
+ - Note testing patterns used
27
+
28
+ **Expected Outcome**: Test patterns understood
29
+
30
+ ### 2. Create Integration Test File
31
+
32
+ Create end-to-end test for publish workflow.
33
+
34
+ **Actions**:
35
+ - Create `tests/integration/publish-workflow.test.ts`
36
+ - Test complete flow: publish → confirm → verify
37
+ - Test complete flow: publish → deny → verify
38
+ - Use actual Weaviate and Firestore (or emulators)
39
+ - Clean up test data after each test
40
+
41
+ **Expected Outcome**: Integration tests created
42
+
43
+ ### 3. Test Token Service
44
+
45
+ Comprehensive tests for confirmation tokens.
46
+
47
+ **Actions**:
48
+ - Verify `tests/unit/confirmation-token.service.test.ts` exists
49
+ - Test token creation
50
+ - Test token validation
51
+ - Test token expiry
52
+ - Test confirm/deny/retract flows
53
+ - Test cleanup function
54
+ - Mock Firestore calls
55
+
56
+ **Expected Outcome**: Token service fully tested
57
+
58
+ ### 4. Test Space Schema
59
+
60
+ Test space collection management.
61
+
62
+ **Actions**:
63
+ - Verify `tests/unit/space-schema.test.ts` exists
64
+ - Test `ensureSpaceCollection()`
65
+ - Test collection name generation
66
+ - Test space ID sanitization
67
+ - Test display name mapping
68
+ - Mock Weaviate client
69
+
70
+ **Expected Outcome**: Space schema fully tested
71
+
72
+ ### 5. Test All Tools
73
+
74
+ Verify all 5 new tools have tests.
75
+
76
+ **Actions**:
77
+ - Verify `tests/unit/publish.test.ts` exists
78
+ - Verify `tests/unit/confirm.test.ts` exists
79
+ - Verify `tests/unit/deny.test.ts` exists
80
+ - Verify `tests/unit/search-space.test.ts` exists
81
+ - Verify `tests/unit/query-space.test.ts` exists
82
+ - Ensure comprehensive coverage
83
+ - Test success and error cases
84
+
85
+ **Expected Outcome**: All tools fully tested
86
+
87
+ ### 6. Test Multi-User Scenarios
88
+
89
+ Test discovery across users.
90
+
91
+ **Actions**:
92
+ - User A publishes memory
93
+ - User B searches space and finds it
94
+ - User B queries space about it
95
+ - Verify attribution (author_id)
96
+ - Verify original memory unchanged
97
+
98
+ **Expected Outcome**: Multi-user discovery working
99
+
100
+ ### 7. Test Security
101
+
102
+ Verify security constraints.
103
+
104
+ **Actions**:
105
+ - Test user can only publish own memories
106
+ - Test tokens are one-time use
107
+ - Test tokens expire correctly
108
+ - Test permission denied errors
109
+ - Test token replay attacks fail
110
+
111
+ **Expected Outcome**: Security verified
112
+
113
+ ### 8. Run All Tests
114
+
115
+ Execute complete test suite.
116
+
117
+ **Actions**:
118
+ - Run `npm test` (unit tests)
119
+ - Run `npm run test:e2e` (integration tests)
120
+ - Verify all tests passing
121
+ - Check test coverage
122
+ - Fix any failing tests
123
+
124
+ **Expected Outcome**: All tests passing
125
+
126
+ ### 9. Update Test Documentation
127
+
128
+ Document test coverage and patterns.
129
+
130
+ **Actions**:
131
+ - Update README with test instructions
132
+ - Document test data setup
133
+ - Document emulator usage (if applicable)
134
+ - Note coverage goals
135
+
136
+ **Expected Outcome**: Test documentation complete
137
+
138
+ ---
139
+
140
+ ## Verification
141
+
142
+ - [ ] Integration test file created
143
+ - [ ] Token service tests complete
144
+ - [ ] Space schema tests complete
145
+ - [ ] All 5 tool tests complete
146
+ - [ ] Multi-user scenarios tested
147
+ - [ ] Security tests complete
148
+ - [ ] All unit tests passing
149
+ - [ ] All integration tests passing
150
+ - [ ] Test coverage adequate (>70%)
151
+ - [ ] Test documentation updated
152
+
153
+ ---
154
+
155
+ ## Test Structure
156
+
157
+ ```
158
+ tests/
159
+ ├── unit/
160
+ │ ├── confirmation-token.service.test.ts
161
+ │ ├── space-schema.test.ts
162
+ │ ├── publish.test.ts
163
+ │ ├── confirm.test.ts
164
+ │ ├── deny.test.ts
165
+ │ ├── search-space.test.ts
166
+ │ └── query-space.test.ts
167
+ └── integration/
168
+ └── publish-workflow.test.ts
169
+ ```
170
+
171
+ ---
172
+
173
+ ## Example Integration Test
174
+
175
+ ```typescript
176
+ describe('Publish Workflow', () => {
177
+ it('should publish memory to space with confirmation', async () => {
178
+ // 1. Create test memory
179
+ const memory = await createTestMemory(userId);
180
+
181
+ // 2. Request publish
182
+ const publishResult = await handlePublish({
183
+ memory_id: memory.id,
184
+ target: 'the_void'
185
+ }, userId);
186
+
187
+ const { token } = JSON.parse(publishResult);
188
+ expect(token).toBeDefined();
189
+
190
+ // 3. Confirm publish
191
+ const confirmResult = await handleConfirm({ token }, userId);
192
+ const { space_memory_id } = JSON.parse(confirmResult).payload;
193
+
194
+ // 4. Verify in space
195
+ const spaceMemory = await getSpaceMemory('the_void', space_memory_id);
196
+ expect(spaceMemory).toBeDefined();
197
+ expect(spaceMemory.author_id).toBe(userId);
198
+
199
+ // 5. Verify original unchanged
200
+ const originalMemory = await getUserMemory(userId, memory.id);
201
+ expect(originalMemory).toBeDefined();
202
+ });
203
+ });
204
+ ```
205
+
206
+ ---
207
+
208
+ ## Related Files
209
+
210
+ - Design: [`agent/design/publish-tools-confirmation-flow.md`](../design/publish-tools-confirmation-flow.md)
211
+ - Jest Config: [`jest.config.js`](../../jest.config.js)
212
+ - E2E Config: [`jest.e2e.config.js`](../../jest.e2e.config.js)
213
+
214
+ ---
215
+
216
+ **Next Task**: Task 43 - Update Documentation
@@ -0,0 +1,255 @@
1
+ # Task 43: Update Documentation
2
+
3
+ **Milestone**: M10 - Shared Spaces & Confirmation Flow
4
+ **Estimated Time**: 2 hours
5
+ **Dependencies**: Tasks 34-42 (All implementation and testing)
6
+ **Status**: Not Started
7
+
8
+ ---
9
+
10
+ ## Objective
11
+
12
+ Update all project documentation to reflect the new shared spaces functionality, including README, CHANGELOG, and any relevant design documents.
13
+
14
+ ---
15
+
16
+ ## Steps
17
+
18
+ ### 1. Update README.md
19
+
20
+ Add shared spaces section to README.
21
+
22
+ **Actions**:
23
+ - Add "Shared Spaces" section
24
+ - Document 5 new tools (publish, confirm, deny, search_space, query_space)
25
+ - Update tool count (17 total: 12 existing + 5 new)
26
+ - Add usage examples for publish workflow
27
+ - Document "The Void" space
28
+ - Add configuration notes (Firestore TTL)
29
+
30
+ **Expected Outcome**: README updated
31
+
32
+ ### 2. Update CHANGELOG.md
33
+
34
+ Document new features in changelog.
35
+
36
+ **Actions**:
37
+ - Create new version entry (e.g., v2.3.0)
38
+ - Add "Added" section with 5 new tools
39
+ - Add "Added" section with token-based confirmation pattern
40
+ - Add "Added" section with shared spaces support
41
+ - Note breaking changes (if any)
42
+ - Document Firestore TTL requirement
43
+
44
+ **Expected Outcome**: CHANGELOG updated
45
+
46
+ ### 3. Update Tool Documentation
47
+
48
+ Document each new tool.
49
+
50
+ **Actions**:
51
+ - Create or update tool reference documentation
52
+ - Include tool schemas
53
+ - Add usage examples
54
+ - Document parameters and responses
55
+ - Add error codes and messages
56
+
57
+ **Expected Outcome**: Tool docs complete
58
+
59
+ ### 4. Update Architecture Documentation
60
+
61
+ Document new architecture components.
62
+
63
+ **Actions**:
64
+ - Update architecture diagrams (if any)
65
+ - Document token-based confirmation pattern
66
+ - Document space collections
67
+ - Document naming conventions (snake_case)
68
+ - Add security considerations
69
+
70
+ **Expected Outcome**: Architecture docs updated
71
+
72
+ ### 5. Create Migration Guide
73
+
74
+ Help users adopt new features.
75
+
76
+ **Actions**:
77
+ - Document how to enable shared spaces
78
+ - Explain Firestore TTL setup
79
+ - Provide migration examples
80
+ - Note any configuration changes
81
+ - Add troubleshooting section
82
+
83
+ **Expected Outcome**: Migration guide created
84
+
85
+ ### 6. Update API Reference
86
+
87
+ Update API documentation.
88
+
89
+ **Actions**:
90
+ - Add new tools to API reference
91
+ - Document request/response formats
92
+ - Add code examples
93
+ - Update tool count
94
+ - Note version requirements
95
+
96
+ **Expected Outcome**: API reference updated
97
+
98
+ ### 7. Update Design Documents
99
+
100
+ Mark design as implemented.
101
+
102
+ **Actions**:
103
+ - Update [`agent/design/publish-tools-confirmation-flow.md`](../design/publish-tools-confirmation-flow.md)
104
+ - Change status from "Design Specification" to "Implemented"
105
+ - Add implementation notes
106
+ - Link to relevant code files
107
+ - Document any deviations from design
108
+
109
+ **Expected Outcome**: Design docs updated
110
+
111
+ ### 8. Update Progress Tracking
112
+
113
+ Update progress.yaml with M10 completion.
114
+
115
+ **Actions**:
116
+ - Mark M10 tasks as completed
117
+ - Update milestone status
118
+ - Add completion notes
119
+ - Update overall progress percentage
120
+ - Document next steps
121
+
122
+ **Expected Outcome**: Progress tracking current
123
+
124
+ ### 9. Create Usage Examples
125
+
126
+ Add practical examples.
127
+
128
+ **Actions**:
129
+ - Create example: Publishing a memory
130
+ - Create example: Searching "The Void"
131
+ - Create example: Querying shared spaces
132
+ - Add to README or examples directory
133
+ - Include error handling
134
+
135
+ **Expected Outcome**: Examples available
136
+
137
+ ### 10. Review and Proofread
138
+
139
+ Ensure documentation quality.
140
+
141
+ **Actions**:
142
+ - Review all updated documentation
143
+ - Check for typos and errors
144
+ - Verify links work
145
+ - Ensure consistency
146
+ - Get feedback if possible
147
+
148
+ **Expected Outcome**: Documentation polished
149
+
150
+ ---
151
+
152
+ ## Verification
153
+
154
+ - [ ] README.md updated with shared spaces section
155
+ - [ ] CHANGELOG.md updated with new version
156
+ - [ ] Tool documentation complete
157
+ - [ ] Architecture documentation updated
158
+ - [ ] Migration guide created
159
+ - [ ] API reference updated
160
+ - [ ] Design documents marked as implemented
161
+ - [ ] Progress.yaml updated
162
+ - [ ] Usage examples created
163
+ - [ ] Documentation reviewed and proofread
164
+
165
+ ---
166
+
167
+ ## README.md Addition
168
+
169
+ ```markdown
170
+ ## Shared Spaces
171
+
172
+ Publish memories to shared discovery spaces where other users can find them.
173
+
174
+ ### The Void
175
+
176
+ "The Void" is a shared space for discovering thoughts and ideas from other users.
177
+
178
+ ### Publishing Workflow
179
+
180
+ 1. **Request Publication**: Generate confirmation token
181
+ ```bash
182
+ remember_publish(memory_id="abc123", target="the_void")
183
+ # Returns: { token: "xyz789", ... }
184
+ ```
185
+
186
+ 2. **User Confirms**: Execute the publication
187
+ ```bash
188
+ remember_confirm(token="xyz789")
189
+ # Memory now in The Void
190
+ ```
191
+
192
+ 3. **Discover**: Search shared spaces
193
+ ```bash
194
+ remember_search_space(query="interesting ideas", space="the_void")
195
+ ```
196
+
197
+ ### Tools
198
+
199
+ - `remember_publish` - Request to publish memory (generates token)
200
+ - `remember_confirm` - Confirm any pending action
201
+ - `remember_deny` - Cancel any pending action
202
+ - `remember_search_space` - Search shared spaces
203
+ - `remember_query_space` - Ask questions about shared memories
204
+
205
+ ### Configuration
206
+
207
+ **Firestore TTL**: Configure automatic cleanup of expired tokens
208
+ - Collection Group: `requests`
209
+ - TTL Field: `expires_at`
210
+ - See [Firestore TTL Guide](docs/firestore-ttl.md)
211
+ ```
212
+
213
+ ---
214
+
215
+ ## CHANGELOG.md Entry
216
+
217
+ ```markdown
218
+ ## [2.3.0] - 2026-02-16
219
+
220
+ ### Added
221
+ - **Shared Spaces**: Publish memories to shared discovery spaces
222
+ - **The Void**: First shared space for discovering thoughts and ideas
223
+ - **Token-Based Confirmation**: Secure two-phase workflow for sensitive operations
224
+ - **5 New Tools**:
225
+ - `remember_publish` - Request to publish memory to shared space
226
+ - `remember_confirm` - Confirm and execute pending actions
227
+ - `remember_deny` - Cancel pending actions
228
+ - `remember_search_space` - Search shared spaces
229
+ - `remember_query_space` - Query shared spaces with natural language
230
+ - **Confirmation Token Service**: Manages one-time tokens with 5-minute expiry
231
+ - **Space Collections**: `Memory_the_void` for shared memories
232
+ - **Firestore TTL Support**: Automatic cleanup of expired tokens
233
+
234
+ ### Changed
235
+ - Tool count increased from 12 to 17
236
+ - Collection naming uses snake_case for spaces
237
+
238
+ ### Security
239
+ - One-time use tokens prevent replay attacks
240
+ - User ownership verification before publishing
241
+ - Fresh data fetch during confirmation
242
+ ```
243
+
244
+ ---
245
+
246
+ ## Related Files
247
+
248
+ - README: [`README.md`](../../README.md)
249
+ - CHANGELOG: [`CHANGELOG.md`](../../CHANGELOG.md)
250
+ - Design: [`agent/design/publish-tools-confirmation-flow.md`](../design/publish-tools-confirmation-flow.md)
251
+ - Progress: [`agent/progress.yaml`](../progress.yaml)
252
+
253
+ ---
254
+
255
+ **Next Task**: None - M10 Complete!
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=types.d.ts.map