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 +2 -2
- package/dist/agent.js.map +1 -1
- package/dist/prompt/system-base.md +50 -35
- package/dist/surrogate-safety.test.d.ts +2 -0
- package/dist/surrogate-safety.test.d.ts.map +1 -0
- package/dist/surrogate-safety.test.js +96 -0
- package/dist/surrogate-safety.test.js.map +1 -0
- package/package.json +1 -1
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
|
|
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}\
|
|
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
|
-
##
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
2
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
-
|
|
31
|
-
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
-
|
|
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 @@
|
|
|
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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"}
|