codex-anywhere 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 (104) hide show
  1. package/CONTRIBUTING.md +98 -0
  2. package/LICENSE +73 -0
  3. package/README.md +163 -0
  4. package/dist/agentMessageStreams.d.ts +3 -0
  5. package/dist/agentMessageStreams.d.ts.map +1 -0
  6. package/dist/agentMessageStreams.js +10 -0
  7. package/dist/agentMessageStreams.js.map +1 -0
  8. package/dist/app.d.ts +17 -0
  9. package/dist/app.d.ts.map +1 -0
  10. package/dist/app.js +18 -0
  11. package/dist/app.js.map +1 -0
  12. package/dist/approval.d.ts +12 -0
  13. package/dist/approval.d.ts.map +1 -0
  14. package/dist/approval.js +42 -0
  15. package/dist/approval.js.map +1 -0
  16. package/dist/bootstrap.d.ts +22 -0
  17. package/dist/bootstrap.d.ts.map +1 -0
  18. package/dist/bootstrap.js +31 -0
  19. package/dist/bootstrap.js.map +1 -0
  20. package/dist/bridge.d.ts +22 -0
  21. package/dist/bridge.d.ts.map +1 -0
  22. package/dist/bridge.js +2861 -0
  23. package/dist/bridge.js.map +1 -0
  24. package/dist/cli.d.ts +3 -0
  25. package/dist/cli.d.ts.map +1 -0
  26. package/dist/cli.js +58 -0
  27. package/dist/cli.js.map +1 -0
  28. package/dist/codexAppServer.d.ts +13 -0
  29. package/dist/codexAppServer.d.ts.map +1 -0
  30. package/dist/codexAppServer.js +115 -0
  31. package/dist/codexAppServer.js.map +1 -0
  32. package/dist/configuration.d.ts +17 -0
  33. package/dist/configuration.d.ts.map +1 -0
  34. package/dist/configuration.js +27 -0
  35. package/dist/configuration.js.map +1 -0
  36. package/dist/harnessState.d.ts +15 -0
  37. package/dist/harnessState.d.ts.map +1 -0
  38. package/dist/harnessState.js +55 -0
  39. package/dist/harnessState.js.map +1 -0
  40. package/dist/harnessStateCli.d.ts +3 -0
  41. package/dist/harnessStateCli.d.ts.map +1 -0
  42. package/dist/harnessStateCli.js +13 -0
  43. package/dist/harnessStateCli.js.map +1 -0
  44. package/dist/interactive.d.ts +8 -0
  45. package/dist/interactive.d.ts.map +1 -0
  46. package/dist/interactive.js +24 -0
  47. package/dist/interactive.js.map +1 -0
  48. package/dist/localCommandInteractions.d.ts +22 -0
  49. package/dist/localCommandInteractions.d.ts.map +1 -0
  50. package/dist/localCommandInteractions.js +412 -0
  51. package/dist/localCommandInteractions.js.map +1 -0
  52. package/dist/omxCommands.d.ts +10 -0
  53. package/dist/omxCommands.d.ts.map +1 -0
  54. package/dist/omxCommands.js +146 -0
  55. package/dist/omxCommands.js.map +1 -0
  56. package/dist/onboarding.d.ts +3 -0
  57. package/dist/onboarding.d.ts.map +1 -0
  58. package/dist/onboarding.js +41 -0
  59. package/dist/onboarding.js.map +1 -0
  60. package/dist/paths.d.ts +3 -0
  61. package/dist/paths.d.ts.map +1 -0
  62. package/dist/paths.js +22 -0
  63. package/dist/paths.js.map +1 -0
  64. package/dist/persistence.d.ts +6 -0
  65. package/dist/persistence.d.ts.map +1 -0
  66. package/dist/persistence.js +61 -0
  67. package/dist/persistence.js.map +1 -0
  68. package/dist/preflight.d.ts +3 -0
  69. package/dist/preflight.d.ts.map +1 -0
  70. package/dist/preflight.js +25 -0
  71. package/dist/preflight.js.map +1 -0
  72. package/dist/service.d.ts +58 -0
  73. package/dist/service.d.ts.map +1 -0
  74. package/dist/service.js +322 -0
  75. package/dist/service.js.map +1 -0
  76. package/dist/sessions.d.ts +7 -0
  77. package/dist/sessions.d.ts.map +1 -0
  78. package/dist/sessions.js +20 -0
  79. package/dist/sessions.js.map +1 -0
  80. package/dist/slashCommands.d.ts +13 -0
  81. package/dist/slashCommands.d.ts.map +1 -0
  82. package/dist/slashCommands.js +150 -0
  83. package/dist/slashCommands.js.map +1 -0
  84. package/dist/telegram.d.ts +21 -0
  85. package/dist/telegram.d.ts.map +1 -0
  86. package/dist/telegram.js +103 -0
  87. package/dist/telegram.js.map +1 -0
  88. package/dist/telegramFormatting.d.ts +18 -0
  89. package/dist/telegramFormatting.d.ts.map +1 -0
  90. package/dist/telegramFormatting.js +380 -0
  91. package/dist/telegramFormatting.js.map +1 -0
  92. package/dist/threadState.d.ts +3 -0
  93. package/dist/threadState.d.ts.map +1 -0
  94. package/dist/threadState.js +28 -0
  95. package/dist/threadState.js.map +1 -0
  96. package/dist/turnControls.d.ts +7 -0
  97. package/dist/turnControls.d.ts.map +1 -0
  98. package/dist/turnControls.js +20 -0
  99. package/dist/turnControls.js.map +1 -0
  100. package/dist/types.d.ts +121 -0
  101. package/dist/types.d.ts.map +1 -0
  102. package/dist/types.js +2 -0
  103. package/dist/types.js.map +1 -0
  104. package/package.json +62 -0
@@ -0,0 +1,121 @@
1
+ export type JsonObject = Record<string, unknown>;
2
+ export type ApprovalAction = "approve" | "session" | "decline" | "cancel";
3
+ export interface TelegramBotCommand {
4
+ command: string;
5
+ description: string;
6
+ }
7
+ export interface StoredConfig {
8
+ version: 1;
9
+ telegramBotToken: string;
10
+ workspaceCwd: string;
11
+ ownerUserId: number | null;
12
+ pollTimeoutSeconds: number;
13
+ streamEditIntervalMs: number;
14
+ }
15
+ export interface ChatSessionState {
16
+ threadId: string | null;
17
+ freshThread: boolean;
18
+ activeTurnId: string | null;
19
+ turnControlTurnId: string | null;
20
+ turnControlMessageId: number | null;
21
+ verbose: boolean;
22
+ queueNextArmed: boolean;
23
+ queuedTurnInput: JsonObject[] | null;
24
+ pendingTurnInput: JsonObject[] | null;
25
+ pendingMention: JsonObject | null;
26
+ model: string | null;
27
+ reasoningEffort: string | null;
28
+ personality: string | null;
29
+ collaborationModeName: string | null;
30
+ collaborationMode: JsonObject | null;
31
+ serviceTier: string | null;
32
+ approvalPolicy: string | null;
33
+ lastAssistantMessage: string | null;
34
+ }
35
+ export interface StoredState {
36
+ version: 1;
37
+ lastUpdateId: number | null;
38
+ chats: Record<string, ChatSessionState>;
39
+ }
40
+ export interface StoragePaths {
41
+ configPath: string;
42
+ statePath: string;
43
+ }
44
+ export interface TelegramUpdate {
45
+ update_id: number;
46
+ message?: TelegramMessage;
47
+ callback_query?: TelegramCallbackQuery;
48
+ }
49
+ export interface TelegramMessage {
50
+ message_id: number;
51
+ chat: {
52
+ id: number;
53
+ type: string;
54
+ };
55
+ from?: {
56
+ id: number;
57
+ };
58
+ text?: string;
59
+ caption?: string;
60
+ photo?: TelegramPhotoSize[];
61
+ document?: TelegramDocument;
62
+ }
63
+ export interface TelegramPhotoSize {
64
+ file_id: string;
65
+ width: number;
66
+ height: number;
67
+ file_size?: number;
68
+ }
69
+ export interface TelegramDocument {
70
+ file_id: string;
71
+ file_name?: string;
72
+ mime_type?: string;
73
+ file_size?: number;
74
+ }
75
+ export interface TelegramCallbackQuery {
76
+ id: string;
77
+ from?: {
78
+ id: number;
79
+ };
80
+ data?: string;
81
+ message?: TelegramMessage;
82
+ }
83
+ export interface PendingApproval {
84
+ requestId: string | number;
85
+ chatId: number;
86
+ method: string;
87
+ params: JsonObject;
88
+ }
89
+ export type PendingInteractiveSessionKind = "tool" | "mcp" | "local";
90
+ export interface PendingInteractiveSessionStep {
91
+ key: string;
92
+ prompt: string;
93
+ kind: "choice" | "text" | "number" | "boolean" | "url";
94
+ options?: Array<{
95
+ label: string;
96
+ value: string;
97
+ }>;
98
+ required?: boolean;
99
+ }
100
+ export interface PendingInteractiveSession {
101
+ requestId: string | number | null;
102
+ chatId: number;
103
+ kind: PendingInteractiveSessionKind;
104
+ token: string;
105
+ title: string;
106
+ steps: PendingInteractiveSessionStep[];
107
+ currentStepIndex: number;
108
+ answers: Record<string, unknown>;
109
+ meta?: JsonObject | null;
110
+ }
111
+ export interface StreamBuffer {
112
+ threadId: string;
113
+ turnId: string;
114
+ streamId: string;
115
+ chatId: number;
116
+ text: string;
117
+ messageId: number | null;
118
+ lastFlushAt: number;
119
+ phase: string | null;
120
+ }
121
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,62 @@
1
+ {
2
+ "name": "codex-anywhere",
3
+ "private": false,
4
+ "version": "0.1.0",
5
+ "description": "Telegram-native Codex client for background use anywhere",
6
+ "license": "Apache-2.0",
7
+ "type": "module",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "git+https://github.com/Mempat-AI/codex-anywhere.git"
11
+ },
12
+ "homepage": "https://github.com/Mempat-AI/codex-anywhere#readme",
13
+ "bugs": {
14
+ "url": "https://github.com/Mempat-AI/codex-anywhere/issues"
15
+ },
16
+ "keywords": [
17
+ "codex",
18
+ "telegram",
19
+ "cli",
20
+ "developer-tools",
21
+ "automation",
22
+ "oh-my-codex"
23
+ ],
24
+ "bin": {
25
+ "codex-anywhere": "dist/cli.js"
26
+ },
27
+ "files": [
28
+ "dist",
29
+ "README.md",
30
+ "CONTRIBUTING.md"
31
+ ],
32
+ "engines": {
33
+ "node": ">=22"
34
+ },
35
+ "scripts": {
36
+ "connect": "tsx src/cli.ts connect",
37
+ "start": "tsx src/cli.ts connect",
38
+ "service:install": "tsx src/cli.ts install-service",
39
+ "service:start": "tsx src/cli.ts start-service",
40
+ "service:stop": "tsx src/cli.ts stop-service",
41
+ "service:status": "tsx src/cli.ts service-status",
42
+ "service:uninstall": "tsx src/cli.ts uninstall-service",
43
+ "start:dist": "node dist/cli.js connect",
44
+ "service:install:dist": "node dist/cli.js install-service",
45
+ "service:start:dist": "node dist/cli.js start-service",
46
+ "service:stop:dist": "node dist/cli.js stop-service",
47
+ "service:status:dist": "node dist/cli.js service-status",
48
+ "service:uninstall:dist": "node dist/cli.js uninstall-service",
49
+ "build": "rm -rf dist && tsc -p tsconfig.json",
50
+ "typecheck": "tsc --noEmit -p tsconfig.json",
51
+ "lint": "pnpm run typecheck",
52
+ "test": "node --test --import tsx tests/*.test.ts",
53
+ "test:real-backend": "CODEX_ANYWHERE_REAL_BACKEND=1 node --test --import tsx tests/realBackend.test.ts",
54
+ "prepack": "pnpm run build"
55
+ },
56
+ "devDependencies": {
57
+ "@types/node": "^24.5.2",
58
+ "tsx": "^4.20.5",
59
+ "typescript": "^5.9.2"
60
+ },
61
+ "packageManager": "pnpm@10.29.3+sha512.498e1fb4cca5aa06c1dcf2611e6fafc50972ffe7189998c409e90de74566444298ffe43e6cd2acdc775ba1aa7cc5e092a8b7054c811ba8c5770f84693d33d2dc"
62
+ }