@layorixinc/axterm 0.1.0 → 0.3.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/cli.js +142 -12
- package/package.json +50 -50
package/dist/cli.js
CHANGED
|
@@ -684,7 +684,8 @@ usage:
|
|
|
684
684
|
axterm fanout --count 3 [--prefix try] "prompt"
|
|
685
685
|
axterm worktree list|rm <branch> [--force]
|
|
686
686
|
axterm diff <id> [--base REF]
|
|
687
|
-
axterm telegram link|doctor|status
|
|
687
|
+
axterm telegram link|doctor|status|discover
|
|
688
|
+
discover lists the group and user ids your bot can see
|
|
688
689
|
axterm setup interactive configuration (runs automatically on first use)
|
|
689
690
|
axterm doctor diagnose the silent failures: agent binaries, hook configs, codex trust, the bridge
|
|
690
691
|
axterm config list|get <path>|set <path> <v>|unset <path>|path|import-env [file]
|
|
@@ -745,7 +746,7 @@ locale: set AXTERM_LANG=en|ko, or \`axterm config set locale ko\`
|
|
|
745
746
|
"cli.usage.worktree": "usage: axterm worktree list|rm <branch> [--force]",
|
|
746
747
|
"cli.usage.worktreeRm": "usage: axterm worktree rm <branch> [--force]",
|
|
747
748
|
"cli.usage.daemon": "usage: axterm daemon status|stop",
|
|
748
|
-
"cli.usage.telegram": "usage: axterm telegram link|doctor|status",
|
|
749
|
+
"cli.usage.telegram": "usage: axterm telegram link|doctor|status|discover",
|
|
749
750
|
"cli.usage.fanout": "usage: axterm fanout --count N <prompt>",
|
|
750
751
|
"cli.config.set": "set {path}",
|
|
751
752
|
"cli.config.unset": "unset {path}",
|
|
@@ -762,6 +763,13 @@ locale: set AXTERM_LANG=en|ko, or \`axterm config set locale ko\`
|
|
|
762
763
|
"cli.daemon.stopping": "daemon stopping",
|
|
763
764
|
"cli.daemon.notReady": "daemon did not become ready within 15s (see {log})",
|
|
764
765
|
"cli.telegram.missingSettings": "telegram link: no token/group/user found. Provide --token/--group/--user flags, TELEGRAM_* environment variables, or a .env file in the current directory.",
|
|
766
|
+
"cli.telegram.discoverHint": "Create a group with Topics enabled, add your bot to it, then run this again. Being added is enough \u2014 you do not have to send anything.",
|
|
767
|
+
"cli.telegram.discoverNone": "the bot cannot see any group yet.",
|
|
768
|
+
"cli.telegram.discoverChats": "groups this bot can see (use the id as --group):",
|
|
769
|
+
"cli.telegram.discoverUsers": "people it has seen (use the id as --user):",
|
|
770
|
+
"cli.telegram.topicsOff": "Topics are OFF \u2014 axterm needs them; enable Topics in the group settings",
|
|
771
|
+
"err.telegram.discoverWhileRunning": "the telegram channel is already running, and Telegram allows one reader per bot token \u2014 stop it with `axterm config set channels.telegram.enabled false` before discovering, or read the ids from `axterm telegram status`",
|
|
772
|
+
"err.telegram.noToken": "no bot token is configured \u2014 run `axterm setup` or pass --token",
|
|
765
773
|
"tg.help.general.header": "axterm commands (General topic):",
|
|
766
774
|
"tg.help.general.projects": "/projects \u2014 registered projects",
|
|
767
775
|
"tg.help.general.new": "/new <project> [name] \u2014 new omp session",
|
|
@@ -895,8 +903,8 @@ usage: /fanout <project> <count|branches> <prompt>`,
|
|
|
895
903
|
"wizard.prompt.agent": "Default agent command",
|
|
896
904
|
"wizard.prompt.telegram": "Set up Telegram control now?",
|
|
897
905
|
"wizard.prompt.telegramToken": "Bot token from @BotFather",
|
|
898
|
-
"wizard.prompt.telegramGroup": "Group id (negative, starts with -100)",
|
|
899
|
-
"wizard.prompt.telegramUsers": "Telegram user ids allowed to control axterm (comma separated)",
|
|
906
|
+
"wizard.prompt.telegramGroup": "Group id (negative, starts with -100; `axterm telegram discover` lists them)",
|
|
907
|
+
"wizard.prompt.telegramUsers": "Telegram user ids allowed to control axterm (comma separated; `axterm telegram discover` lists them)",
|
|
900
908
|
"wizard.prompt.review": "Save this configuration?",
|
|
901
909
|
"wizard.error.locale": "pick one of the offered languages",
|
|
902
910
|
"wizard.error.machine": "letters, digits, dot, dash and underscore only",
|
|
@@ -946,7 +954,8 @@ usage: /fanout <project> <count|branches> <prompt>`,
|
|
|
946
954
|
axterm fanout --count 3 [--prefix try] "\uD504\uB86C\uD504\uD2B8"
|
|
947
955
|
axterm worktree list|rm <\uBE0C\uB79C\uCE58> [--force]
|
|
948
956
|
axterm diff <id> [--base REF]
|
|
949
|
-
axterm telegram link|doctor|status
|
|
957
|
+
axterm telegram link|doctor|status|discover
|
|
958
|
+
discover \u2014 \uBD07\uC774 \uBCFC \uC218 \uC788\uB294 \uADF8\uB8F9\xB7\uC0AC\uC6A9\uC790 id \uBAA9\uB85D
|
|
950
959
|
axterm setup \uB300\uD654\uD615 \uC124\uC815 (\uCD5C\uCD08 \uC2E4\uD589 \uC2DC \uC790\uB3D9)
|
|
951
960
|
axterm doctor \uCE68\uBB35\uD558\uB294 \uC2E4\uD328\uB97C \uC9C4\uB2E8: \uC5D0\uC774\uC804\uD2B8 \uBC14\uC774\uB108\uB9AC, \uD6C5 \uC124\uC815, codex \uC2E0\uB8B0, \uBE0C\uB9AC\uC9C0
|
|
952
961
|
axterm config list|get <\uACBD\uB85C>|set <\uACBD\uB85C> <\uAC12>|unset <\uACBD\uB85C>|path|import-env [\uD30C\uC77C]
|
|
@@ -1007,7 +1016,7 @@ usage: /fanout <project> <count|branches> <prompt>`,
|
|
|
1007
1016
|
"cli.usage.worktree": "\uC0AC\uC6A9\uBC95: axterm worktree list|rm <\uBE0C\uB79C\uCE58> [--force]",
|
|
1008
1017
|
"cli.usage.worktreeRm": "\uC0AC\uC6A9\uBC95: axterm worktree rm <\uBE0C\uB79C\uCE58> [--force]",
|
|
1009
1018
|
"cli.usage.daemon": "\uC0AC\uC6A9\uBC95: axterm daemon status|stop",
|
|
1010
|
-
"cli.usage.telegram": "\uC0AC\uC6A9\uBC95: axterm telegram link|doctor|status",
|
|
1019
|
+
"cli.usage.telegram": "\uC0AC\uC6A9\uBC95: axterm telegram link|doctor|status|discover",
|
|
1011
1020
|
"cli.usage.fanout": "\uC0AC\uC6A9\uBC95: axterm fanout --count N <\uD504\uB86C\uD504\uD2B8>",
|
|
1012
1021
|
"cli.config.set": "{path} \uC124\uC815\uB428",
|
|
1013
1022
|
"cli.config.unset": "{path} \uD574\uC81C\uB428",
|
|
@@ -1030,6 +1039,13 @@ usage: /fanout <project> <count|branches> <prompt>`,
|
|
|
1030
1039
|
"tg.help.general.wt": "/wt <\uD504\uB85C\uC81D\uD2B8> <\uBE0C\uB79C\uCE58> \u2014 worktree \uC138\uC158",
|
|
1031
1040
|
"tg.help.general.fanout": "/fanout <\uD504\uB85C\uC81D\uD2B8> <\uAC1C\uC218|\uBE0C\uB79C\uCE58\uB4E4> <\uD504\uB86C\uD504\uD2B8> \u2014 \uBCD1\uB82C \uC2E4\uD589",
|
|
1032
1041
|
"tg.help.general.worktrees": "/worktrees <\uD504\uB85C\uC81D\uD2B8> \xB7 /rm <\uD504\uB85C\uC81D\uD2B8> <\uBE0C\uB79C\uCE58> [force]",
|
|
1042
|
+
"cli.telegram.discoverHint": "\uD1A0\uD53D\uC744 \uCF20 \uADF8\uB8F9\uC744 \uB9CC\uB4E4\uACE0 \uBD07\uC744 \uCD08\uB300\uD55C \uB4A4 \uB2E4\uC2DC \uC2E4\uD589\uD558\uC138\uC694. \uCD08\uB300\uB9CC \uD558\uBA74 \uCDA9\uBD84\uD569\uB2C8\uB2E4 \u2014 \uBA54\uC2DC\uC9C0\uB97C \uBCF4\uB0BC \uD544\uC694\uB294 \uC5C6\uC2B5\uB2C8\uB2E4.",
|
|
1043
|
+
"cli.telegram.discoverNone": "\uBD07\uC774 \uC544\uC9C1 \uC5B4\uB5A4 \uADF8\uB8F9\uB3C4 \uBCFC \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.",
|
|
1044
|
+
"cli.telegram.discoverChats": "\uBD07\uC774 \uBCFC \uC218 \uC788\uB294 \uADF8\uB8F9 (\uC774 id\uB97C --group \uC5D0 \uC0AC\uC6A9):",
|
|
1045
|
+
"cli.telegram.discoverUsers": "\uBD07\uC774 \uBCF8 \uC0AC\uC6A9\uC790 (\uC774 id\uB97C --user \uC5D0 \uC0AC\uC6A9):",
|
|
1046
|
+
"cli.telegram.topicsOff": "\uD1A0\uD53D\uC774 \uAEBC\uC838 \uC788\uC2B5\uB2C8\uB2E4 \u2014 axterm\uC5D0 \uD544\uC694\uD569\uB2C8\uB2E4. \uADF8\uB8F9 \uC124\uC815\uC5D0\uC11C \uD1A0\uD53D\uC744 \uCF1C\uC138\uC694",
|
|
1047
|
+
"err.telegram.discoverWhileRunning": "\uD154\uB808\uADF8\uB7A8 \uCC44\uB110\uC774 \uC774\uBBF8 \uC2E4\uD589 \uC911\uC774\uACE0, \uD154\uB808\uADF8\uB7A8\uC740 \uBD07 \uD1A0\uD070\uB2F9 \uB9AC\uB354\uB97C \uD558\uB098\uB9CC \uD5C8\uC6A9\uD569\uB2C8\uB2E4 \u2014 `axterm config set channels.telegram.enabled false` \uB85C \uBA48\uCD98 \uB4A4 \uD0D0\uC0C9\uD558\uAC70\uB098, `axterm telegram status` \uC5D0\uC11C id\uB97C \uD655\uC778\uD558\uC138\uC694",
|
|
1048
|
+
"err.telegram.noToken": "\uBD07 \uD1A0\uD070\uC774 \uC124\uC815\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4 \u2014 `axterm setup` \uC744 \uC2E4\uD589\uD558\uAC70\uB098 --token \uC744 \uB118\uAE30\uC138\uC694",
|
|
1033
1049
|
"tg.help.general.sessions": "/sessions \u2014 \uC138\uC158 \uBAA9\uB85D",
|
|
1034
1050
|
"tg.help.topic.header": "\uC138\uC158 \uD1A0\uD53D \uC548\uC5D0\uC11C\uB294 \uC77C\uBC18 \uBA54\uC2DC\uC9C0\uAC00 \uD504\uB86C\uD504\uD2B8\uB85C \uC804\uB2EC\uB429\uB2C8\uB2E4.",
|
|
1035
1051
|
"tg.help.topic.commands": "/esc \uC911\uB2E8 \xB7 /screen \uD654\uBA74 \xB7 /diff \uBCC0\uACBD\uC694\uC57D \xB7 /resume \uB300\uD654 \uC774\uC5B4\uC11C \uC7AC\uC2DC\uC791 \xB7 /kill \uC885\uB8CC",
|
|
@@ -1157,8 +1173,8 @@ usage: /fanout <project> <count|branches> <prompt>`,
|
|
|
1157
1173
|
"wizard.prompt.agent": "\uAE30\uBCF8 \uC5D0\uC774\uC804\uD2B8 \uBA85\uB839",
|
|
1158
1174
|
"wizard.prompt.telegram": "\uC9C0\uAE08 Telegram \uC81C\uC5B4\uB97C \uC124\uC815\uD560\uAE4C\uC694?",
|
|
1159
1175
|
"wizard.prompt.telegramToken": "@BotFather \uC5D0\uC11C \uBC1B\uC740 \uBD07 \uD1A0\uD070",
|
|
1160
|
-
"wizard.prompt.telegramGroup": "\uADF8\uB8F9 id (\uC74C\uC218, \uBCF4\uD1B5 -100 \uC73C\uB85C \uC2DC\uC791)",
|
|
1161
|
-
"wizard.prompt.telegramUsers": "axterm \uC870\uC791\uC744 \uD5C8\uC6A9\uD560 Telegram user id (\uC27C\uD45C\uB85C \uAD6C\uBD84)",
|
|
1176
|
+
"wizard.prompt.telegramGroup": "\uADF8\uB8F9 id (\uC74C\uC218, \uBCF4\uD1B5 -100 \uC73C\uB85C \uC2DC\uC791. `axterm telegram discover` \uB85C \uD655\uC778 \uAC00\uB2A5)",
|
|
1177
|
+
"wizard.prompt.telegramUsers": "axterm \uC870\uC791\uC744 \uD5C8\uC6A9\uD560 Telegram user id (\uC27C\uD45C\uB85C \uAD6C\uBD84. `axterm telegram discover` \uB85C \uD655\uC778 \uAC00\uB2A5)",
|
|
1162
1178
|
"wizard.prompt.review": "\uC774 \uC124\uC815\uC744 \uC800\uC7A5\uD560\uAE4C\uC694?",
|
|
1163
1179
|
"wizard.error.locale": "\uC81C\uC2DC\uB41C \uC5B8\uC5B4 \uC911\uC5D0\uC11C \uACE0\uB974\uC138\uC694",
|
|
1164
1180
|
"wizard.error.machine": "\uC601\uBB38\xB7\uC22B\uC790\uC640 . - _ \uB9CC \uC4F8 \uC218 \uC788\uC2B5\uB2C8\uB2E4",
|
|
@@ -2215,6 +2231,85 @@ function productVersion() {
|
|
|
2215
2231
|
}
|
|
2216
2232
|
var product = "";
|
|
2217
2233
|
|
|
2234
|
+
// packages/core/src/telegram-discovery.ts
|
|
2235
|
+
function readChat(value) {
|
|
2236
|
+
if (!isRecord(value))
|
|
2237
|
+
return;
|
|
2238
|
+
const id = value["id"];
|
|
2239
|
+
const type = value["type"];
|
|
2240
|
+
if (typeof id !== "number" || typeof type !== "string")
|
|
2241
|
+
return;
|
|
2242
|
+
const title = value["title"];
|
|
2243
|
+
const isForum = value["is_forum"];
|
|
2244
|
+
return {
|
|
2245
|
+
id,
|
|
2246
|
+
type,
|
|
2247
|
+
...typeof title === "string" ? { title } : {},
|
|
2248
|
+
...isForum === true ? { isForum: true } : {}
|
|
2249
|
+
};
|
|
2250
|
+
}
|
|
2251
|
+
function readUser(value) {
|
|
2252
|
+
if (!isRecord(value))
|
|
2253
|
+
return;
|
|
2254
|
+
const id = value["id"];
|
|
2255
|
+
if (typeof id !== "number")
|
|
2256
|
+
return;
|
|
2257
|
+
if (value["is_bot"] === true)
|
|
2258
|
+
return;
|
|
2259
|
+
const username = value["username"];
|
|
2260
|
+
const name = value["first_name"];
|
|
2261
|
+
return {
|
|
2262
|
+
id,
|
|
2263
|
+
...typeof username === "string" ? { username } : {},
|
|
2264
|
+
...typeof name === "string" ? { name } : {}
|
|
2265
|
+
};
|
|
2266
|
+
}
|
|
2267
|
+
function detail(candidate) {
|
|
2268
|
+
return (candidate.title !== undefined ? 1 : 0) + (candidate.isForum !== undefined ? 1 : 0);
|
|
2269
|
+
}
|
|
2270
|
+
function discoverTelegramTargets(updates) {
|
|
2271
|
+
const chats = new Map;
|
|
2272
|
+
const users = new Map;
|
|
2273
|
+
if (!Array.isArray(updates))
|
|
2274
|
+
return { chats: [], users: [] };
|
|
2275
|
+
const noteChat = (raw) => {
|
|
2276
|
+
const chat = readChat(raw);
|
|
2277
|
+
if (chat === undefined || !chat.type.includes("group"))
|
|
2278
|
+
return;
|
|
2279
|
+
const seen = chats.get(chat.id);
|
|
2280
|
+
if (seen === undefined || detail(chat) > detail(seen))
|
|
2281
|
+
chats.set(chat.id, chat);
|
|
2282
|
+
};
|
|
2283
|
+
const noteUser = (raw) => {
|
|
2284
|
+
const user = readUser(raw);
|
|
2285
|
+
if (user !== undefined && !users.has(user.id))
|
|
2286
|
+
users.set(user.id, user);
|
|
2287
|
+
};
|
|
2288
|
+
for (const update of updates) {
|
|
2289
|
+
if (!isRecord(update))
|
|
2290
|
+
continue;
|
|
2291
|
+
for (const key of CHAT_CARRIERS) {
|
|
2292
|
+
const carrier = update[key];
|
|
2293
|
+
if (!isRecord(carrier))
|
|
2294
|
+
continue;
|
|
2295
|
+
noteChat(carrier["chat"]);
|
|
2296
|
+
noteUser(carrier["from"]);
|
|
2297
|
+
}
|
|
2298
|
+
const callback = update["callback_query"];
|
|
2299
|
+
if (isRecord(callback)) {
|
|
2300
|
+
noteUser(callback["from"]);
|
|
2301
|
+
const message = callback["message"];
|
|
2302
|
+
if (isRecord(message))
|
|
2303
|
+
noteChat(message["chat"]);
|
|
2304
|
+
}
|
|
2305
|
+
}
|
|
2306
|
+
return { chats: [...chats.values()], users: [...users.values()] };
|
|
2307
|
+
}
|
|
2308
|
+
var CHAT_CARRIERS;
|
|
2309
|
+
var init_telegram_discovery = __esm(() => {
|
|
2310
|
+
CHAT_CARRIERS = ["message", "edited_message", "channel_post", "edited_channel_post", "my_chat_member"];
|
|
2311
|
+
});
|
|
2312
|
+
|
|
2218
2313
|
// packages/core/src/codex-hooks.ts
|
|
2219
2314
|
import { createHash } from "crypto";
|
|
2220
2315
|
function quoteToken(token) {
|
|
@@ -2667,6 +2762,7 @@ var init_src = __esm(() => {
|
|
|
2667
2762
|
init_claude_hooks();
|
|
2668
2763
|
init_gemini_onboarding();
|
|
2669
2764
|
init_doctor();
|
|
2765
|
+
init_telegram_discovery();
|
|
2670
2766
|
init_codex_hooks();
|
|
2671
2767
|
init_gemini_hooks();
|
|
2672
2768
|
init_agent_launch();
|
|
@@ -4700,6 +4796,8 @@ function startRpcServer(options) {
|
|
|
4700
4796
|
}
|
|
4701
4797
|
case "telegram.doctor":
|
|
4702
4798
|
return telegram.doctor();
|
|
4799
|
+
case "telegram.discover":
|
|
4800
|
+
return telegram.discover(p["botToken"]);
|
|
4703
4801
|
case "telegram.status":
|
|
4704
4802
|
return telegram.status();
|
|
4705
4803
|
case "doctor.report":
|
|
@@ -12204,6 +12302,16 @@ class TelegramService {
|
|
|
12204
12302
|
hasToken: s.botToken !== undefined
|
|
12205
12303
|
};
|
|
12206
12304
|
}
|
|
12305
|
+
async discover(botToken) {
|
|
12306
|
+
if (this.channel !== undefined)
|
|
12307
|
+
throw new AxtermError("err.telegram.discoverWhileRunning");
|
|
12308
|
+
const token = botToken ?? this.readSettings().botToken;
|
|
12309
|
+
if (!token)
|
|
12310
|
+
throw new AxtermError("err.telegram.noToken");
|
|
12311
|
+
const api = new FetchTelegramApi(token);
|
|
12312
|
+
const updates = await api.call("getUpdates", { timeout: 0 });
|
|
12313
|
+
return discoverTelegramTargets(updates);
|
|
12314
|
+
}
|
|
12207
12315
|
start() {
|
|
12208
12316
|
const s = this.readSettings();
|
|
12209
12317
|
if (!s.botToken || s.groupId === undefined || s.allowUserId === undefined) {
|
|
@@ -13140,7 +13248,7 @@ import { stdin as stdin2, stdout as stdout2 } from "process";
|
|
|
13140
13248
|
// packages/cli/package.json
|
|
13141
13249
|
var package_default = {
|
|
13142
13250
|
name: "@layorixinc/axterm",
|
|
13143
|
-
version: "0.
|
|
13251
|
+
version: "0.3.0",
|
|
13144
13252
|
type: "module",
|
|
13145
13253
|
bin: {
|
|
13146
13254
|
axterm: "dist/cli.js"
|
|
@@ -13525,9 +13633,9 @@ async function main2() {
|
|
|
13525
13633
|
if (health !== undefined && shouldOfferSetup(health, command, flags)) {
|
|
13526
13634
|
const header2 = health.status === "invalid" ? "wizard.invalid" : health.status === "incomplete" ? "wizard.incomplete" : "wizard.needed";
|
|
13527
13635
|
console.log(t(header2));
|
|
13528
|
-
const
|
|
13529
|
-
if (
|
|
13530
|
-
console.log(
|
|
13636
|
+
const detail2 = describeHealth(health);
|
|
13637
|
+
if (detail2.length > 0)
|
|
13638
|
+
console.log(detail2);
|
|
13531
13639
|
console.log(t("wizard.hint"));
|
|
13532
13640
|
await runSetup(client, await client.call("config.raw"));
|
|
13533
13641
|
}
|
|
@@ -13913,6 +14021,28 @@ async function main2() {
|
|
|
13913
14021
|
console.log(JSON.stringify(await client.call("telegram.doctor"), null, 2));
|
|
13914
14022
|
} else if (sub === "status") {
|
|
13915
14023
|
console.log(JSON.stringify(await client.call("telegram.status"), null, 2));
|
|
14024
|
+
} else if (sub === "discover") {
|
|
14025
|
+
const token = flags.get("token");
|
|
14026
|
+
const found = await client.call("telegram.discover", {
|
|
14027
|
+
...token !== undefined ? { botToken: token } : {}
|
|
14028
|
+
});
|
|
14029
|
+
if (found.chats.length > 0) {
|
|
14030
|
+
console.log(t("cli.telegram.discoverChats"));
|
|
14031
|
+
for (const chat of found.chats) {
|
|
14032
|
+
const marks = [chat.type, chat.isForum ? undefined : t("cli.telegram.topicsOff")].filter((m) => m !== undefined).join(" \u2014 ");
|
|
14033
|
+
console.log(` ${String(chat.id).padEnd(16)} ${(chat.title ?? "").padEnd(24)} ${marks}`);
|
|
14034
|
+
}
|
|
14035
|
+
} else {
|
|
14036
|
+
console.log(t("cli.telegram.discoverNone"));
|
|
14037
|
+
console.log(t("cli.telegram.discoverHint"));
|
|
14038
|
+
}
|
|
14039
|
+
if (found.users.length > 0) {
|
|
14040
|
+
console.log(t("cli.telegram.discoverUsers"));
|
|
14041
|
+
for (const user of found.users) {
|
|
14042
|
+
const label = [user.username !== undefined ? `@${user.username}` : undefined, user.name].filter((part) => part !== undefined).join(" ");
|
|
14043
|
+
console.log(` ${String(user.id).padEnd(16)} ${label}`);
|
|
14044
|
+
}
|
|
14045
|
+
}
|
|
13916
14046
|
} else {
|
|
13917
14047
|
throw new Error(t("cli.usage.telegram"));
|
|
13918
14048
|
}
|
package/package.json
CHANGED
|
@@ -1,50 +1,50 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@layorixinc/axterm",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"type": "module",
|
|
5
|
-
"bin": {
|
|
6
|
-
"axterm": "dist/cli.js"
|
|
7
|
-
},
|
|
8
|
-
"scripts": {
|
|
9
|
-
"bundle": "bun ../../scripts/bundle-cli.ts",
|
|
10
|
-
"prepack": "bun ../../scripts/bundle-cli.ts && node ../../scripts/prepack.mjs"
|
|
11
|
-
},
|
|
12
|
-
"devDependencies": {
|
|
13
|
-
"@axterm/core": "0.1.0",
|
|
14
|
-
"@axterm/daemon": "0.1.0",
|
|
15
|
-
"typescript": "^5.6.0",
|
|
16
|
-
"@types/node": "^22.0.0"
|
|
17
|
-
},
|
|
18
|
-
"license": "MIT",
|
|
19
|
-
"description": "Run CLI coding agents as managed background sessions, and drive them from a messenger",
|
|
20
|
-
"repository": {
|
|
21
|
-
"type": "git",
|
|
22
|
-
"url": "git+https://github.com/layorixinc/axterm.git"
|
|
23
|
-
},
|
|
24
|
-
"homepage": "https://github.com/layorixinc/axterm#readme",
|
|
25
|
-
"bugs": {
|
|
26
|
-
"url": "https://github.com/layorixinc/axterm/issues"
|
|
27
|
-
},
|
|
28
|
-
"engines": {
|
|
29
|
-
"bun": ">=1.3.14"
|
|
30
|
-
},
|
|
31
|
-
"files": [
|
|
32
|
-
"dist/cli.js",
|
|
33
|
-
"LICENSE",
|
|
34
|
-
"README.md"
|
|
35
|
-
],
|
|
36
|
-
"keywords": [
|
|
37
|
-
"cli",
|
|
38
|
-
"agent",
|
|
39
|
-
"pty",
|
|
40
|
-
"terminal",
|
|
41
|
-
"telegram",
|
|
42
|
-
"git-worktree",
|
|
43
|
-
"ai",
|
|
44
|
-
"coding-agent"
|
|
45
|
-
],
|
|
46
|
-
"publishConfig": {
|
|
47
|
-
"access": "public"
|
|
48
|
-
},
|
|
49
|
-
"author": "Layorix Inc."
|
|
50
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@layorixinc/axterm",
|
|
3
|
+
"version": "0.3.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"bin": {
|
|
6
|
+
"axterm": "dist/cli.js"
|
|
7
|
+
},
|
|
8
|
+
"scripts": {
|
|
9
|
+
"bundle": "bun ../../scripts/bundle-cli.ts",
|
|
10
|
+
"prepack": "bun ../../scripts/bundle-cli.ts && node ../../scripts/prepack.mjs"
|
|
11
|
+
},
|
|
12
|
+
"devDependencies": {
|
|
13
|
+
"@axterm/core": "0.1.0",
|
|
14
|
+
"@axterm/daemon": "0.1.0",
|
|
15
|
+
"typescript": "^5.6.0",
|
|
16
|
+
"@types/node": "^22.0.0"
|
|
17
|
+
},
|
|
18
|
+
"license": "MIT",
|
|
19
|
+
"description": "Run CLI coding agents as managed background sessions, and drive them from a messenger",
|
|
20
|
+
"repository": {
|
|
21
|
+
"type": "git",
|
|
22
|
+
"url": "git+https://github.com/layorixinc/axterm.git"
|
|
23
|
+
},
|
|
24
|
+
"homepage": "https://github.com/layorixinc/axterm#readme",
|
|
25
|
+
"bugs": {
|
|
26
|
+
"url": "https://github.com/layorixinc/axterm/issues"
|
|
27
|
+
},
|
|
28
|
+
"engines": {
|
|
29
|
+
"bun": ">=1.3.14"
|
|
30
|
+
},
|
|
31
|
+
"files": [
|
|
32
|
+
"dist/cli.js",
|
|
33
|
+
"LICENSE",
|
|
34
|
+
"README.md"
|
|
35
|
+
],
|
|
36
|
+
"keywords": [
|
|
37
|
+
"cli",
|
|
38
|
+
"agent",
|
|
39
|
+
"pty",
|
|
40
|
+
"terminal",
|
|
41
|
+
"telegram",
|
|
42
|
+
"git-worktree",
|
|
43
|
+
"ai",
|
|
44
|
+
"coding-agent"
|
|
45
|
+
],
|
|
46
|
+
"publishConfig": {
|
|
47
|
+
"access": "public"
|
|
48
|
+
},
|
|
49
|
+
"author": "Layorix Inc."
|
|
50
|
+
}
|