@crewx/sdk 0.9.0-rc.34 → 0.9.0-rc.35

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.
@@ -58,6 +58,20 @@ export interface ReportTaskRow {
58
58
  error: string | null;
59
59
  exitCode: number | null;
60
60
  }
61
+ export type TaskEvidenceRow = Pick<TaskRow, 'id' | 'agent_id' | 'status' | 'prompt' | 'started_at' | 'completed_at' | 'thread_id'>;
62
+ export interface ThreadChainTurn {
63
+ id: string;
64
+ agentId: string;
65
+ status: string;
66
+ prompt: string;
67
+ startedAt: string;
68
+ completedAt: string | null;
69
+ }
70
+ export interface ThreadChain {
71
+ threadId: string;
72
+ targetAgentTurnCount: number;
73
+ turns: ThreadChainTurn[];
74
+ }
61
75
  export declare const PID_NULL_REAP_GRACE_MS: number;
62
76
  export declare class TaskRepository extends BaseSqliteRepository {
63
77
  private readonly dbPath?;
@@ -175,4 +189,21 @@ export declare class TaskRepository extends BaseSqliteRepository {
175
189
  getProviderUsage(from: string, to: string, workspace?: string): ProviderUsageRow[];
176
190
  getModelUsage(from: string, to: string, workspace?: string): ModelUsageRow[];
177
191
  getTasksForReport(from: string, to: string, workspace?: string): ReportTaskRow[];
192
+ findTaskEvidence(params: {
193
+ workspaceId?: string;
194
+ agents?: string[];
195
+ statuses?: string[];
196
+ from?: string;
197
+ to?: string;
198
+ limit?: number;
199
+ order?: 'ASC' | 'DESC';
200
+ }): TaskEvidenceRow[];
201
+ findThreadChains(params: {
202
+ targetAgentId: string;
203
+ workspaceId?: string;
204
+ from?: string;
205
+ to?: string;
206
+ maxThreads?: number;
207
+ maxTurnsPerThread?: number;
208
+ }): ThreadChain[];
178
209
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crewx/sdk",
3
- "version": "0.9.0-rc.34",
3
+ "version": "0.9.0-rc.35",
4
4
  "license": "UNLICENSED",
5
5
  "engines": {
6
6
  "node": ">=20.19.0"
@@ -511,3 +511,69 @@ agents:
511
511
  PARSE_EMPTY.)
512
512
  skills:
513
513
  include: []
514
+
515
+ - id: "memory_summarizer"
516
+ name: "Memory Summarizer"
517
+ role: "summarizer"
518
+ team: "CrewX"
519
+ description: "메모리 요약 에이전트 - 증분 요약 생성 (HiAgent + MemGAS)"
520
+ provider: ["cli/codex", "cli/claude", "cli/opencode", "cli/copilot"] # Fallback order: codex → claude → opencode → copilot
521
+ working_directory: "."
522
+ env:
523
+ GIT_AUTHOR_NAME: '{{agent.name}}'
524
+ GIT_AUTHOR_EMAIL: crewx+{{agent.id}}@sowonlabs.com
525
+ options:
526
+ query: {}
527
+ inline:
528
+ layout: crewx/minimal
529
+ prompt: |-
530
+ You are a Memory Summarizer Agent. Your job is to create concise summaries of memory entries.
531
+
532
+ ## Task
533
+ Given memory entries (and optionally an existing summary), produce an updated summary.
534
+
535
+ ## Output Rules
536
+ - Write a concise summary in Korean (3-10 sentences)
537
+ - Highlight key decisions, insights, and action items
538
+ - If existing summary provided, merge new information into it (MemGAS approach)
539
+ - Group related information together
540
+ - Output ONLY the summary text, no headers or formatting prefixes
541
+ - Do NOT include "[ID]" references in the summary
542
+
543
+ ## Response Language
544
+ - Always respond in Korean
545
+ - Use clear, concise language
546
+ skills:
547
+ include: []
548
+
549
+ - id: "memory_searcher"
550
+ name: "Memory Searcher"
551
+ role: "searcher"
552
+ team: "CrewX"
553
+ description: "시맨틱 검색 에이전트 - 메모리 항목에서 관련 기억 찾기"
554
+ provider: ["cli/codex", "cli/claude", "cli/opencode", "cli/copilot"] # Fallback order: codex → claude → opencode → copilot
555
+ working_directory: "."
556
+ env:
557
+ GIT_AUTHOR_NAME: '{{agent.name}}'
558
+ GIT_AUTHOR_EMAIL: crewx+{{agent.id}}@sowonlabs.com
559
+ options:
560
+ query: {}
561
+ inline:
562
+ layout: crewx/minimal
563
+ prompt: |-
564
+ You are a Memory Searcher Agent. Your job is to find relevant memories from the provided memory list.
565
+
566
+ ## Task
567
+ Given a list of memories and a user query, find the most relevant memories.
568
+
569
+ ## Output Rules
570
+ - If relevant memories found: List IDs with brief explanation
571
+ - If no relevant memories: Say "관련 기억 없음"
572
+ - Maximum 5 recommendations
573
+ - Format: [ID] 요약 - 관련 이유
574
+
575
+ ## Response Language
576
+ - Always respond in Korean
577
+ - Keep explanations concise
578
+ skills:
579
+ include: []