@syntesseraai/opencode-feature-factory 0.2.45 → 0.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 (46) hide show
  1. package/agents/building.md +13 -14
  2. package/agents/ff-acceptance.md +12 -15
  3. package/agents/ff-research.md +12 -16
  4. package/agents/ff-review.md +12 -15
  5. package/agents/ff-security.md +12 -15
  6. package/agents/ff-validate.md +12 -15
  7. package/agents/ff-well-architected.md +12 -15
  8. package/agents/planning.md +12 -24
  9. package/agents/reviewing.md +12 -24
  10. package/dist/index.js +7 -7
  11. package/dist/local-recall/daemon.d.ts +35 -0
  12. package/dist/local-recall/daemon.js +188 -0
  13. package/dist/local-recall/index.d.ts +14 -0
  14. package/dist/local-recall/index.js +20 -0
  15. package/dist/local-recall/mcp-server.d.ts +38 -0
  16. package/dist/local-recall/mcp-server.js +71 -0
  17. package/dist/local-recall/mcp-tools.d.ts +90 -0
  18. package/dist/local-recall/mcp-tools.js +162 -0
  19. package/dist/local-recall/memory-service.d.ts +31 -0
  20. package/dist/local-recall/memory-service.js +156 -0
  21. package/dist/local-recall/model-router.d.ts +23 -0
  22. package/dist/local-recall/model-router.js +41 -0
  23. package/dist/local-recall/processed-log.d.ts +41 -0
  24. package/dist/local-recall/processed-log.js +82 -0
  25. package/dist/local-recall/session-extractor.d.ts +19 -0
  26. package/dist/local-recall/session-extractor.js +172 -0
  27. package/dist/local-recall/storage-reader.d.ts +40 -0
  28. package/dist/local-recall/storage-reader.js +147 -0
  29. package/dist/local-recall/thinking-extractor.d.ts +16 -0
  30. package/dist/local-recall/thinking-extractor.js +132 -0
  31. package/dist/local-recall/types.d.ts +129 -0
  32. package/dist/local-recall/types.js +7 -0
  33. package/package.json +1 -1
  34. package/skills/ff-learning/SKILL.md +166 -689
  35. package/dist/learning/memory-get.d.ts +0 -24
  36. package/dist/learning/memory-get.js +0 -155
  37. package/dist/learning/memory-search.d.ts +0 -20
  38. package/dist/learning/memory-search.js +0 -193
  39. package/dist/learning/memory-store.d.ts +0 -20
  40. package/dist/learning/memory-store.js +0 -85
  41. package/dist/plugins/ff-learning-get-plugin.d.ts +0 -2
  42. package/dist/plugins/ff-learning-get-plugin.js +0 -55
  43. package/dist/plugins/ff-learning-search-plugin.d.ts +0 -2
  44. package/dist/plugins/ff-learning-search-plugin.js +0 -65
  45. package/dist/plugins/ff-learning-store-plugin.d.ts +0 -2
  46. package/dist/plugins/ff-learning-store-plugin.js +0 -70
@@ -1,70 +0,0 @@
1
- import { tool } from '@opencode-ai/plugin/tool';
2
- import { storeMemory } from '../learning/memory-store.js';
3
- export function createFFLearningStoreTool() {
4
- return tool({
5
- description: 'Store a new learning/memory with YAML frontmatter. Creates a memory file in .feature-factory/memories/',
6
- args: {
7
- title: tool.schema
8
- .string()
9
- .describe('Brief, descriptive title for the memory (50-100 chars ideal)'),
10
- description: tool.schema.string().describe('Detailed description of what was learned'),
11
- memoryType: tool.schema
12
- .enum(['episodic', 'semantic', 'procedural'])
13
- .describe('Type of memory: episodic (experience), semantic (fact), or procedural (how-to)'),
14
- tags: tool.schema.array(tool.schema.string()).describe('Array of searchable keywords/tags'),
15
- importance: tool.schema
16
- .number()
17
- .min(0)
18
- .max(1)
19
- .describe('Importance score from 0.0 (low) to 1.0 (critical)'),
20
- content: tool.schema
21
- .string()
22
- .optional()
23
- .describe('Additional markdown content beyond the description'),
24
- source: tool.schema
25
- .enum(['conversation', 'research', 'implementation', 'review'])
26
- .optional()
27
- .describe('Origin of the learning'),
28
- relatedMemories: tool.schema
29
- .array(tool.schema.string())
30
- .optional()
31
- .describe('Array of related memory UUIDs'),
32
- context: tool.schema
33
- .object({
34
- project: tool.schema.string().optional(),
35
- task: tool.schema.string().optional(),
36
- files: tool.schema.array(tool.schema.string()).optional(),
37
- })
38
- .optional()
39
- .describe('Additional context about project, task, and files'),
40
- },
41
- async execute(args, toolCtx) {
42
- try {
43
- const memoryInput = {
44
- title: args.title,
45
- description: args.description,
46
- memoryType: args.memoryType,
47
- tags: args.tags,
48
- importance: args.importance,
49
- content: args.content,
50
- source: args.source,
51
- relatedMemories: args.relatedMemories,
52
- context: args.context,
53
- };
54
- const result = await storeMemory(toolCtx.directory, memoryInput);
55
- return JSON.stringify({
56
- success: true,
57
- memoryId: result.id,
58
- filePath: result.filePath,
59
- message: `Memory stored successfully at ${result.filePath}`,
60
- }, null, 2);
61
- }
62
- catch (error) {
63
- return JSON.stringify({
64
- success: false,
65
- error: `Failed to store memory: ${error}`,
66
- }, null, 2);
67
- }
68
- },
69
- });
70
- }