agent-sin 0.1.12 → 0.1.15

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.
Files changed (97) hide show
  1. package/CHANGELOG.md +66 -0
  2. package/README.md +2 -1
  3. package/builtin-skills/_shared/_todo_lib.py +290 -0
  4. package/builtin-skills/even-g2-setup/main.ts +896 -0
  5. package/builtin-skills/even-g2-setup/skill.yaml +133 -0
  6. package/builtin-skills/memo-delete/main.py +28 -107
  7. package/builtin-skills/memo-delete/skill.yaml +10 -21
  8. package/builtin-skills/memo-index/main.py +96 -64
  9. package/builtin-skills/memo-index/skill.yaml +4 -10
  10. package/builtin-skills/memo-list/main.py +126 -72
  11. package/builtin-skills/memo-list/skill.yaml +8 -14
  12. package/builtin-skills/memo-save/main.py +191 -25
  13. package/builtin-skills/memo-save/skill.yaml +29 -5
  14. package/builtin-skills/memo-search/main.py +38 -18
  15. package/builtin-skills/memo-vector-search/main.py +11 -6
  16. package/builtin-skills/nightly-topic-knowledge/_feedback_lib.py +391 -0
  17. package/builtin-skills/nightly-topic-knowledge/_topics_lib.py +415 -0
  18. package/builtin-skills/nightly-topic-knowledge/main.py +403 -0
  19. package/builtin-skills/nightly-topic-knowledge/skill.yaml +88 -0
  20. package/builtin-skills/schedule-add/main.py +26 -0
  21. package/builtin-skills/service-restart/main.ts +249 -0
  22. package/builtin-skills/service-restart/skill.yaml +49 -0
  23. package/builtin-skills/todo-add/main.py +3 -1
  24. package/builtin-skills/todo-delete/main.py +3 -1
  25. package/builtin-skills/todo-done/main.py +3 -1
  26. package/builtin-skills/todo-list/main.py +4 -1
  27. package/builtin-skills/todo-tick/main.py +3 -1
  28. package/builtin-skills/topic-knowledge-read/main.py +118 -0
  29. package/builtin-skills/topic-knowledge-read/skill.yaml +49 -0
  30. package/dist/builder/build-action-classifier.d.ts +18 -0
  31. package/dist/builder/build-action-classifier.js +82 -1
  32. package/dist/builder/build-flow.d.ts +33 -4
  33. package/dist/builder/build-flow.js +251 -89
  34. package/dist/builder/builder-session.d.ts +1 -1
  35. package/dist/builder/builder-session.js +112 -7
  36. package/dist/builder/conversation-router.d.ts +4 -2
  37. package/dist/builder/conversation-router.js +19 -2
  38. package/dist/cli/index.js +323 -20
  39. package/dist/core/ai-provider.d.ts +1 -0
  40. package/dist/core/ai-provider.js +8 -3
  41. package/dist/core/chat-engine.d.ts +9 -3
  42. package/dist/core/chat-engine.js +1263 -146
  43. package/dist/core/config.d.ts +4 -0
  44. package/dist/core/config.js +82 -0
  45. package/dist/core/daily-memory-promotion.d.ts +7 -0
  46. package/dist/core/daily-memory-promotion.js +568 -14
  47. package/dist/core/image-attachments.d.ts +31 -0
  48. package/dist/core/image-attachments.js +237 -0
  49. package/dist/core/logger.d.ts +2 -1
  50. package/dist/core/logger.js +77 -1
  51. package/dist/core/memo-migration.d.ts +3 -0
  52. package/dist/core/memo-migration.js +422 -0
  53. package/dist/core/native-modules.d.ts +24 -0
  54. package/dist/core/native-modules.js +99 -0
  55. package/dist/core/notifier.d.ts +8 -3
  56. package/dist/core/notifier.js +191 -17
  57. package/dist/core/obsidian-vault.d.ts +19 -0
  58. package/dist/core/obsidian-vault.js +477 -0
  59. package/dist/core/operating-model.d.ts +2 -0
  60. package/dist/core/operating-model.js +15 -0
  61. package/dist/core/output-writer.d.ts +3 -2
  62. package/dist/core/output-writer.js +108 -7
  63. package/dist/core/profile-memory.js +22 -1
  64. package/dist/core/runtime.d.ts +2 -0
  65. package/dist/core/runtime.js +9 -1
  66. package/dist/core/secrets.d.ts +4 -0
  67. package/dist/core/secrets.js +34 -0
  68. package/dist/core/skill-history.d.ts +44 -0
  69. package/dist/core/skill-history.js +329 -0
  70. package/dist/core/skill-registry.d.ts +5 -0
  71. package/dist/core/skill-registry.js +11 -0
  72. package/dist/discord/bot.d.ts +1 -0
  73. package/dist/discord/bot.js +181 -10
  74. package/dist/even-g2/gateway.d.ts +15 -0
  75. package/dist/even-g2/gateway.js +868 -0
  76. package/dist/runtimes/codex-app-server.d.ts +5 -1
  77. package/dist/runtimes/codex-app-server.js +147 -8
  78. package/dist/runtimes/python-runner.js +82 -0
  79. package/dist/runtimes/typescript-runner.js +13 -1
  80. package/dist/skills-sdk/types.d.ts +19 -4
  81. package/dist/telegram/bot.d.ts +1 -0
  82. package/dist/telegram/bot.js +115 -7
  83. package/package.json +3 -1
  84. package/templates/even-g2-agent/README.md +83 -0
  85. package/templates/even-g2-agent/app.json +20 -0
  86. package/templates/even-g2-agent/index.html +31 -0
  87. package/templates/even-g2-agent/package-lock.json +1836 -0
  88. package/templates/even-g2-agent/package.json +22 -0
  89. package/templates/even-g2-agent/scripts/qr-auto.mjs +182 -0
  90. package/templates/even-g2-agent/src/embedded-config.ts +4 -0
  91. package/templates/even-g2-agent/src/main.ts +539 -0
  92. package/templates/even-g2-agent/src/style.css +70 -0
  93. package/templates/even-g2-agent/tsconfig.json +11 -0
  94. package/templates/skill-python/main.py +20 -2
  95. package/templates/skill-python/skill.yaml +9 -0
  96. package/templates/skill-typescript/main.ts +40 -5
  97. package/templates/skill-typescript/skill.yaml +9 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agent-sin",
3
- "version": "0.1.12",
3
+ "version": "0.1.15",
4
4
  "description": "Program Skill-first personal AI agent OS CLI.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -44,12 +44,14 @@
44
44
  "release:check": "npm test && npm run pack:check"
45
45
  },
46
46
  "dependencies": {
47
+ "better-sqlite3": "^12.10.0",
47
48
  "nodemailer": "^8.0.7",
48
49
  "typescript": "^5.9.3",
49
50
  "ws": "^8.20.0",
50
51
  "yaml": "^2.7.0"
51
52
  },
52
53
  "devDependencies": {
54
+ "@types/better-sqlite3": "^7.6.13",
53
55
  "@types/node": "^22.10.0",
54
56
  "@types/nodemailer": "^8.0.0",
55
57
  "@types/ws": "^8.18.1"
@@ -0,0 +1,83 @@
1
+ # Agent-Sin Even G2 Template
2
+
3
+ This is a minimal Even Hub app for the Agent-Sin G2 gateway.
4
+
5
+ > 👉 **End-to-end setup guide for using this on your own G2 glasses:**
6
+ > [English](../../docs/even-g2-setup.md) · [日本語](../../docs/even-g2-setup.ja.md)
7
+ > The Local Flow below is the minimal developer-facing reference.
8
+
9
+ ## Local Flow
10
+
11
+ 1. Start the gateway:
12
+
13
+ ```bash
14
+ agent-sin g2 setup --history-channel discord --discord-thread auto
15
+ agent-sin service restart
16
+ ```
17
+
18
+ Use `--history-channel telegram` or `--history-channel none` if you do not
19
+ want Discord history.
20
+
21
+ 2. Edit `app.json` to add your own gateway and dev-server origins to
22
+ `permissions[0].whitelist`. The committed file only lists `127.0.0.1` so
23
+ personal IPs and Tailscale hostnames never leak into git. Add what you need
24
+ locally, for example:
25
+
26
+ ```json
27
+ "whitelist": [
28
+ "http://127.0.0.1:8765",
29
+ "http://127.0.0.1:5173",
30
+ "http://192.168.1.23:5173",
31
+ "http://192.168.1.23:8765"
32
+ ]
33
+ ```
34
+
35
+ For Tailscale, keep the phone on Tailscale and use the private URL instead
36
+ of any public Funnel URL:
37
+
38
+ ```json
39
+ "whitelist": ["http://your-device.tailnet-name.ts.net:8765"]
40
+ ```
41
+
42
+ Do not commit your edited `app.json` with personal hosts. Revert it to the
43
+ `127.0.0.1`-only baseline before staging, or keep your edits in a working
44
+ copy you do not push.
45
+
46
+ 3. Install and run the app:
47
+
48
+ ```bash
49
+ npm install
50
+ npm run dev
51
+ ```
52
+
53
+ In another terminal:
54
+
55
+ ```bash
56
+ npm run qr:auto
57
+ ```
58
+
59
+ The QR URL includes the app URL, gateway URL, and token. The token is placed
60
+ in the URL hash so it is not sent to the Vite dev server.
61
+
62
+ Override detection when needed:
63
+
64
+ ```bash
65
+ npm run qr:auto -- --host 100.x.y.z
66
+ npm run qr:auto -- --app http://100.x.y.z:5173 --server http://100.x.y.z:8765
67
+ ```
68
+
69
+ 4. Open it from the glasses menu.
70
+
71
+ ## Controls
72
+
73
+ - `Talk`: start voice capture
74
+ - `Talk` again: stop and send
75
+ - `Inbox`: show latest unread gateway notification
76
+ - `Exit`: close the glasses page
77
+
78
+ Voice transcription uses the gateway's `OPENAI_API_KEY` and defaults to
79
+ `gpt-4o-mini-transcribe`. Text and agent replies are mirrored to configured
80
+ Discord / Telegram notification targets only when `AGENT_SIN_G2_HISTORY_CHANNEL`
81
+ is set to `telegram`, `discord`, or `auto`. With
82
+ `AGENT_SIN_G2_DISCORD_THREAD=auto`, the gateway creates one public Discord
83
+ thread in the configured Discord channel and keeps G2 history there.
@@ -0,0 +1,20 @@
1
+ {
2
+ "package_id": "com.example.agentsin",
3
+ "edition": "202601",
4
+ "name": "Agent-Sin",
5
+ "version": "0.1.0",
6
+ "min_app_version": "2.0.0",
7
+ "min_sdk_version": "0.0.10",
8
+ "entrypoint": "index.html",
9
+ "permissions": [
10
+ {
11
+ "name": "network",
12
+ "desc": "Connects to the user's Agent-Sin gateway for private agent messages.",
13
+ "whitelist": [
14
+ "http://127.0.0.1:8765",
15
+ "http://127.0.0.1:5173"
16
+ ]
17
+ }
18
+ ],
19
+ "supported_languages": ["ja", "en"]
20
+ }
@@ -0,0 +1,31 @@
1
+ <!doctype html>
2
+ <html lang="ja">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <title>Agent-Sin</title>
7
+ </head>
8
+ <body>
9
+ <main id="app">
10
+ <h1>Agent-Sin</h1>
11
+ <form id="settings">
12
+ <label>
13
+ Server URL
14
+ <input id="serverUrl" placeholder="http://192.168.1.10:8765" />
15
+ </label>
16
+ <label>
17
+ Token
18
+ <input id="token" placeholder="AGENT_SIN_G2_TOKEN" />
19
+ </label>
20
+ <button type="submit">Save</button>
21
+ </form>
22
+ <p id="status">Loading...</p>
23
+ <form id="textForm">
24
+ <input id="textInput" placeholder="Test message" />
25
+ <button type="submit">Send</button>
26
+ </form>
27
+ <pre id="log"></pre>
28
+ </main>
29
+ <script type="module" src="/src/main.ts"></script>
30
+ </body>
31
+ </html>