agents-bridge 0.1.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.
Files changed (139) hide show
  1. package/.env.example +20 -0
  2. package/LICENSE +21 -0
  3. package/README.md +259 -0
  4. package/bin/agent-bridge.mjs +12 -0
  5. package/config.example.json +117 -0
  6. package/dist/agents/cli-backends.d.ts +32 -0
  7. package/dist/agents/cli-backends.d.ts.map +1 -0
  8. package/dist/agents/cli-backends.js +217 -0
  9. package/dist/agents/cli-backends.js.map +1 -0
  10. package/dist/agents/cli-runner.d.ts.map +1 -0
  11. package/dist/agents/cli-runner.js +524 -0
  12. package/dist/agents/cli-runner.js.map +1 -0
  13. package/dist/agents/cli-session-store.d.ts.map +1 -0
  14. package/dist/agents/cli-session-store.js +127 -0
  15. package/dist/agents/cli-session-store.js.map +1 -0
  16. package/dist/agents/model-selection.d.ts +27 -0
  17. package/dist/agents/model-selection.d.ts.map +1 -0
  18. package/dist/agents/model-selection.js +40 -0
  19. package/dist/agents/model-selection.js.map +1 -0
  20. package/dist/agents/models-config.d.ts +28 -0
  21. package/dist/agents/models-config.d.ts.map +1 -0
  22. package/dist/agents/models-config.js +43 -0
  23. package/dist/agents/models-config.js.map +1 -0
  24. package/dist/channels/botlink.d.ts.map +1 -0
  25. package/dist/channels/botlink.js +320 -0
  26. package/dist/channels/botlink.js.map +1 -0
  27. package/dist/channels/command-gating.d.ts +20 -0
  28. package/dist/channels/command-gating.d.ts.map +1 -0
  29. package/dist/channels/command-gating.js +43 -0
  30. package/dist/channels/command-gating.js.map +1 -0
  31. package/dist/channels/draft-stream-controls.d.ts +21 -0
  32. package/dist/channels/draft-stream-controls.d.ts.map +1 -0
  33. package/dist/channels/draft-stream-controls.js +43 -0
  34. package/dist/channels/draft-stream-controls.js.map +1 -0
  35. package/dist/channels/draft-stream-loop.d.ts +31 -0
  36. package/dist/channels/draft-stream-loop.d.ts.map +1 -0
  37. package/dist/channels/draft-stream-loop.js +60 -0
  38. package/dist/channels/draft-stream-loop.js.map +1 -0
  39. package/dist/channels/mention-gating.d.ts +18 -0
  40. package/dist/channels/mention-gating.d.ts.map +1 -0
  41. package/dist/channels/mention-gating.js +20 -0
  42. package/dist/channels/mention-gating.js.map +1 -0
  43. package/dist/channels/registry.d.ts +5 -0
  44. package/dist/channels/registry.d.ts.map +1 -0
  45. package/dist/channels/registry.js +14 -0
  46. package/dist/channels/registry.js.map +1 -0
  47. package/dist/channels/run-state-machine.d.ts +21 -0
  48. package/dist/channels/run-state-machine.d.ts.map +1 -0
  49. package/dist/channels/run-state-machine.js +41 -0
  50. package/dist/channels/run-state-machine.js.map +1 -0
  51. package/dist/channels/session-envelope.d.ts +5 -0
  52. package/dist/channels/session-envelope.d.ts.map +1 -0
  53. package/dist/channels/session-envelope.js +13 -0
  54. package/dist/channels/session-envelope.js.map +1 -0
  55. package/dist/channels/session.d.ts +18 -0
  56. package/dist/channels/session.d.ts.map +1 -0
  57. package/dist/channels/session.js +35 -0
  58. package/dist/channels/session.js.map +1 -0
  59. package/dist/channels/typing-lifecycle.d.ts +16 -0
  60. package/dist/channels/typing-lifecycle.d.ts.map +1 -0
  61. package/dist/channels/typing-lifecycle.js +31 -0
  62. package/dist/channels/typing-lifecycle.js.map +1 -0
  63. package/dist/cli/cmd-config.d.ts +3 -0
  64. package/dist/cli/cmd-config.d.ts.map +1 -0
  65. package/dist/cli/cmd-config.js +15 -0
  66. package/dist/cli/cmd-config.js.map +1 -0
  67. package/dist/cli/cmd-doctor.d.ts +3 -0
  68. package/dist/cli/cmd-doctor.d.ts.map +1 -0
  69. package/dist/cli/cmd-doctor.js +80 -0
  70. package/dist/cli/cmd-doctor.js.map +1 -0
  71. package/dist/cli/cmd-logs.d.ts +3 -0
  72. package/dist/cli/cmd-logs.d.ts.map +1 -0
  73. package/dist/cli/cmd-logs.js +26 -0
  74. package/dist/cli/cmd-logs.js.map +1 -0
  75. package/dist/cli/cmd-onboard.d.ts +3 -0
  76. package/dist/cli/cmd-onboard.d.ts.map +1 -0
  77. package/dist/cli/cmd-onboard.js +103 -0
  78. package/dist/cli/cmd-onboard.js.map +1 -0
  79. package/dist/cli/cmd-start.d.ts +3 -0
  80. package/dist/cli/cmd-start.d.ts.map +1 -0
  81. package/dist/cli/cmd-start.js +155 -0
  82. package/dist/cli/cmd-start.js.map +1 -0
  83. package/dist/cli/cmd-status.d.ts +3 -0
  84. package/dist/cli/cmd-status.d.ts.map +1 -0
  85. package/dist/cli/cmd-status.js +16 -0
  86. package/dist/cli/cmd-status.js.map +1 -0
  87. package/dist/cli/cmd-stop.d.ts +3 -0
  88. package/dist/cli/cmd-stop.d.ts.map +1 -0
  89. package/dist/cli/cmd-stop.js +30 -0
  90. package/dist/cli/cmd-stop.js.map +1 -0
  91. package/dist/cli/pid-file.d.ts +7 -0
  92. package/dist/cli/pid-file.d.ts.map +1 -0
  93. package/dist/cli/pid-file.js +51 -0
  94. package/dist/cli/pid-file.js.map +1 -0
  95. package/dist/cli/run-main.d.ts +11 -0
  96. package/dist/cli/run-main.d.ts.map +1 -0
  97. package/dist/cli/run-main.js +64 -0
  98. package/dist/cli/run-main.js.map +1 -0
  99. package/dist/config/agent-dirs.d.ts +12 -0
  100. package/dist/config/agent-dirs.d.ts.map +1 -0
  101. package/dist/config/agent-dirs.js +30 -0
  102. package/dist/config/agent-dirs.js.map +1 -0
  103. package/dist/config/config.d.ts +3 -0
  104. package/dist/config/config.d.ts.map +1 -0
  105. package/dist/config/config.js +40 -0
  106. package/dist/config/config.js.map +1 -0
  107. package/dist/config/env-vars.d.ts +15 -0
  108. package/dist/config/env-vars.d.ts.map +1 -0
  109. package/dist/config/env-vars.js +16 -0
  110. package/dist/config/env-vars.js.map +1 -0
  111. package/dist/config/merge-config.d.ts +7 -0
  112. package/dist/config/merge-config.d.ts.map +1 -0
  113. package/dist/config/merge-config.js +32 -0
  114. package/dist/config/merge-config.js.map +1 -0
  115. package/dist/config/paths.d.ts +19 -0
  116. package/dist/config/paths.d.ts.map +1 -0
  117. package/dist/config/paths.js +22 -0
  118. package/dist/config/paths.js.map +1 -0
  119. package/dist/config/zod-schema.d.ts +1192 -0
  120. package/dist/config/zod-schema.d.ts.map +1 -0
  121. package/dist/config/zod-schema.js +107 -0
  122. package/dist/config/zod-schema.js.map +1 -0
  123. package/dist/console-encoding.d.ts +6 -0
  124. package/dist/console-encoding.d.ts.map +1 -0
  125. package/dist/console-encoding.js +35 -0
  126. package/dist/console-encoding.js.map +1 -0
  127. package/dist/entry.d.ts +3 -0
  128. package/dist/entry.d.ts.map +1 -0
  129. package/dist/entry.js +47 -0
  130. package/dist/entry.js.map +1 -0
  131. package/dist/logger.d.ts +4 -0
  132. package/dist/logger.d.ts.map +1 -0
  133. package/dist/logger.js +19 -0
  134. package/dist/logger.js.map +1 -0
  135. package/dist/types/index.d.ts +67 -0
  136. package/dist/types/index.d.ts.map +1 -0
  137. package/dist/types/index.js +2 -0
  138. package/dist/types/index.js.map +1 -0
  139. package/package.json +55 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zod-schema.d.ts","sourceRoot":"","sources":["../../src/config/zod-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAKvB,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;EAM/B,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAKvE,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsCjC,CAAA;AAKF,eAAO,MAAM,cAAc;;;;;;;;;EAGzB,CAAA;AAKF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQ9B,CAAA;AACF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAKrE,eAAO,MAAM,iBAAiB;;;;;;;;;EAG5B,CAAA;AAKF,eAAO,MAAM,mBAAmB;;;;;;;;;EAG9B,CAAA;AAKF,eAAO,MAAM,kBAAkB;;;;;;EAE7B,CAAA;AAKF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAU1B,CAAA;AACF,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA"}
@@ -0,0 +1,107 @@
1
+ import { z } from 'zod';
2
+ // ============================================================
3
+ // Botlink Channel Config
4
+ // ============================================================
5
+ export const BotlinkChannelSchema = z.object({
6
+ gateway_url: z.string().url('gateway_url must be a valid URL'),
7
+ bot_token: z.string().min(1, 'bot_token is required'),
8
+ poll_timeout: z.number().int().min(0).max(60).default(30),
9
+ retry_interval: z.number().int().min(1).default(5),
10
+ max_retry_interval: z.number().int().min(5).default(60),
11
+ });
12
+ // ============================================================
13
+ // CLI Backend Config — cliBackends 配置
14
+ // ============================================================
15
+ export const CliBackendConfigSchema = z.object({
16
+ command: z.string().min(1),
17
+ args: z.array(z.string()).optional(),
18
+ output: z.enum(['json', 'jsonl', 'text']).optional(),
19
+ resumeOutput: z.enum(['json', 'jsonl', 'text']).optional(),
20
+ input: z.enum(['arg', 'stdin']).optional(),
21
+ maxPromptArgChars: z.number().int().positive().optional(),
22
+ env: z.record(z.string()).optional(),
23
+ clearEnv: z.array(z.string()).optional(),
24
+ modelArg: z.string().optional(),
25
+ modelAliases: z.record(z.string()).optional(),
26
+ sessionArg: z.string().optional(),
27
+ sessionArgs: z.array(z.string()).optional(),
28
+ resumeArgs: z.array(z.string()).optional(),
29
+ sessionIdFields: z.array(z.string()).optional(),
30
+ sessionMode: z.enum(['always', 'existing', 'none']).optional(),
31
+ systemPromptArg: z.string().optional(),
32
+ systemPromptMode: z.enum(['append', 'replace']).optional(),
33
+ systemPromptWhen: z.enum(['first', 'always', 'never']).optional(),
34
+ imageArg: z.string().optional(),
35
+ imageMode: z.enum(['repeat', 'list']).optional(),
36
+ serialize: z.boolean().optional(),
37
+ reliability: z.object({
38
+ watchdog: z.object({
39
+ fresh: z.object({
40
+ noOutputTimeoutMs: z.number().int().positive().optional(),
41
+ noOutputTimeoutRatio: z.number().positive().optional(),
42
+ minMs: z.number().int().positive().optional(),
43
+ maxMs: z.number().int().positive().optional(),
44
+ }).optional(),
45
+ resume: z.object({
46
+ noOutputTimeoutMs: z.number().int().positive().optional(),
47
+ noOutputTimeoutRatio: z.number().positive().optional(),
48
+ minMs: z.number().int().positive().optional(),
49
+ maxMs: z.number().int().positive().optional(),
50
+ }).optional(),
51
+ }).optional(),
52
+ }).optional(),
53
+ });
54
+ // ============================================================
55
+ // Model Reference — provider/model 格式,支持 fallback
56
+ // ============================================================
57
+ export const ModelRefSchema = z.object({
58
+ primary: z.string().min(1),
59
+ fallbacks: z.array(z.string()).optional(),
60
+ });
61
+ // ============================================================
62
+ // Agent Defaults Config
63
+ // ============================================================
64
+ export const AgentDefaultsSchema = z.object({
65
+ model: ModelRefSchema,
66
+ cliBackends: z.record(CliBackendConfigSchema).optional(),
67
+ tools: z.object({
68
+ allow: z.array(z.string()).optional(),
69
+ deny: z.array(z.string()).optional(),
70
+ }).optional(),
71
+ max_tokens: z.number().int().positive().optional(),
72
+ });
73
+ // ============================================================
74
+ // Files Config
75
+ // ============================================================
76
+ export const FilesConfigSchema = z.object({
77
+ temp_dir: z.string().default('/tmp/agent-bridge/files'),
78
+ max_file_size: z.number().int().positive().default(52428800), // 50MB
79
+ });
80
+ // ============================================================
81
+ // Logging Config
82
+ // ============================================================
83
+ export const LoggingConfigSchema = z.object({
84
+ level: z.enum(['trace', 'debug', 'info', 'warn', 'error', 'fatal']).default('info'),
85
+ pretty: z.boolean().default(false),
86
+ });
87
+ // ============================================================
88
+ // Skills Config
89
+ // ============================================================
90
+ export const SkillsConfigSchema = z.object({
91
+ dirs: z.array(z.string()).default(['./skills']),
92
+ });
93
+ // ============================================================
94
+ // Root Config Schema
95
+ // ============================================================
96
+ export const AppConfigSchema = z.object({
97
+ channels: z.object({
98
+ botlink: BotlinkChannelSchema,
99
+ }),
100
+ agents: z.object({
101
+ defaults: AgentDefaultsSchema,
102
+ }),
103
+ skills: SkillsConfigSchema.default({}),
104
+ files: FilesConfigSchema.default({}),
105
+ logging: LoggingConfigSchema.default({}),
106
+ });
107
+ //# sourceMappingURL=zod-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zod-schema.js","sourceRoot":"","sources":["../../src/config/zod-schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Force UTF-8 console I/O on Windows so Chinese logs render correctly in
3
+ * cmd.exe / PowerShell sessions that still use a legacy code page.
4
+ */
5
+ export declare function ensureConsoleEncoding(): void;
6
+ //# sourceMappingURL=console-encoding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"console-encoding.d.ts","sourceRoot":"","sources":["../src/console-encoding.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CA4B5C"}
@@ -0,0 +1,35 @@
1
+ import { spawnSync } from 'node:child_process';
2
+ let initialized = false;
3
+ /**
4
+ * Force UTF-8 console I/O on Windows so Chinese logs render correctly in
5
+ * cmd.exe / PowerShell sessions that still use a legacy code page.
6
+ */
7
+ export function ensureConsoleEncoding() {
8
+ if (initialized)
9
+ return;
10
+ initialized = true;
11
+ try {
12
+ process.stdin.setEncoding('utf8');
13
+ process.stdout.setDefaultEncoding('utf8');
14
+ process.stderr.setDefaultEncoding('utf8');
15
+ }
16
+ catch {
17
+ // Ignore stream encoding failures and keep best-effort behavior.
18
+ }
19
+ if (process.platform !== 'win32') {
20
+ return;
21
+ }
22
+ if (!process.stdin.isTTY && !process.stdout.isTTY && !process.stderr.isTTY) {
23
+ return;
24
+ }
25
+ try {
26
+ spawnSync(process.env.ComSpec ?? 'cmd.exe', ['/d', '/s', '/c', 'chcp 65001>nul'], {
27
+ stdio: 'ignore',
28
+ windowsHide: true,
29
+ });
30
+ }
31
+ catch {
32
+ // Ignore code page update failures and keep best-effort behavior.
33
+ }
34
+ }
35
+ //# sourceMappingURL=console-encoding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"console-encoding.js","sourceRoot":"","sources":["../src/console-encoding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAE9C,IAAI,WAAW,GAAG,KAAK,CAAA;AAEvB;;;GAGG;AACH,MAAM,UAAU,qBAAqB;IACnC,IAAI,WAAW;QAAE,OAAM;IACvB,WAAW,GAAG,IAAI,CAAA;IAElB,IAAI,CAAC;QACH,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;QACjC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAA;QACzC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAA;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,iEAAiE;IACnE,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,OAAM;IACR,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAC3E,OAAM;IACR,CAAC;IAED,IAAI,CAAC;QACH,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,CAAC,EAAE;YAChF,KAAK,EAAE,QAAQ;YACf,WAAW,EAAE,IAAI;SAClB,CAAC,CAAA;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,kEAAkE;IACpE,CAAC;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=entry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entry.d.ts","sourceRoot":"","sources":["../src/entry.ts"],"names":[],"mappings":";AASA,OAAO,uBAAuB,CAAA"}
package/dist/entry.js ADDED
@@ -0,0 +1,47 @@
1
+ #!/usr/bin/env node
2
+ import { parseCliArgs, printHelp } from './cli/run-main.js';
3
+ import { cmdStart } from './cli/cmd-start.js';
4
+ import { cmdStop } from './cli/cmd-stop.js';
5
+ import { cmdStatus } from './cli/cmd-status.js';
6
+ import { cmdOnboard } from './cli/cmd-onboard.js';
7
+ import { cmdDoctor } from './cli/cmd-doctor.js';
8
+ import { cmdLogs } from './cli/cmd-logs.js';
9
+ import { cmdConfig } from './cli/cmd-config.js';
10
+ import './channels/botlink.js';
11
+ async function main() {
12
+ const args = parseCliArgs();
13
+ switch (args.command) {
14
+ case 'help':
15
+ printHelp();
16
+ break;
17
+ case 'start':
18
+ await cmdStart(args);
19
+ break;
20
+ case 'stop':
21
+ await cmdStop(args);
22
+ break;
23
+ case 'status':
24
+ await cmdStatus(args);
25
+ break;
26
+ case 'onboard':
27
+ await cmdOnboard(args);
28
+ break;
29
+ case 'doctor':
30
+ await cmdDoctor(args);
31
+ break;
32
+ case 'logs':
33
+ await cmdLogs(args);
34
+ break;
35
+ case 'config':
36
+ await cmdConfig(args);
37
+ break;
38
+ default:
39
+ printHelp();
40
+ process.exit(1);
41
+ }
42
+ }
43
+ main().catch(err => {
44
+ console.error('Fatal error:', err);
45
+ process.exit(1);
46
+ });
47
+ //# sourceMappingURL=entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entry.js","sourceRoot":"","sources":["../src/entry.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,uBAAuB,CAAA;AAE9B,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,YAAY,EAAE,CAAA;IAE3B,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;QACrB,KAAK,MAAM;YACT,SAAS,EAAE,CAAA;YACX,MAAK;QACP,KAAK,OAAO;YACV,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAA;YACpB,MAAK;QACP,KAAK,MAAM;YACT,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;YACnB,MAAK;QACP,KAAK,QAAQ;YACX,MAAM,SAAS,CAAC,IAAI,CAAC,CAAA;YACrB,MAAK;QACP,KAAK,SAAS;YACZ,MAAM,UAAU,CAAC,IAAI,CAAC,CAAA;YACtB,MAAK;QACP,KAAK,QAAQ;YACX,MAAM,SAAS,CAAC,IAAI,CAAC,CAAA;YACrB,MAAK;QACP,KAAK,MAAM;YACT,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;YACnB,MAAK;QACP,KAAK,QAAQ;YACX,MAAM,SAAS,CAAC,IAAI,CAAC,CAAA;YACrB,MAAK;QACP;YACE,SAAS,EAAE,CAAA;YACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACnB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;IACjB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,CAAC,CAAA;IAClC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC,CAAC,CAAA"}
@@ -0,0 +1,4 @@
1
+ import type { Logger } from './types/index.js';
2
+ export declare function createLogger(level?: string, pretty?: boolean): Logger;
3
+ export declare function getLogger(): Logger;
4
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAI9C,wBAAgB,YAAY,CAAC,KAAK,SAAS,EAAE,MAAM,UAAQ,GAAG,MAAM,CAWnE;AAED,wBAAgB,SAAS,IAAI,MAAM,CAKlC"}
package/dist/logger.js ADDED
@@ -0,0 +1,19 @@
1
+ import pino from 'pino';
2
+ let _logger = null;
3
+ export function createLogger(level = 'info', pretty = false) {
4
+ const transport = pretty
5
+ ? { target: 'pino-pretty', options: { colorize: true } }
6
+ : undefined;
7
+ _logger = pino({
8
+ level,
9
+ ...(transport ? { transport } : {}),
10
+ });
11
+ return _logger;
12
+ }
13
+ export function getLogger() {
14
+ if (!_logger) {
15
+ _logger = createLogger();
16
+ }
17
+ return _logger;
18
+ }
19
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AAGvB,IAAI,OAAO,GAAkB,IAAI,CAAA;AAEjC,MAAM,UAAU,YAAY,CAAC,KAAK,GAAG,MAAM,EAAE,MAAM,GAAG,KAAK;IACzD,MAAM,SAAS,GAAG,MAAM;QACtB,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;QACxD,CAAC,CAAC,SAAS,CAAA;IAEb,OAAO,GAAG,IAAI,CAAC;QACb,KAAK;QACL,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpC,CAAC,CAAA;IAEF,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,GAAG,YAAY,EAAE,CAAA;IAC1B,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -0,0 +1,67 @@
1
+ import type { Logger as PinoLogger } from 'pino';
2
+ export type Logger = PinoLogger;
3
+ export interface SessionEnvelope {
4
+ /** Unique session identifier (e.g. bot_token + chat_id) */
5
+ sessionId: string;
6
+ source: {
7
+ chatId: number | string;
8
+ chatType: 'private' | 'group' | 'multi_bot';
9
+ userId: number | string;
10
+ username?: string;
11
+ messageId: number;
12
+ replyToMessageId?: number;
13
+ };
14
+ content: {
15
+ /** Full message text (after @mention stripping if applicable) */
16
+ text: string;
17
+ /** @mention names extracted from the message */
18
+ mentions: string[];
19
+ /** File attachments (already downloaded to local temp path) */
20
+ attachments: Array<{
21
+ type: 'document' | 'photo' | 'audio' | 'video';
22
+ localPath: string;
23
+ mimeType?: string;
24
+ fileName?: string;
25
+ }>;
26
+ };
27
+ meta: {
28
+ timestamp: number;
29
+ /** Original raw update object from the channel */
30
+ raw: object;
31
+ };
32
+ }
33
+ export interface ChannelContext {
34
+ dispatch(envelope: SessionEnvelope): Promise<void>;
35
+ logger: Logger;
36
+ }
37
+ export interface ChannelPlugin {
38
+ id: string;
39
+ setup(config: unknown, ctx: ChannelContext): Promise<void>;
40
+ teardown(): Promise<void>;
41
+ }
42
+ export interface CliBackendConfig {
43
+ command: string;
44
+ args?: string[];
45
+ resumeArgs?: string[];
46
+ output?: 'json' | 'jsonl' | 'text';
47
+ resumeOutput?: 'json' | 'jsonl' | 'text';
48
+ input?: 'arg' | 'stdin';
49
+ modelArg?: string;
50
+ modelAliases?: Record<string, string>;
51
+ sessionArg?: string;
52
+ sessionArgs?: string[];
53
+ sessionIdFields?: string[];
54
+ sessionMode?: 'always' | 'existing' | 'none';
55
+ systemPromptArg?: string;
56
+ systemPromptWhen?: 'first' | 'always' | 'never';
57
+ imageArg?: string;
58
+ imageMode?: 'repeat' | 'append';
59
+ serialize?: boolean;
60
+ }
61
+ export type BotStatus = 'pending' | 'processing' | 'read';
62
+ export interface ManagedFileLayout {
63
+ tempDir: string;
64
+ downloadPath: `${string}/${string}`;
65
+ maxFileSize: number;
66
+ }
67
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,55 @@
1
+ {
2
+ "name": "agents-bridge",
3
+ "version": "0.1.0",
4
+ "description": "Local Agent Gateway for botlink platform",
5
+ "keywords": [
6
+ "agent",
7
+ "bridge",
8
+ "gateway",
9
+ "cli",
10
+ "botlink",
11
+ "codex",
12
+ "claude"
13
+ ],
14
+ "type": "module",
15
+ "license": "MIT",
16
+ "main": "dist/entry.js",
17
+ "bin": {
18
+ "agents-bridge": "./bin/agent-bridge.mjs"
19
+ },
20
+ "files": [
21
+ "dist",
22
+ "bin",
23
+ "config.example.json",
24
+ ".env.example"
25
+ ],
26
+ "scripts": {
27
+ "build": "node ./scripts/build.mjs",
28
+ "dev": "tsx watch src/entry.ts",
29
+ "start": "node dist/entry.js start",
30
+ "typecheck": "tsc --noEmit",
31
+ "prepublishOnly": "node ./scripts/build.mjs && tsc --noEmit"
32
+ },
33
+ "workspaces": [
34
+ "packages/*",
35
+ "extensions/*"
36
+ ],
37
+ "dependencies": {
38
+ "pino": "^9.0.0",
39
+ "pino-pretty": "^11.0.0",
40
+ "zod": "^3.24.0"
41
+ },
42
+ "devDependencies": {
43
+ "@types/node": "^22.0.0",
44
+ "tsx": "^4.21.0",
45
+ "typescript": "^5.9.3"
46
+ },
47
+ "engines": {
48
+ "node": ">=22.0.0",
49
+ "pnpm": ">=9.0.0"
50
+ },
51
+ "publishConfig": {
52
+ "registry": "https://registry.npmjs.org/"
53
+ },
54
+ "packageManager": "pnpm@10.32.1"
55
+ }