oh-my-opencode-kikokikok 2.15.3 → 2.15.4

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/dist/cli/index.js CHANGED
@@ -2253,7 +2253,7 @@ var require_picocolors = __commonJS((exports, module) => {
2253
2253
  var require_package = __commonJS((exports, module) => {
2254
2254
  module.exports = {
2255
2255
  name: "oh-my-opencode-kikokikok",
2256
- version: "2.15.3",
2256
+ version: "2.15.4",
2257
2257
  description: "OpenCode plugin - custom agents (oracle, librarian) and enhanced features",
2258
2258
  main: "dist/index.js",
2259
2259
  types: "dist/index.d.ts",
@@ -26,8 +26,25 @@ export interface LettaConfig {
26
26
  agentPrefix?: string;
27
27
  /** LLM model for agent (e.g., "openai/gpt-4.1") */
28
28
  llmModel?: string;
29
- /** Embedding model for semantic search */
29
+ /**
30
+ * Embedding model for semantic search.
31
+ * Use format "provider/model" e.g.:
32
+ * - "openai/text-embedding-3-large" (best quality, 3072 dimensions)
33
+ * - "openai/text-embedding-3-small" (good balance, 1536 dimensions)
34
+ * - "openai/text-embedding-ada-002" (legacy)
35
+ * - "letta/letta-free" (default, requires Letta cloud auth)
36
+ *
37
+ * If not set, auto-detects local proxy models with "openai" provider.
38
+ */
30
39
  embeddingModel?: string;
40
+ /**
41
+ * Preferred embedding model for auto-detection.
42
+ * When embeddingModel is not set and multiple proxy models are available,
43
+ * this determines which one to prefer. Partial match on model name.
44
+ * Default: "text-embedding-3-small"
45
+ * Set to "text-embedding-3-large" for better quality.
46
+ */
47
+ preferredEmbeddingModel?: string;
31
48
  /** Auto-rehydrate memories on session start */
32
49
  autoRehydrate?: boolean;
33
50
  /** Layers to rehydrate */
@@ -137,9 +154,16 @@ export interface LettaApiResponse<T> {
137
154
  error?: string;
138
155
  message?: string;
139
156
  }
157
+ /** Letta search result item (different from passage) */
158
+ export interface LettaSearchResultItem {
159
+ timestamp: string;
160
+ content: string;
161
+ tags?: string[];
162
+ }
163
+ /** Letta search response */
140
164
  export interface LettaSearchResponse {
141
- passages: LettaPassage[];
142
- total?: number;
165
+ results: LettaSearchResultItem[];
166
+ count: number;
143
167
  }
144
168
  export interface LettaAgentListResponse {
145
169
  agents: LettaAgent[];
package/dist/index.js CHANGED
@@ -43816,10 +43816,12 @@ class LettaAdapter {
43816
43816
  return;
43817
43817
  }
43818
43818
  const models = await response2.json();
43819
- const embeddingModels = models.filter((m) => m.name.includes("embedding") && m.model_endpoint.includes("host.docker.internal"));
43820
- if (embeddingModels.length > 0) {
43821
- const preferred = embeddingModels.find((m) => m.name.includes("text-embedding-3-small"));
43822
- this.detectedEmbeddingModel = preferred?.handle ?? embeddingModels[0].handle;
43819
+ const proxyEmbeddingModels = models.filter((m) => m.name.includes("embedding") && m.model_endpoint.includes("host.docker.internal") && m.provider_name === "openai");
43820
+ if (proxyEmbeddingModels.length > 0) {
43821
+ const preferredName = this.config.preferredEmbeddingModel ?? "text-embedding-3-small";
43822
+ const preferred = proxyEmbeddingModels.find((m) => m.name.includes(preferredName));
43823
+ const model = preferred ?? proxyEmbeddingModels[0];
43824
+ this.detectedEmbeddingModel = `openai/${model.name}`;
43823
43825
  }
43824
43826
  } catch {}
43825
43827
  })();
@@ -43843,7 +43845,8 @@ class LettaAdapter {
43843
43845
  tags
43844
43846
  })
43845
43847
  });
43846
- const passage = await response2.json();
43848
+ const data = await response2.json();
43849
+ const passage = Array.isArray(data) ? data[0] : data;
43847
43850
  return this.passageToMemory(passage, input.layer, agent.id);
43848
43851
  }
43849
43852
  async search(input) {
@@ -43867,8 +43870,17 @@ class LettaAdapter {
43867
43870
  }
43868
43871
  const response2 = await this.request(`/v1/agents/${agent.id}/archival-memory/search?${params.toString()}`, { method: "GET" });
43869
43872
  const data = await response2.json();
43870
- const layerResults = data.map((passage, index) => ({
43871
- memory: this.passageToMemory(passage, layer, agent.id),
43873
+ const searchResults = data.results ?? [];
43874
+ const layerResults = searchResults.map((item, index) => ({
43875
+ memory: {
43876
+ id: `search-${agent.id}-${item.timestamp}-${index}`,
43877
+ content: item.content,
43878
+ layer,
43879
+ metadata: item.tags ? { tags: item.tags } : undefined,
43880
+ createdAt: item.timestamp,
43881
+ source: "passage",
43882
+ agentId: agent.id
43883
+ },
43872
43884
  score: 1 - index * 0.05
43873
43885
  }));
43874
43886
  results.push(...layerResults);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oh-my-opencode-kikokikok",
3
- "version": "2.15.3",
3
+ "version": "2.15.4",
4
4
  "description": "OpenCode plugin - custom agents (oracle, librarian) and enhanced features",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",