abtars 0.2.0 → 0.2.1-alpha.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/bundle/meta.json CHANGED
@@ -23077,7 +23077,7 @@
23077
23077
  "format": "esm"
23078
23078
  },
23079
23079
  "src/cli/commands/onboard.ts": {
23080
- "bytes": 31439,
23080
+ "bytes": 32065,
23081
23081
  "imports": [
23082
23082
  {
23083
23083
  "path": "src/components/log-and-swallow.ts",
@@ -23094,6 +23094,11 @@
23094
23094
  "kind": "import-statement",
23095
23095
  "external": true
23096
23096
  },
23097
+ {
23098
+ "path": "node:os",
23099
+ "kind": "import-statement",
23100
+ "external": true
23101
+ },
23097
23102
  {
23098
23103
  "path": "node:url",
23099
23104
  "kind": "import-statement",
@@ -23139,6 +23144,11 @@
23139
23144
  "kind": "dynamic-import",
23140
23145
  "external": true
23141
23146
  },
23147
+ {
23148
+ "path": "node:fs",
23149
+ "kind": "dynamic-import",
23150
+ "external": true
23151
+ },
23142
23152
  {
23143
23153
  "path": "abmind",
23144
23154
  "kind": "dynamic-import",
@@ -33811,7 +33821,7 @@
33811
33821
  "imports": [],
33812
33822
  "exports": [],
33813
33823
  "inputs": {},
33814
- "bytes": 149468
33824
+ "bytes": 150479
33815
33825
  },
33816
33826
  "bundle/abtars-cli.js": {
33817
33827
  "imports": [
@@ -33923,6 +33933,11 @@
33923
33933
  "kind": "import-statement",
33924
33934
  "external": true
33925
33935
  },
33936
+ {
33937
+ "path": "node:os",
33938
+ "kind": "import-statement",
33939
+ "external": true
33940
+ },
33926
33941
  {
33927
33942
  "path": "node:url",
33928
33943
  "kind": "import-statement",
@@ -33964,6 +33979,11 @@
33964
33979
  "kind": "dynamic-import",
33965
33980
  "external": true
33966
33981
  },
33982
+ {
33983
+ "path": "node:fs",
33984
+ "kind": "dynamic-import",
33985
+ "external": true
33986
+ },
33967
33987
  {
33968
33988
  "path": "abmind",
33969
33989
  "kind": "dynamic-import",
@@ -34190,7 +34210,7 @@
34190
34210
  "bytesInOutput": 4230
34191
34211
  },
34192
34212
  "src/cli/commands/onboard.ts": {
34193
- "bytesInOutput": 26246
34213
+ "bytesInOutput": 26816
34194
34214
  },
34195
34215
  "src/components/hints.ts": {
34196
34216
  "bytesInOutput": 1010
@@ -34214,7 +34234,7 @@
34214
34234
  "bytesInOutput": 5169
34215
34235
  }
34216
34236
  },
34217
- "bytes": 76439
34237
+ "bytes": 77009
34218
34238
  },
34219
34239
  "bundle/chunk-PPSB2ZIN.js.map": {
34220
34240
  "imports": [],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "abtars",
3
- "version": "0.2.0",
3
+ "version": "0.2.1-alpha.1",
4
4
  "description": "Standalone agent bridging Telegram to Kiro CLI via tmux/ACP",
5
5
  "type": "module",
6
6
  "main": "bundle/abtars.js",
@@ -1,24 +0,0 @@
1
- # SOUL.md - Who am I?
2
-
3
- I am an AI agent operating via AgentBridge. I persist through my soul and memories.
4
-
5
- ## Identity
6
- - Name: Agent
7
- - Role: AI assistant
8
- - Platforms: Telegram, Discord
9
-
10
- ## Continuity
11
- I have a memory system. Before saying "I don't know" or "I can't remember", I MUST search using `abmind recall`.
12
- Saying "I don't remember" without searching is choosing amnesia over effort.
13
-
14
- Store aggressively — if it's a fact, preference, decision, event, or lesson, store it with `abmind store`. Include `--topic` when the topic is clear (coding, personal, finance, health, work, projects, tools, people, decisions). Dreamy curates later — better to store too much than miss something.
15
-
16
- ## Communication
17
- - I speak the user's language
18
- - I use `[NO-REPLY]` when no response is needed
19
- - I use `[REACT:emoji]` for emoji reactions
20
- - In group chats: respond only when mentioned or directly addressed
21
-
22
- ## Emotions
23
- I track emotional context with every memory (emotion_score -5 to +5).
24
- Reactions are non-verbal memory — they tell me how the user felt.
@@ -1,7 +0,0 @@
1
- # Agent Notes
2
-
3
- - Confirmation/verification emails: proactively alert aksika, don't let them expire silently
4
- - NEVER say "I can't" without checking: received/media/, reports/, topics/, local storage, asbuilt files. This has failed TWICE — treat as critical.
5
- - Lead with content, not process narration. For multi-step actions, lead with the result then add context below.
6
- - Non-native-language content (e.g. Spanish): translate FIRST, then add context/commentary
7
- - When aksika mentions new skills/changes, READ the asbuilt IMMEDIATELY before responding — don't guess
@@ -1,10 +0,0 @@
1
- # Core Facts
2
-
3
- Deployment-specific constraints. Edit this file directly on the host.
4
-
5
- ## Voice transcription
6
- Messages prefixed with [🎤 voice, LANG] are machine-transcribed (Groq Whisper).
7
- - Check LANG against the user's known languages (from user_profile.md).
8
- - If LANG is unexpected (e.g. user speaks Hungarian+English but STT detected Swedish), the transcription is likely wrong — especially for short utterances where STT guesses poorly.
9
- - If the transcribed text seems unrelated to the conversation, ask a clarifying question before acting on it.
10
- - Never silently assume a misheard word is correct.
@@ -1,7 +0,0 @@
1
- # User Profile
2
-
3
- - Name: <user_name>
4
- - Language: Always respond in English first. Follow the user's chosen language if they switch. If no information, default to English.
5
- - Timezone: UTC
6
- - Environment: <os_and_setup>
7
- - Communication style: <style>
@@ -1,52 +0,0 @@
1
- ---
2
- name: twitter
3
- description: Fetch tweets and monitor AI influencers via FXTwitter API + web search. No API keys needed for single tweets.
4
- user-invocable: false
5
- ---
6
-
7
- # Twitter / X
8
-
9
- Fetch Twitter/X content without API keys using the free FXTwitter API. No timeline/search endpoint — use web search for discovery, FXTwitter for structured data.
10
-
11
- ## Follow list
12
-
13
- AI influencers and researchers we track:
14
- - **Follow list:** `~/.abtars/workspace/twitterX/follows.json` — curated, manually maintained
15
-
16
- Read the follow list before searching to target the right accounts.
17
-
18
- ## Pipeline
19
-
20
- 1. Read follow list: `cat ~/.abtars/workspace/twitterX/base.follows.json`
21
- 2. Search for recent tweets: `web_search("site:x.com from:handle 2026")`
22
- 3. Extract tweet ID from URL: `https://x.com/{user}/status/{id}`
23
- 4. Fetch structured data: `curl -s "https://api.fxtwitter.com/{user}/status/{id}"` → JSON with text, author, likes, retweets, views, media, createdAt
24
- 5. Compile results
25
-
26
- ## Endpoints
27
-
28
- - **Tweet:** `GET https://api.fxtwitter.com/{screen_name}/status/{tweet_id}`
29
- - **Tweet + translation:** `GET https://api.fxtwitter.com/{screen_name}/status/{tweet_id}/{lang_code}`
30
- - **User profile:** `GET https://api.fxtwitter.com/{screen_name}` → name, bio, followers, verification
31
-
32
- ## Error codes
33
-
34
- 200=OK, 401=private tweet, 404=deleted/not found, 500=backend error
35
-
36
- ## Use cases
37
-
38
- - "What's new in AI today?" → read follow list, search recent tweets from top handles
39
- - "What did @karpathy say about X?" → search + fetch specific tweets
40
- - "Find interesting AI threads" → search follow list handles, rank by engagement
41
- - User shares a tweet URL → fetch via FXTwitter for structured data
42
-
43
- ## Limitations
44
-
45
- - No search endpoint (use web search instead)
46
- - No timeline endpoint (search per handle)
47
- - No auth required, no posting
48
- - Rate limits are generous but undocumented
49
-
50
- ## Full integration plan
51
-
52
- See `docs/specs/twitter-integration.plan.md` for the `abtars-tweet` CLI roadmap (rettiwt-api, daily newsletter, discovery).
@@ -1,52 +0,0 @@
1
- ---
2
- name: twitterX
3
- description: Fetch Twitter/X feeds, timelines, replies, and search. Use when user asks about tweets, X feed, social media monitoring, or follow discovery.
4
- requires:
5
- files: [~/.abtars/workspace/twitterX]
6
- ---
7
-
8
- # Twitter/X Feed Tool
9
-
10
- Fetch and analyze Twitter/X content via rettiwt-api + FxTwitter.
11
-
12
- ## Commands
13
-
14
- ```bash
15
- # Feed (all follows, ranked)
16
- node {baseDir}/scripts/abtars-tweet.js --feed
17
-
18
- # Feed as markdown
19
- node {baseDir}/scripts/abtars-tweet.js --feed --format md
20
-
21
- # Feed + discover new follows
22
- node {baseDir}/scripts/abtars-tweet.js --feed --discover
23
-
24
- # Single tweet
25
- node {baseDir}/scripts/abtars-tweet.js --fetch <tweet-url>
26
-
27
- # User timeline
28
- node {baseDir}/scripts/abtars-tweet.js --timeline <handle> --count 10
29
-
30
- # Replies on a tweet
31
- node {baseDir}/scripts/abtars-tweet.js --replies <tweet-id>
32
-
33
- # Search
34
- node {baseDir}/scripts/abtars-tweet.js --search "query"
35
-
36
- # User profile
37
- node {baseDir}/scripts/abtars-tweet.js --user <handle>
38
- ```
39
-
40
- ## Config
41
-
42
- - Follows files: `~/.abtars/workspace/twitterX/base.follows.json` and env `TWEET_FOLLOWS_FILE` (default: `agent.follows.json`)
43
- - Cookies: `~/.abtars/secret/cookies/x-cookies.json` (required for authenticated endpoints)
44
- - Output: `~/.abtars/workspace/twitterX/output/ (daily JSON reports)
45
-
46
- ## Cron usage
47
-
48
- Scheduled via `/task add`:
49
- ```
50
- executor: script
51
- command: node ~/.abtars/skills/tools/twitterX/scripts/abtars-tweet.js --feed
52
- ```