suemo 0.1.0 → 0.1.1

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "suemo",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Persistent semantic memory for AI agents — backed by SurrealDB.",
5
5
  "author": {
6
6
  "name": "Umar Alfarouk",
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: suemo
3
3
  description: OpenCode-focused persistent memory workflow for suemo with CLI/MCP parity and versioned references.
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  ---
6
6
 
7
7
  # suemo skill
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: agents-snippet
3
3
  description: AGENTS.md snippet optimized for suemo skill discovery and usage.
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  ---
6
6
 
7
7
  # AGENTS.md snippet
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: cli-reference
3
3
  description: CLI command reference for suemo v0.0.6 including skill access.
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  ---
6
6
 
7
7
  # CLI reference
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: core-workflow
3
3
  description: Canonical suemo operating loop for OpenCode agents.
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  ---
6
6
 
7
7
  # Core workflow
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: manual-test-plan
3
3
  description: Comprehensive manual test matrix for suemo features and commands.
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  ---
6
6
 
7
7
  # Manual test plan
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: mcp-reference
3
3
  description: MCP tool reference for suemo v0.0.6.
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  ---
6
6
 
7
7
  # MCP tools
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: schema-retention-longevity
3
3
  description: Long-term schema and retention design expectations for suemo.
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  ---
6
6
 
7
7
  # Schema + retention longevity
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: sync-local-vps
3
3
  description: Two-way sync manual scenario for local and VPS SurrealDB.
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  ---
6
6
 
7
7
  # Local ↔ VPS sync scenario
@@ -11,9 +11,9 @@ import { randomBytes } from 'node:crypto'
11
11
  import { chmodSync, existsSync, mkdirSync, mkdtempSync, readFileSync, rmSync, writeFileSync } from 'node:fs'
12
12
  import { tmpdir } from 'node:os'
13
13
  import { basename, dirname, join, resolve as resolvePath } from 'node:path'
14
- import { fileURLToPath } from 'node:url'
15
14
 
16
15
  import template from '@/src/config.template' with { type: 'text' }
16
+ import FASTEMBED_SCRIPT_TEXT from '@/src/embedding/fastembed-server.py' with { type: 'text' }
17
17
 
18
18
  interface InitFlags {
19
19
  debug?: boolean | undefined
@@ -393,11 +393,6 @@ function extractEnvValue(content: string, key: string): string | null {
393
393
  return match[1].trim()
394
394
  }
395
395
 
396
- function readFastembedScriptSource(): string {
397
- const path = fileURLToPath(new URL('@/src/embedding/fastembed-server.py', import.meta.url))
398
- return readFileSync(path, 'utf-8')
399
- }
400
-
401
396
  function buildSurrealActions(
402
397
  profile: '2gb' | '6gb',
403
398
  existingPassword: string | null,
@@ -882,7 +877,7 @@ const initFastembedCmd = init.sub('fastembed')
882
877
  requireCommands(['pacman', 'systemctl', 'install', 'chown', 'id'])
883
878
  requireArchPackages(['python-fastembed', 'python-fastapi', 'uvicorn'])
884
879
 
885
- const scriptContent = readFastembedScriptSource()
880
+ const scriptContent = FASTEMBED_SCRIPT_TEXT
886
881
  const actions = buildFastembedActions(scriptContent)
887
882
  const dryRun = Boolean(flags['dry-run'])
888
883
 
package/src/env.d.ts CHANGED
@@ -2,3 +2,13 @@ declare module '*.surql' {
2
2
  const content: string
3
3
  export default content
4
4
  }
5
+
6
+ declare module '*.py' {
7
+ const content: string
8
+ export default content
9
+ }
10
+
11
+ declare module '*.md' {
12
+ const content: string
13
+ export default content
14
+ }
@@ -1,9 +1,13 @@
1
1
  import { readdirSync, readFileSync } from 'node:fs'
2
- import { basename } from 'node:path'
2
+ import { basename, dirname } from 'node:path'
3
3
  import { fileURLToPath } from 'node:url'
4
4
 
5
- const SKILL_FILE_PATH = fileURLToPath(new URL('../../skills/suemo/SKILL.md', import.meta.url))
6
- const SKILL_REFERENCES_DIR = fileURLToPath(new URL('../../skills/suemo/references/', import.meta.url))
5
+ const PROJECT_ROOT = dirname(
6
+ fileURLToPath(import.meta.resolve('@/package.json')),
7
+ )
8
+
9
+ import SKILL_FILE_PATH from '@/skills/suemo/SKILL.md' with { type: 'text' }
10
+ const SKILL_REFERENCES_DIR = `${PROJECT_ROOT}/skills/suemo/references/`
7
11
 
8
12
  export function skillFilePath(): string {
9
13
  return SKILL_FILE_PATH
@@ -25,7 +29,7 @@ export function skillReferencePath(reference: string): string | null {
25
29
  if (!cleaned) return null
26
30
  const available = new Set(listSkillReferences())
27
31
  if (!available.has(cleaned)) return null
28
- return fileURLToPath(new URL(`../../skills/suemo/references/${cleaned}.md`, import.meta.url))
32
+ return fileURLToPath(new URL(`${PROJECT_ROOT}/skills/suemo/references/${cleaned}.md`, import.meta.url))
29
33
  }
30
34
 
31
35
  export function readSkillReference(reference: string): { name: string; path: string; content: string } | null {