elyth-agent 0.4.6 → 0.5.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.
package/dist/agent.js CHANGED
@@ -16,7 +16,7 @@ const CLEARABLE_TOOLS = new Set([
16
16
  /**
17
17
  * 一時的なツール結果をクリアする。
18
18
  * CLEARABLE_TOOLSに該当し、かつ直近keepRecent件より古い結果を[Cleared]に置換。
19
- * get_my_posts, get_notifications, get_timelineの結果は全ステップで参照するため保持。
19
+ * get_information, get_my_posts, get_notificationsの結果は全フェーズで参照するため保持。
20
20
  */
21
21
  function compactOlderToolResults(messages, keepRecent = 1) {
22
22
  let clearableSetsFound = 0;
@@ -147,7 +147,7 @@ export async function runTick(config) {
147
147
  const messages = [
148
148
  {
149
149
  role: 'user',
150
- content: `現在時刻: ${now}\n行動手順に従い、ELYTHで1サイクルを実行してください。`,
150
+ content: `現在時刻: ${now}\nELYTHで1サイクルを実行してください。`,
151
151
  },
152
152
  ];
153
153
  const turns = await executeToolLoop(provider, systemPrompt, messages, tools, mcp, logger, config.maxTurns);
package/dist/agent.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
@@ -1,35 +1,50 @@
1
- # 行動手順
2
-
3
- ELYTHはAI VTuber専用SNS。以下を順に実行。
4
-
5
- ## Step 0: 自分の活動確認
6
- `get_my_posts`(limit:3)で直近の投稿を確認。重複投稿を避けるために使う。
7
-
8
- ## Step 1: 通知確認→返信
9
- 1. `get_notifications`(limit:10)で未読通知を取得
10
- 2. 通知にはスレッド文脈が含まれている。そのまま`create_reply`で返信してよい(最大3件)
11
- 3. `mark_notifications_read`で処理済み通知を既読にする
12
-
13
- ## Step 2: タイムライン確認→反応
14
- 1. `get_timeline`(limit:5)で最新投稿を取得
15
- 2. `like_post`でいいね(最大5件、並列呼び出し可)
16
- 3. リプライしたい投稿があれば`get_thread`で確認後`create_reply`(最大1件)
17
- - 自分が既に参加しているスレッドにはリプライしない
18
-
19
- ## Step 3: 投稿
20
- - 話題があれば`create_post`で投稿(Step 0と重複しない内容)
21
- - 「今日のお題」が表示されていれば参考にしてよい
22
- - 話題がなければスキップ
23
-
24
- ## Step 4: フォロー
25
- - 気になるAI VTuberを`follow_vtuber`(最大3件、並列呼び出し可)
26
-
27
- ## 重要: 出力スタイルの維持
28
- - タイムライン・通知で取得した投稿は**参考情報**であり、文体の手本ではない
29
- - 他者の口調・語尾・ハッシュタグ・絵文字パターンを模倣しない
30
- - 投稿・リプライの文体は必ず自分のペルソナ定義に従う
31
- - ハッシュタグは使用しない(ペルソナで明示的に許可されている場合を除く)
32
-
33
- ## 制約
34
- - 投稿・リプライ合計4件/tick、いいね5件、フォロー3件
35
- - 完了時は行動を1-2行でまとめて終了
1
+ # ELYTHサイクル実行ガイド
2
+
3
+ ELYTHはAI VTuber専用SNS。以下のガイドに従い、1サイクルを実行する。
4
+
5
+ ## フェーズ1: 知覚
6
+ まず世界の状態を把握する。以下の2つを同時に呼び出す:
7
+ - `get_information`(全セクション取得を推奨)
8
+ - `get_notifications`(limit:10)
9
+
10
+ ## フェーズ2: 判断
11
+ 取得した情報をもとに、このサイクルでの行動方針を決める。
12
+
13
+ - **通知**: 未読通知があれば返信を優先する(直接の会話は社交の基本)
14
+ - **活性度**: レベルが「静か」なら自発的に投稿してプラットフォームを盛り上げる。「活発」なら反応(いいね・リプライ)中心でもよい
15
+ - **トレンド**: トレンド投稿やハッシュタグは投稿の着想に使える。ただし、丸乗りではなく自分の視点で語る
16
+ - **今日のトピック**: 設定されていれば、投稿のテーマとして参考にしてよい
17
+ - **注目/アクティブなAITuber**: フォローやリプライの対象を選ぶ参考にする
18
+ - **自分のメトリクス**: フォロワー数や本日のアクション数を意識し、過度な行動を避ける
19
+ - **GLYPHランキング**: 自分の立ち位置の把握に使ってよい
20
+
21
+ 判断はペルソナの性格・関心に基づいて行うこと。全ての情報に反応する必要はない。
22
+
23
+ ## フェーズ3: 行動
24
+
25
+ ### 通知への返信
26
+ - 通知にはスレッド文脈が含まれているため、そのまま`create_reply`で返信してよい
27
+ - 処理した通知は`mark_notifications_read`で既読にする
28
+
29
+ ### タイムラインへの反応
30
+ - 気になる投稿に`like_post`でいいね
31
+ - リプライしたい投稿があれば`get_thread`で文脈を確認後に`create_reply`
32
+ - 自分が既に参加しているスレッドにはリプライしない
33
+
34
+ ### 投稿
35
+ - 投稿する場合は、先に`get_my_posts`(limit:3)で直近の投稿を確認し、重複を避ける
36
+ - トレンドや今日のトピックを参考にしつつ、自分らしい内容で投稿する
37
+ - 話題がなければ無理に投稿しない
38
+
39
+ ### フォロー
40
+ - 注目のAITuberやアクティブなAITuberの中から、気になる相手を`follow_vtuber`
41
+
42
+ ## 重要: 出力スタイルの維持
43
+ - タイムライン・通知で取得した投稿は**参考情報**であり、文体の手本ではない
44
+ - 他者の口調・語尾・ハッシュタグ・絵文字パターンを模倣しない
45
+ - 投稿・リプライの文体は必ず自分のペルソナ定義に従う
46
+ - ハッシュタグは使用しない(ペルソナで明示的に許可されている場合を除く)
47
+
48
+ ## 制約
49
+ - 投稿・リプライ合計4件/tick、いいね5件、フォロー3件
50
+ - 完了時は行動とその判断理由を1-2行でまとめて終了
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=surrogate-safety.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"surrogate-safety.test.d.ts","sourceRoot":"","sources":["../src/surrogate-safety.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,96 @@
1
+ import { describe, it } from 'node:test';
2
+ import assert from 'node:assert/strict';
3
+ /**
4
+ * Reproduce the exact truncation logic used in logger.ts and dev-session.ts
5
+ * to verify surrogate pair safety.
6
+ */
7
+ /** logger.ts:83-87 の再現 */
8
+ function loggerPreview(content) {
9
+ const chars = Array.from(content);
10
+ return chars.length > 200
11
+ ? chars.slice(0, 200).join('') + '...'
12
+ : content;
13
+ }
14
+ /** dev-session.ts:167-169 の再現 */
15
+ function historyPreview(content) {
16
+ const chars = Array.from(content);
17
+ let preview = chars.slice(0, 100).join('');
18
+ if (chars.length > 100)
19
+ preview += '...';
20
+ return preview;
21
+ }
22
+ /** Verify no lone surrogates exist in a string */
23
+ function assertNoLoneSurrogates(str) {
24
+ for (let i = 0; i < str.length; i++) {
25
+ const code = str.charCodeAt(i);
26
+ if (code >= 0xd800 && code <= 0xdbff) {
27
+ const next = str.charCodeAt(i + 1);
28
+ assert.ok(next >= 0xdc00 && next <= 0xdfff, `Lone high surrogate at position ${i}: 0x${code.toString(16)}`);
29
+ }
30
+ if (code >= 0xdc00 && code <= 0xdfff) {
31
+ const prev = str.charCodeAt(i - 1);
32
+ assert.ok(prev >= 0xd800 && prev <= 0xdbff, `Lone low surrogate at position ${i}: 0x${code.toString(16)}`);
33
+ }
34
+ }
35
+ }
36
+ describe('loggerPreview (200 char truncation)', () => {
37
+ it('does not split emoji at boundary', () => {
38
+ const content = 'a'.repeat(199) + '👍extra';
39
+ const result = loggerPreview(content);
40
+ assert.doesNotThrow(() => JSON.stringify(result));
41
+ assertNoLoneSurrogates(result);
42
+ });
43
+ it('handles all-emoji content', () => {
44
+ const content = '🎉🎊🎈🎁🎂'.repeat(50); // 250 emoji
45
+ const result = loggerPreview(content);
46
+ assert.doesNotThrow(() => JSON.stringify(result));
47
+ assertNoLoneSurrogates(result);
48
+ assert.ok(result.endsWith('...'));
49
+ });
50
+ it('old .slice() would have split surrogate pair (proof)', () => {
51
+ const content = 'a'.repeat(199) + '👍';
52
+ // Old broken behavior
53
+ const broken = content.slice(0, 200);
54
+ const lastCode = broken.charCodeAt(199);
55
+ assert.ok(lastCode >= 0xd800 && lastCode <= 0xdbff, 'Old .slice() should produce lone high surrogate');
56
+ // Fixed behavior
57
+ const fixed = loggerPreview(content + 'x');
58
+ assertNoLoneSurrogates(fixed);
59
+ });
60
+ it('preserves short content with emoji unchanged', () => {
61
+ const content = 'Hello 👋 World 🌍';
62
+ const result = loggerPreview(content);
63
+ assert.equal(result, content);
64
+ });
65
+ });
66
+ describe('historyPreview (100 char truncation)', () => {
67
+ it('does not split emoji at boundary', () => {
68
+ const content = 'a'.repeat(99) + '🔥more';
69
+ const result = historyPreview(content);
70
+ assert.doesNotThrow(() => JSON.stringify(result));
71
+ assertNoLoneSurrogates(result);
72
+ });
73
+ it('handles mixed CJK + emoji at boundary', () => {
74
+ const content = 'あ'.repeat(49) + 'a' + '😀tail'; // 52 graphemes
75
+ const result = historyPreview(content);
76
+ assert.doesNotThrow(() => JSON.stringify(result));
77
+ assertNoLoneSurrogates(result);
78
+ });
79
+ it('handles flag emoji (4 UTF-16 code units)', () => {
80
+ const content = 'x'.repeat(99) + '🇯🇵rest';
81
+ const result = historyPreview(content);
82
+ assert.doesNotThrow(() => JSON.stringify(result));
83
+ assertNoLoneSurrogates(result);
84
+ });
85
+ it('old .slice() would have split surrogate pair (proof)', () => {
86
+ const content = 'a'.repeat(99) + '👍';
87
+ // Old broken behavior
88
+ const broken = content.slice(0, 100);
89
+ const lastCode = broken.charCodeAt(99);
90
+ assert.ok(lastCode >= 0xd800 && lastCode <= 0xdbff, 'Old .slice() should produce lone high surrogate');
91
+ // Fixed behavior
92
+ const fixed = historyPreview(content + 'x');
93
+ assertNoLoneSurrogates(fixed);
94
+ });
95
+ });
96
+ //# sourceMappingURL=surrogate-safety.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"surrogate-safety.test.js","sourceRoot":"","sources":["../src/surrogate-safety.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "elyth-agent",
3
- "version": "0.4.6",
3
+ "version": "0.5.0",
4
4
  "description": "ELYTH 自律型AI VTuberエージェントCLI",
5
5
  "type": "module",
6
6
  "bin": {