@locusai/telegram 0.11.5 → 0.11.7

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 (2) hide show
  1. package/bin/telegram.js +449 -0
  2. package/package.json +2 -2
package/bin/telegram.js CHANGED
@@ -38319,6 +38319,455 @@ var WorkspaceStatsSchema = exports_external.object({
38319
38319
  var WorkspaceStatsResponseSchema = exports_external.object({
38320
38320
  stats: WorkspaceStatsSchema
38321
38321
  });
38322
+ // ../shared/src/protocol/envelope.ts
38323
+ var PROTOCOL_VERSION = 1;
38324
+ var ProtocolVersionSchema = exports_external.literal(PROTOCOL_VERSION);
38325
+ var ProtocolEnvelopeSchema = exports_external.object({
38326
+ protocol: ProtocolVersionSchema,
38327
+ type: exports_external.string()
38328
+ });
38329
+
38330
+ // ../shared/src/protocol/errors.ts
38331
+ var ProtocolErrorCode = {
38332
+ CLI_NOT_FOUND: "CLI_NOT_FOUND",
38333
+ AUTH_EXPIRED: "AUTH_EXPIRED",
38334
+ NETWORK_TIMEOUT: "NETWORK_TIMEOUT",
38335
+ CONTEXT_LIMIT: "CONTEXT_LIMIT",
38336
+ MALFORMED_EVENT: "MALFORMED_EVENT",
38337
+ PROCESS_CRASHED: "PROCESS_CRASHED",
38338
+ SESSION_NOT_FOUND: "SESSION_NOT_FOUND",
38339
+ UNKNOWN: "UNKNOWN"
38340
+ };
38341
+ var ProtocolErrorCodeSchema = exports_external.enum(ProtocolErrorCode);
38342
+ var ProtocolErrorSchema = exports_external.object({
38343
+ code: ProtocolErrorCodeSchema,
38344
+ message: exports_external.string(),
38345
+ details: exports_external.unknown().optional(),
38346
+ recoverable: exports_external.boolean()
38347
+ });
38348
+
38349
+ // ../shared/src/protocol/cli-stream.ts
38350
+ var CliStreamEventType = {
38351
+ START: "start",
38352
+ TEXT_DELTA: "text_delta",
38353
+ THINKING: "thinking",
38354
+ TOOL_STARTED: "tool_started",
38355
+ TOOL_COMPLETED: "tool_completed",
38356
+ STATUS: "status",
38357
+ ERROR: "error",
38358
+ DONE: "done"
38359
+ };
38360
+ var CliStreamEventTypeSchema = exports_external.enum(CliStreamEventType);
38361
+ var CliStreamBaseSchema = exports_external.object({
38362
+ protocol: ProtocolVersionSchema,
38363
+ sessionId: exports_external.string(),
38364
+ timestamp: exports_external.number()
38365
+ });
38366
+ var CliStartEventSchema = CliStreamBaseSchema.extend({
38367
+ type: exports_external.literal(CliStreamEventType.START),
38368
+ payload: exports_external.object({
38369
+ command: exports_external.string(),
38370
+ model: exports_external.string().optional(),
38371
+ provider: exports_external.string().optional(),
38372
+ cwd: exports_external.string().optional()
38373
+ })
38374
+ });
38375
+ var CliTextDeltaEventSchema = CliStreamBaseSchema.extend({
38376
+ type: exports_external.literal(CliStreamEventType.TEXT_DELTA),
38377
+ payload: exports_external.object({
38378
+ content: exports_external.string()
38379
+ })
38380
+ });
38381
+ var CliThinkingEventSchema = CliStreamBaseSchema.extend({
38382
+ type: exports_external.literal(CliStreamEventType.THINKING),
38383
+ payload: exports_external.object({
38384
+ content: exports_external.string().optional()
38385
+ })
38386
+ });
38387
+ var CliToolStartedEventSchema = CliStreamBaseSchema.extend({
38388
+ type: exports_external.literal(CliStreamEventType.TOOL_STARTED),
38389
+ payload: exports_external.object({
38390
+ tool: exports_external.string(),
38391
+ toolId: exports_external.string().optional(),
38392
+ parameters: exports_external.record(exports_external.string(), exports_external.unknown()).optional()
38393
+ })
38394
+ });
38395
+ var CliToolCompletedEventSchema = CliStreamBaseSchema.extend({
38396
+ type: exports_external.literal(CliStreamEventType.TOOL_COMPLETED),
38397
+ payload: exports_external.object({
38398
+ tool: exports_external.string(),
38399
+ toolId: exports_external.string().optional(),
38400
+ success: exports_external.boolean(),
38401
+ duration: exports_external.number().optional(),
38402
+ error: exports_external.string().optional()
38403
+ })
38404
+ });
38405
+ var CliStatusEventSchema = CliStreamBaseSchema.extend({
38406
+ type: exports_external.literal(CliStreamEventType.STATUS),
38407
+ payload: exports_external.object({
38408
+ status: exports_external.string(),
38409
+ message: exports_external.string().optional()
38410
+ })
38411
+ });
38412
+ var CliErrorEventSchema = CliStreamBaseSchema.extend({
38413
+ type: exports_external.literal(CliStreamEventType.ERROR),
38414
+ payload: exports_external.object({
38415
+ error: ProtocolErrorSchema
38416
+ })
38417
+ });
38418
+ var CliDoneEventSchema = CliStreamBaseSchema.extend({
38419
+ type: exports_external.literal(CliStreamEventType.DONE),
38420
+ payload: exports_external.object({
38421
+ exitCode: exports_external.number().int(),
38422
+ duration: exports_external.number(),
38423
+ toolsUsed: exports_external.array(exports_external.string()).optional(),
38424
+ tokensUsed: exports_external.number().optional(),
38425
+ success: exports_external.boolean()
38426
+ })
38427
+ });
38428
+ var CliStreamEventSchema = exports_external.discriminatedUnion("type", [
38429
+ CliStartEventSchema,
38430
+ CliTextDeltaEventSchema,
38431
+ CliThinkingEventSchema,
38432
+ CliToolStartedEventSchema,
38433
+ CliToolCompletedEventSchema,
38434
+ CliStatusEventSchema,
38435
+ CliErrorEventSchema,
38436
+ CliDoneEventSchema
38437
+ ]);
38438
+ // ../shared/src/protocol/context.ts
38439
+ var ActiveFileContextSchema = exports_external.object({
38440
+ filePath: exports_external.string(),
38441
+ languageId: exports_external.string().optional()
38442
+ });
38443
+ var SelectionContextSchema = exports_external.object({
38444
+ filePath: exports_external.string(),
38445
+ languageId: exports_external.string().optional(),
38446
+ startLine: exports_external.number().int().min(0),
38447
+ startColumn: exports_external.number().int().min(0),
38448
+ endLine: exports_external.number().int().min(0),
38449
+ endColumn: exports_external.number().int().min(0),
38450
+ text: exports_external.string()
38451
+ });
38452
+ var WorkspaceContextSchema = exports_external.object({
38453
+ rootPath: exports_external.string(),
38454
+ name: exports_external.string().optional()
38455
+ });
38456
+ var ContextPayloadSchema = exports_external.object({
38457
+ workspace: WorkspaceContextSchema.optional(),
38458
+ activeFile: ActiveFileContextSchema.optional(),
38459
+ selection: SelectionContextSchema.optional()
38460
+ });
38461
+ // ../shared/src/protocol/session.ts
38462
+ var SessionStatus = {
38463
+ IDLE: "idle",
38464
+ STARTING: "starting",
38465
+ RUNNING: "running",
38466
+ STREAMING: "streaming",
38467
+ COMPLETED: "completed",
38468
+ CANCELED: "canceled",
38469
+ INTERRUPTED: "interrupted",
38470
+ FAILED: "failed",
38471
+ RESUMING: "resuming"
38472
+ };
38473
+ var SessionStatusSchema = exports_external.enum(SessionStatus);
38474
+ var SessionTransitionEvent = {
38475
+ CREATE_SESSION: "create_session",
38476
+ CLI_SPAWNED: "cli_spawned",
38477
+ FIRST_TEXT_DELTA: "first_text_delta",
38478
+ RESULT_RECEIVED: "result_received",
38479
+ USER_STOP: "user_stop",
38480
+ PROCESS_LOST: "process_lost",
38481
+ RESUME: "resume",
38482
+ ERROR: "error"
38483
+ };
38484
+ var SessionTransitionEventSchema = exports_external.enum(SessionTransitionEvent);
38485
+ var SESSION_TRANSITIONS = [
38486
+ {
38487
+ from: SessionStatus.IDLE,
38488
+ event: SessionTransitionEvent.CREATE_SESSION,
38489
+ to: SessionStatus.STARTING
38490
+ },
38491
+ {
38492
+ from: SessionStatus.STARTING,
38493
+ event: SessionTransitionEvent.CLI_SPAWNED,
38494
+ to: SessionStatus.RUNNING
38495
+ },
38496
+ {
38497
+ from: SessionStatus.STARTING,
38498
+ event: SessionTransitionEvent.ERROR,
38499
+ to: SessionStatus.FAILED
38500
+ },
38501
+ {
38502
+ from: SessionStatus.RUNNING,
38503
+ event: SessionTransitionEvent.FIRST_TEXT_DELTA,
38504
+ to: SessionStatus.STREAMING
38505
+ },
38506
+ {
38507
+ from: SessionStatus.RUNNING,
38508
+ event: SessionTransitionEvent.USER_STOP,
38509
+ to: SessionStatus.CANCELED
38510
+ },
38511
+ {
38512
+ from: SessionStatus.RUNNING,
38513
+ event: SessionTransitionEvent.PROCESS_LOST,
38514
+ to: SessionStatus.INTERRUPTED
38515
+ },
38516
+ {
38517
+ from: SessionStatus.RUNNING,
38518
+ event: SessionTransitionEvent.ERROR,
38519
+ to: SessionStatus.FAILED
38520
+ },
38521
+ {
38522
+ from: SessionStatus.STREAMING,
38523
+ event: SessionTransitionEvent.RESULT_RECEIVED,
38524
+ to: SessionStatus.COMPLETED
38525
+ },
38526
+ {
38527
+ from: SessionStatus.STREAMING,
38528
+ event: SessionTransitionEvent.USER_STOP,
38529
+ to: SessionStatus.CANCELED
38530
+ },
38531
+ {
38532
+ from: SessionStatus.STREAMING,
38533
+ event: SessionTransitionEvent.PROCESS_LOST,
38534
+ to: SessionStatus.INTERRUPTED
38535
+ },
38536
+ {
38537
+ from: SessionStatus.STREAMING,
38538
+ event: SessionTransitionEvent.ERROR,
38539
+ to: SessionStatus.FAILED
38540
+ },
38541
+ {
38542
+ from: SessionStatus.INTERRUPTED,
38543
+ event: SessionTransitionEvent.RESUME,
38544
+ to: SessionStatus.RESUMING
38545
+ },
38546
+ {
38547
+ from: SessionStatus.RESUMING,
38548
+ event: SessionTransitionEvent.CLI_SPAWNED,
38549
+ to: SessionStatus.RUNNING
38550
+ },
38551
+ {
38552
+ from: SessionStatus.RESUMING,
38553
+ event: SessionTransitionEvent.ERROR,
38554
+ to: SessionStatus.FAILED
38555
+ },
38556
+ {
38557
+ from: SessionStatus.COMPLETED,
38558
+ event: SessionTransitionEvent.CREATE_SESSION,
38559
+ to: SessionStatus.STARTING
38560
+ },
38561
+ {
38562
+ from: SessionStatus.CANCELED,
38563
+ event: SessionTransitionEvent.CREATE_SESSION,
38564
+ to: SessionStatus.STARTING
38565
+ },
38566
+ {
38567
+ from: SessionStatus.FAILED,
38568
+ event: SessionTransitionEvent.CREATE_SESSION,
38569
+ to: SessionStatus.STARTING
38570
+ }
38571
+ ];
38572
+ var TERMINAL_STATUSES = new Set([
38573
+ SessionStatus.COMPLETED,
38574
+ SessionStatus.CANCELED,
38575
+ SessionStatus.FAILED
38576
+ ]);
38577
+ var SessionMetadataSchema = exports_external.object({
38578
+ sessionId: exports_external.string(),
38579
+ status: SessionStatusSchema,
38580
+ model: exports_external.string().optional(),
38581
+ createdAt: exports_external.number(),
38582
+ updatedAt: exports_external.number(),
38583
+ title: exports_external.string().optional()
38584
+ });
38585
+ var SessionSummarySchema = exports_external.object({
38586
+ sessionId: exports_external.string(),
38587
+ status: SessionStatusSchema,
38588
+ model: exports_external.string().optional(),
38589
+ title: exports_external.string().optional(),
38590
+ createdAt: exports_external.number(),
38591
+ updatedAt: exports_external.number(),
38592
+ messageCount: exports_external.number(),
38593
+ toolCount: exports_external.number()
38594
+ });
38595
+
38596
+ // ../shared/src/protocol/host-events.ts
38597
+ var HostEventType = {
38598
+ SESSION_STATE: "session_state",
38599
+ TEXT_DELTA: "text_delta",
38600
+ TOOL_STARTED: "tool_started",
38601
+ TOOL_COMPLETED: "tool_completed",
38602
+ THINKING: "thinking",
38603
+ ERROR: "error",
38604
+ SESSION_LIST: "session_list",
38605
+ SESSION_COMPLETED: "session_completed"
38606
+ };
38607
+ var HostEventTypeSchema = exports_external.enum(HostEventType);
38608
+ var TimelineEntryKind = {
38609
+ MESSAGE: "message",
38610
+ TOOL_CALL: "tool_call",
38611
+ STATUS: "status",
38612
+ ERROR: "error",
38613
+ DONE: "done"
38614
+ };
38615
+ var TimelineEntryKindSchema = exports_external.enum(TimelineEntryKind);
38616
+ var TimelineEntrySchema = exports_external.object({
38617
+ id: exports_external.string(),
38618
+ kind: TimelineEntryKindSchema,
38619
+ timestamp: exports_external.number(),
38620
+ data: exports_external.record(exports_external.string(), exports_external.unknown())
38621
+ });
38622
+ var SessionStateEventSchema = exports_external.object({
38623
+ protocol: ProtocolVersionSchema,
38624
+ type: exports_external.literal(HostEventType.SESSION_STATE),
38625
+ payload: exports_external.object({
38626
+ sessionId: exports_external.string(),
38627
+ status: SessionStatusSchema,
38628
+ metadata: SessionMetadataSchema.optional(),
38629
+ timeline: exports_external.array(TimelineEntrySchema).optional()
38630
+ })
38631
+ });
38632
+ var TextDeltaEventSchema = exports_external.object({
38633
+ protocol: ProtocolVersionSchema,
38634
+ type: exports_external.literal(HostEventType.TEXT_DELTA),
38635
+ payload: exports_external.object({
38636
+ sessionId: exports_external.string(),
38637
+ content: exports_external.string()
38638
+ })
38639
+ });
38640
+ var ToolStartedEventSchema = exports_external.object({
38641
+ protocol: ProtocolVersionSchema,
38642
+ type: exports_external.literal(HostEventType.TOOL_STARTED),
38643
+ payload: exports_external.object({
38644
+ sessionId: exports_external.string(),
38645
+ tool: exports_external.string(),
38646
+ toolId: exports_external.string().optional(),
38647
+ parameters: exports_external.record(exports_external.string(), exports_external.unknown()).optional()
38648
+ })
38649
+ });
38650
+ var ToolCompletedEventSchema = exports_external.object({
38651
+ protocol: ProtocolVersionSchema,
38652
+ type: exports_external.literal(HostEventType.TOOL_COMPLETED),
38653
+ payload: exports_external.object({
38654
+ sessionId: exports_external.string(),
38655
+ tool: exports_external.string(),
38656
+ toolId: exports_external.string().optional(),
38657
+ result: exports_external.unknown().optional(),
38658
+ duration: exports_external.number().optional(),
38659
+ success: exports_external.boolean(),
38660
+ error: exports_external.string().optional()
38661
+ })
38662
+ });
38663
+ var ThinkingEventSchema = exports_external.object({
38664
+ protocol: ProtocolVersionSchema,
38665
+ type: exports_external.literal(HostEventType.THINKING),
38666
+ payload: exports_external.object({
38667
+ sessionId: exports_external.string(),
38668
+ content: exports_external.string().optional()
38669
+ })
38670
+ });
38671
+ var ErrorEventSchema = exports_external.object({
38672
+ protocol: ProtocolVersionSchema,
38673
+ type: exports_external.literal(HostEventType.ERROR),
38674
+ payload: exports_external.object({
38675
+ sessionId: exports_external.string().optional(),
38676
+ error: ProtocolErrorSchema
38677
+ })
38678
+ });
38679
+ var SessionListEventSchema = exports_external.object({
38680
+ protocol: ProtocolVersionSchema,
38681
+ type: exports_external.literal(HostEventType.SESSION_LIST),
38682
+ payload: exports_external.object({
38683
+ sessions: exports_external.array(SessionSummarySchema)
38684
+ })
38685
+ });
38686
+ var SessionCompletedEventSchema = exports_external.object({
38687
+ protocol: ProtocolVersionSchema,
38688
+ type: exports_external.literal(HostEventType.SESSION_COMPLETED),
38689
+ payload: exports_external.object({
38690
+ sessionId: exports_external.string(),
38691
+ summary: exports_external.string().optional()
38692
+ })
38693
+ });
38694
+ var HostEventSchema = exports_external.discriminatedUnion("type", [
38695
+ SessionStateEventSchema,
38696
+ TextDeltaEventSchema,
38697
+ ToolStartedEventSchema,
38698
+ ToolCompletedEventSchema,
38699
+ ThinkingEventSchema,
38700
+ ErrorEventSchema,
38701
+ SessionListEventSchema,
38702
+ SessionCompletedEventSchema
38703
+ ]);
38704
+
38705
+ // ../shared/src/protocol/ui-intents.ts
38706
+ var UIIntentType = {
38707
+ SUBMIT_PROMPT: "submit_prompt",
38708
+ STOP_SESSION: "stop_session",
38709
+ RESUME_SESSION: "resume_session",
38710
+ REQUEST_SESSIONS: "request_sessions",
38711
+ REQUEST_SESSION_DETAIL: "request_session_detail",
38712
+ CLEAR_SESSION: "clear_session",
38713
+ WEBVIEW_READY: "webview_ready"
38714
+ };
38715
+ var UIIntentTypeSchema = exports_external.enum(UIIntentType);
38716
+ var SubmitPromptIntentSchema = exports_external.object({
38717
+ protocol: ProtocolVersionSchema,
38718
+ type: exports_external.literal(UIIntentType.SUBMIT_PROMPT),
38719
+ payload: exports_external.object({
38720
+ text: exports_external.string().min(1),
38721
+ context: ContextPayloadSchema.optional()
38722
+ })
38723
+ });
38724
+ var StopSessionIntentSchema = exports_external.object({
38725
+ protocol: ProtocolVersionSchema,
38726
+ type: exports_external.literal(UIIntentType.STOP_SESSION),
38727
+ payload: exports_external.object({
38728
+ sessionId: exports_external.string()
38729
+ })
38730
+ });
38731
+ var ResumeSessionIntentSchema = exports_external.object({
38732
+ protocol: ProtocolVersionSchema,
38733
+ type: exports_external.literal(UIIntentType.RESUME_SESSION),
38734
+ payload: exports_external.object({
38735
+ sessionId: exports_external.string()
38736
+ })
38737
+ });
38738
+ var RequestSessionsIntentSchema = exports_external.object({
38739
+ protocol: ProtocolVersionSchema,
38740
+ type: exports_external.literal(UIIntentType.REQUEST_SESSIONS),
38741
+ payload: exports_external.object({}).optional()
38742
+ });
38743
+ var RequestSessionDetailIntentSchema = exports_external.object({
38744
+ protocol: ProtocolVersionSchema,
38745
+ type: exports_external.literal(UIIntentType.REQUEST_SESSION_DETAIL),
38746
+ payload: exports_external.object({
38747
+ sessionId: exports_external.string()
38748
+ })
38749
+ });
38750
+ var ClearSessionIntentSchema = exports_external.object({
38751
+ protocol: ProtocolVersionSchema,
38752
+ type: exports_external.literal(UIIntentType.CLEAR_SESSION),
38753
+ payload: exports_external.object({
38754
+ sessionId: exports_external.string()
38755
+ })
38756
+ });
38757
+ var WebviewReadyIntentSchema = exports_external.object({
38758
+ protocol: ProtocolVersionSchema,
38759
+ type: exports_external.literal(UIIntentType.WEBVIEW_READY),
38760
+ payload: exports_external.object({}).optional()
38761
+ });
38762
+ var UIIntentSchema = exports_external.discriminatedUnion("type", [
38763
+ SubmitPromptIntentSchema,
38764
+ StopSessionIntentSchema,
38765
+ ResumeSessionIntentSchema,
38766
+ RequestSessionsIntentSchema,
38767
+ RequestSessionDetailIntentSchema,
38768
+ ClearSessionIntentSchema,
38769
+ WebviewReadyIntentSchema
38770
+ ]);
38322
38771
  // ../sdk/src/modules/tasks.ts
38323
38772
  class TasksModule extends BaseModule {
38324
38773
  async list(workspaceId, options) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@locusai/telegram",
3
- "version": "0.11.5",
3
+ "version": "0.11.7",
4
4
  "description": "Telegram bot for Locus - remote control your AI agents from Telegram",
5
5
  "type": "module",
6
6
  "bin": {
@@ -32,7 +32,7 @@
32
32
  "author": "",
33
33
  "license": "MIT",
34
34
  "dependencies": {
35
- "@locusai/sdk": "^0.11.5",
35
+ "@locusai/sdk": "^0.11.7",
36
36
  "dotenv": "^16.4.7",
37
37
  "telegraf": "^4.16.3"
38
38
  },