korbus-mcp 0.1.8 → 0.1.11

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/README.md CHANGED
@@ -45,11 +45,9 @@ AI 어시스턴트가 버스 정류장 검색, 노선 조회, 실시간 도착
45
45
  | [경기도_버스노선 조회](https://www.data.go.kr/data/15080662/openapi.do) | 버스 노선 검색 |
46
46
  | [경기도_버스도착정보 조회](https://www.data.go.kr/data/15080346/openapi.do) | 실시간 도착 정보 |
47
47
 
48
- > **참고**: 서울 또는 경기 중 한 지역만 사용한다면 해당 지역의 3개만 신청해도 됩니다.
49
-
50
48
  ### 3단계: 인증키 확인
51
49
 
52
- 1. 활용 신청 승인 후 (즉시 ~ 최대 1~2시간), [마이페이지 > 오픈API > 인증키 발급현황](https://www.data.go.kr/iim/api/selectAPIAc498View.do)에서 **일반 인증키 (Decoding)** 복사합니다.
50
+ 1. 활용 신청 승인 후 (즉시 ~ 최대 1~2시간), [마이페이지 > 오픈API > 인증키 발급현황](https://www.data.go.kr/iim/api/selectAPIAc498View.do)에서 **일반 인증키**를 복사합니다. (Encoding/Decoding 어느 쪽이든 사용 가능)
53
51
  2. 동일 계정으로 신청한 서비스들은 같은 인증키를 공유합니다.
54
52
 
55
53
  ### 4단계: 환경변수 설정
@@ -212,13 +210,49 @@ OpenClaw이 지원하는 모든 채널(Telegram, Discord, Slack, Signal 등)로
212
210
 
213
211
  ## 사용 예시
214
212
 
215
- AI 어시스턴트에게 자연어로 요청하세요:
213
+ AI 어시스턴트에게 자연어로 요청하면 됩니다.
214
+
215
+ ### 실시간 도착 정보 조회
216
+
217
+ > 🧑 강남역에 9404 버스가 언제 오나요?
218
+
219
+ 9404 기준 강남역 실시간 도착이에요.
220
+
221
+ - 농수산물센터 방면 (신분당선강남역(중) 22009): **2분 후**
222
+ - 신사역.푸른저축은행(중) 방면 (신분당선강남역(중) 22010): **0분 후**
223
+ - 농수산물센터 방면 (지하철2호선강남역(중) 22011): **0분 후**
224
+ - 신사역.푸른저축은행(중) 방면 (지하철2호선강남역(중) 22012): **0분 후**
225
+
226
+ ### 반복 알림 설정
227
+
228
+ > 🧑 혹시 알림을 아침부터 동작하도록 할 수 있나요?
229
+
230
+ 네, 가능합니다.
231
+ 알림은 요일별로 startTime~endTime을 지정할 수 있어서
232
+ 아침 시간부터만 감시하도록 설정할 수 있어요 (예: 평일 07:00~10:00).
233
+
234
+ > 🧑 그러면 평일 아침 7시~9시에 강남역 9404번 5분 전 알림 만들어주세요
235
+
236
+ 알림을 생성했습니다.
237
+
238
+ - **라벨:** 출근 9404
239
+ - **구간:** 평일(월~금) 07:00 ~ 09:00
240
+ - **조건:** 도착 5분 전 알림
241
+
242
+ ### 알림 관리
243
+
244
+ > 🧑 등록된 알림 목록 보여줘
245
+
246
+ 현재 1개의 알림이 등록되어 있습니다.
247
+
248
+ 1. **출근 9404** (활성) — 강남역 · 9404번
249
+ 평일 07:00~09:00, 5분 전 알림
250
+
251
+ > 🧑 알림 시간을 6시 30분부터로 바꿔줘
252
+
253
+ 수정했습니다.
216
254
 
217
- - "강남역 정류장 검색해줘"
218
- - "341번 버스 노선 찾아줘"
219
- - "강남역 정류장에 341번 버스 언제 오는지 알려줘"
220
- - "매일 아침 8시에 강남역 341번 버스 도착 알림 만들어줘"
221
- - "등록된 알림 목록 보여줘"
255
+ - **출근 9404:** 평일 06:30 ~ 09:00
222
256
 
223
257
  ## 데이터 영속성
224
258
 
@@ -1 +1 @@
1
- {"version":3,"file":"gyeonggi.d.ts","sourceRoot":"","sources":["../../src/bus/gyeonggi.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAKvE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM;;yBAuBrB,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;uBAc7B,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;qCAWX,UAAU,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;EAkBzE;AAED,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
1
+ {"version":3,"file":"gyeonggi.d.ts","sourceRoot":"","sources":["../../src/bus/gyeonggi.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAKvE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM;;yBAuBrB,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;uBAc7B,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;qCAWX,UAAU,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;EAsBzE;AAED,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
@@ -53,16 +53,20 @@ export function createGyeonggiAdapter(apiKey) {
53
53
  const res = await client.get(`${BASE_URL}/busarrivalservice/v2/getBusArrivalListv2`, {
54
54
  params: { stationId: stationRef.id, serviceKey: key, format: 'json' },
55
55
  });
56
+ // 경기 API는 자체 메시지 필드가 없고 predictTime1(예측 분)만 제공.
57
+ // 빈 값이면 Number("")=0 → "0분 후 도착" 버그가 발생하므로 직접 필터링.
56
58
  return extractBody(res.data, 'busArrivalList').map((item) => {
57
- const predictMinutes = Number(item.predictTime1);
59
+ const pt = item.predictTime1;
60
+ const hasPrediction = pt !== '' && pt !== undefined && pt !== null;
61
+ const predictMinutes = hasPrediction ? Number(pt) : 0;
58
62
  return {
59
63
  routeId: String(item.routeId),
60
64
  routeName: String(item.routeName),
61
65
  stationId: String(item.stationId),
62
66
  vehicleId: item.plateNo1 ? String(item.plateNo1) : undefined,
63
67
  direction: item.routeDestName ? String(item.routeDestName) : undefined,
64
- arrivalSec: predictMinutes * 60,
65
- arrivalMsg: `${predictMinutes}분 후 도착`,
68
+ arrivalSec: hasPrediction ? predictMinutes * 60 : -1,
69
+ arrivalMsg: hasPrediction ? `${predictMinutes}분 후 도착` : '도착 정보 없음',
66
70
  };
67
71
  });
68
72
  },
@@ -1 +1 @@
1
- {"version":3,"file":"gyeonggi.js","sourceRoot":"","sources":["../../src/bus/gyeonggi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gyeonggi.js","sourceRoot":"","sources":["../../src/bus/gyeonggi.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"seoul.d.ts","sourceRoot":"","sources":["../../src/bus/seoul.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAKvE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM;;yBAwBlB,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;uBAc7B,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;qCAWX,UAAU,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;EAoBzE;AAED,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
1
+ {"version":3,"file":"seoul.d.ts","sourceRoot":"","sources":["../../src/bus/seoul.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAKvE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM;;yBAwBlB,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;uBAc7B,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;qCAWX,UAAU,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;EA2BzE;AAED,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
package/dist/bus/seoul.js CHANGED
@@ -60,15 +60,22 @@ export function createSeoulAdapter(apiKey) {
60
60
  const msg = String(item.arrmsg1 || '');
61
61
  return msg !== '운행종료' && msg !== '출발대기';
62
62
  })
63
- .map((item) => ({
64
- routeId: String(item.busRouteId),
65
- routeName: String(item.rtNm || item.busRouteAbrv),
66
- stationId: String(item.stId),
67
- vehicleId: item.vehId1 ? String(item.vehId1) : undefined,
68
- direction: item.dir ? String(item.dir) : undefined,
69
- arrivalSec: Number(item.exps1 || 0),
70
- arrivalMsg: String(item.arrmsg1),
71
- }));
63
+ .map((item) => {
64
+ // 서울 API는 arrmsg1(텍스트 메시지)과 exps1(예측 초)을 독립적으로 제공.
65
+ // exps1이 비어있어도 arrmsg1에 "곧 도착" 등 유효 메시지가 올 수 있으므로
66
+ // arrivalMsg는 arrmsg1을 우선 사용하고, arrivalSec만 hasPrediction으로 제어.
67
+ const rawSec = item.exps1;
68
+ const hasPrediction = rawSec !== undefined && rawSec !== null && String(rawSec) !== '';
69
+ return {
70
+ routeId: String(item.busRouteId),
71
+ routeName: String(item.rtNm || item.busRouteAbrv),
72
+ stationId: String(item.stId),
73
+ vehicleId: item.vehId1 ? String(item.vehId1) : undefined,
74
+ direction: item.dir ? String(item.dir) : undefined,
75
+ arrivalSec: hasPrediction ? Number(rawSec) : -1,
76
+ arrivalMsg: item.arrmsg1 ? String(item.arrmsg1) : '도착 정보 없음',
77
+ };
78
+ });
72
79
  },
73
80
  };
74
81
  }
@@ -1 +1 @@
1
- {"version":3,"file":"seoul.js","sourceRoot":"","sources":["../../src/bus/seoul.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"seoul.js","sourceRoot":"","sources":["../../src/bus/seoul.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"console.d.ts","sourceRoot":"","sources":["../../src/notifier/console.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,wBAAgB,WAAW,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAI9D"}
1
+ {"version":3,"file":"console.d.ts","sourceRoot":"","sources":["../../src/notifier/console.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,wBAAgB,WAAW,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAU9D"}
@@ -1,4 +1,12 @@
1
1
  export function sendConsole(payload) {
2
- console.error(`[KorBus] ${payload.routeName} ${payload.stationName}: ${payload.arrivalMsg} (vehicle: ${payload.vehicleId})`);
2
+ if (payload.type === 'NO_PREDICTION') {
3
+ console.error(`[KorBus] ${payload.routeName} → ${payload.stationName}: 도착 예측 정보 없음`);
4
+ return;
5
+ }
6
+ let msg = `[KorBus] ${payload.routeName} → ${payload.stationName}: ${payload.arrivalMsg} (vehicle: ${payload.vehicleId})`;
7
+ if (payload.nextArrival) {
8
+ msg += ` | next: ${payload.nextArrival.arrivalMsg}`;
9
+ }
10
+ console.error(msg);
3
11
  }
4
12
  //# sourceMappingURL=console.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"console.js","sourceRoot":"","sources":["../../src/notifier/console.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,WAAW,CAAC,OAA4B;IACtD,OAAO,CAAC,KAAK,CACX,YAAY,OAAO,CAAC,SAAS,MAAM,OAAO,CAAC,WAAW,KAAK,OAAO,CAAC,UAAU,cAAc,OAAO,CAAC,SAAS,GAAG,CAChH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"console.js","sourceRoot":"","sources":["../../src/notifier/console.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,WAAW,CAAC,OAA4B;IACtD,IAAI,OAAO,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QACrC,OAAO,CAAC,KAAK,CAAC,YAAY,OAAO,CAAC,SAAS,MAAM,OAAO,CAAC,WAAW,eAAe,CAAC,CAAC;QACrF,OAAO;IACT,CAAC;IACD,IAAI,GAAG,GAAG,YAAY,OAAO,CAAC,SAAS,MAAM,OAAO,CAAC,WAAW,KAAK,OAAO,CAAC,UAAU,cAAc,OAAO,CAAC,SAAS,GAAG,CAAC;IAC1H,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACxB,GAAG,IAAI,YAAY,OAAO,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;IACtD,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"telegram.d.ts","sourceRoot":"","sources":["../../src/notifier/telegram.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAYvD,wBAAsB,YAAY,CAChC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAKf"}
1
+ {"version":3,"file":"telegram.d.ts","sourceRoot":"","sources":["../../src/notifier/telegram.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAqBvD,wBAAsB,YAAY,CAChC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAKf"}
@@ -1,9 +1,17 @@
1
1
  import axios from 'axios';
2
2
  const client = axios.create({ timeout: 10000 });
3
3
  function formatMessage(payload) {
4
- return (`Bus ${payload.routeName} ${payload.stationName}\n` +
4
+ if (payload.type === 'NO_PREDICTION') {
5
+ return (`🚌 ${payload.routeName} → ${payload.stationName}\n` +
6
+ `도착 예측 정보를 확인할 수 없습니다.`);
7
+ }
8
+ let msg = `Bus ${payload.routeName} → ${payload.stationName}\n` +
5
9
  `${payload.arrivalMsg} (${payload.arrivalSec}s)\n` +
6
- `Vehicle: ${payload.vehicleId}`);
10
+ `Vehicle: ${payload.vehicleId}`;
11
+ if (payload.nextArrival) {
12
+ msg += `\nNext: ${payload.nextArrival.arrivalMsg} (${payload.nextArrival.arrivalSec}s)`;
13
+ }
14
+ return msg;
7
15
  }
8
16
  export async function sendTelegram(botToken, chatId, payload) {
9
17
  await client.post(`https://api.telegram.org/bot${botToken}/sendMessage`, {
@@ -1 +1 @@
1
- {"version":3,"file":"telegram.js","sourceRoot":"","sources":["../../src/notifier/telegram.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;AAEhD,SAAS,aAAa,CAAC,OAA4B;IACjD,OAAO,CACL,OAAO,OAAO,CAAC,SAAS,MAAM,OAAO,CAAC,WAAW,IAAI;QACrD,GAAG,OAAO,CAAC,UAAU,KAAK,OAAO,CAAC,UAAU,MAAM;QAClD,YAAY,OAAO,CAAC,SAAS,EAAE,CAChC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,QAAgB,EAChB,MAAc,EACd,OAA4B;IAE5B,MAAM,MAAM,CAAC,IAAI,CAAC,+BAA+B,QAAQ,cAAc,EAAE;QACvE,OAAO,EAAE,MAAM;QACf,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC;KAC7B,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"telegram.js","sourceRoot":"","sources":["../../src/notifier/telegram.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;AAEhD,SAAS,aAAa,CAAC,OAA4B;IACjD,IAAI,OAAO,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QACrC,OAAO,CACL,MAAM,OAAO,CAAC,SAAS,MAAM,OAAO,CAAC,WAAW,IAAI;YACpD,uBAAuB,CACxB,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,GACL,OAAO,OAAO,CAAC,SAAS,MAAM,OAAO,CAAC,WAAW,IAAI;QACrD,GAAG,OAAO,CAAC,UAAU,KAAK,OAAO,CAAC,UAAU,MAAM;QAClD,YAAY,OAAO,CAAC,SAAS,EAAE,CAAC;IAClC,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACxB,GAAG,IAAI,WAAW,OAAO,CAAC,WAAW,CAAC,UAAU,KAAK,OAAO,CAAC,WAAW,CAAC,UAAU,IAAI,CAAC;IAC1F,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,QAAgB,EAChB,MAAc,EACd,OAA4B;IAE5B,MAAM,MAAM,CAAC,IAAI,CAAC,+BAA+B,QAAQ,cAAc,EAAE;QACvE,OAAO,EAAE,MAAM;QACf,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC;KAC7B,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"dispatcher.d.ts","sourceRoot":"","sources":["../../src/openclaw/dispatcher.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAS5D,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE;QAAE,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;CACxF;AAwBD,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,kBAAkB,GAAG,UAAU,CAgC5E"}
1
+ {"version":3,"file":"dispatcher.d.ts","sourceRoot":"","sources":["../../src/openclaw/dispatcher.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAS5D,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE;QAAE,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;CACxF;AA2BD,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,kBAAkB,GAAG,UAAU,CAgC5E"}
@@ -5,6 +5,9 @@ const execFileAsync = promisify(execFile);
5
5
  // Helpers
6
6
  // ---------------------------------------------------------------------------
7
7
  function formatMessage(p) {
8
+ if (p.type === 'NO_PREDICTION') {
9
+ return `🚌 ${p.routeName} → ${p.stationName}\n도착 예측 정보를 확인할 수 없습니다.`;
10
+ }
8
11
  return `🚌 ${p.routeName} → ${p.stationName}\n${p.arrivalMsg}`;
9
12
  }
10
13
  /** Extract recipient ID from a channel config JSON string. */
@@ -1 +1 @@
1
- {"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../src/openclaw/dispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAItC,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAU1C,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,SAAS,aAAa,CAAC,CAAsB;IAC3C,OAAO,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC;AACjE,CAAC;AAED,8DAA8D;AAC9D,SAAS,WAAW,CAAC,UAAkB;IACrC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC;QAC3C,OAAO,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,SAAS,IAAI,SAAS,CAAC;IAC5D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E,MAAM,UAAU,wBAAwB,CAAC,GAAuB;IAC9D,OAAO;QACL,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO;YAC7B,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;YAEpC,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC/B,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;gBACpC,OAAO;YACT,CAAC;YAED,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC3C,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,GAAG,CAAC,MAAM,CAAC,IAAI,CACb,kCAAkC,OAAO,CAAC,IAAI,qBAAqB,CACpE,CAAC;gBACF,OAAO;YACT,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,aAAa,CAAC,UAAU,EAAE;oBAC9B,SAAS,EAAE,MAAM;oBACjB,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE;oBACvC,UAAU,EAAE,MAAM;oBAClB,WAAW,EAAE,IAAI;iBAClB,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,MAAM,CAAC,KAAK,CACd,6BAA6B,OAAO,CAAC,IAAI,MAAM,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAClG,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../src/openclaw/dispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAItC,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAU1C,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,SAAS,aAAa,CAAC,CAAsB;IAC3C,IAAI,CAAC,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QAC/B,OAAO,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,CAAC,WAAW,yBAAyB,CAAC;IACvE,CAAC;IACD,OAAO,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC;AACjE,CAAC;AAED,8DAA8D;AAC9D,SAAS,WAAW,CAAC,UAAkB;IACrC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC;QAC3C,OAAO,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,SAAS,IAAI,SAAS,CAAC;IAC5D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E,MAAM,UAAU,wBAAwB,CAAC,GAAuB;IAC9D,OAAO;QACL,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO;YAC7B,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;YAEpC,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC/B,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;gBACpC,OAAO;YACT,CAAC;YAED,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC3C,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,GAAG,CAAC,MAAM,CAAC,IAAI,CACb,kCAAkC,OAAO,CAAC,IAAI,qBAAqB,CACpE,CAAC;gBACF,OAAO;YACT,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,aAAa,CAAC,UAAU,EAAE;oBAC9B,SAAS,EAAE,MAAM;oBACjB,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE;oBACvC,UAAU,EAAE,MAAM;oBAClB,WAAW,EAAE,IAAI;iBAClB,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,MAAM,CAAC,KAAK,CACd,6BAA6B,OAAO,CAAC,IAAI,MAAM,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAClG,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -71,7 +71,7 @@ export function registerKorbusTools(api, deps) {
71
71
  // ── get_arrivals ──
72
72
  api.registerTool({
73
73
  name: 'korbus_get_arrivals',
74
- description: 'Get real-time bus arrival info for a station (optionally filtered by route). Response includes `direction` (방면), `stationName`, and optionally `arsId` per item. Present arrivals as: "<방면> 방면 (<stationName> <arsId>): N분 후". If arsId is absent, omit it. Internal IDs (routeId, stationId) are for tool chaining only; never show them to users.',
74
+ description: 'Get real-time bus arrival info for a station (optionally filtered by route). Response includes `routeName`, `direction` (방면), `stationName`, and optionally `arsId` per item. Present arrivals as: "<routeName> — <direction> 방면 (<stationName> <arsId>): N분 후". If arsId is absent, omit it. Internal IDs (routeId, stationId) are for tool chaining only; never show them to users. When the user asks about a specific route from prior results, always pass route_id to filter — do not re-display the full listing.',
75
75
  parameters: Type.Object({
76
76
  station_id: Type.String({
77
77
  minLength: 1,
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/openclaw/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/openclaw/tools.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EAAsB,UAAU,EAAsB,MAAM,YAAY,CAAC;AAErF,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,UAAU,CAAC;IACpB,UAAU,EAAE,UAAU,CAAC;CACxB;AAED,UAAU,WAAW;IACnB,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,QAAQ,EACd,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,UAAU,CAAC,CAgGrB;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,IAAI,CA2BzD"}
1
+ {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EAAsB,UAAU,EAAsB,MAAM,YAAY,CAAC;AAErF,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,UAAU,CAAC;IACpB,UAAU,EAAE,UAAU,CAAC;CACxB;AAED,UAAU,WAAW;IACnB,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,QAAQ,EACd,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,UAAU,CAAC,CAoJrB;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,IAAI,CA2BzD"}
package/dist/scheduler.js CHANGED
@@ -6,7 +6,7 @@ export async function pollActiveAlarms(deps, options) {
6
6
  // 1. Get active alarms for current time
7
7
  const alarms = await listActiveAlarms(now);
8
8
  if (!alarms.length) {
9
- return { checkedAlarms: 0, groupedQueries: 0, notificationsSent: 0, dryRun };
9
+ return { checkedAlarms: 0, groupedQueries: 0, notificationsSent: 0, skippedAlarms: [], dryRun };
10
10
  }
11
11
  // 2. Group by stationId:routeId to minimize API calls
12
12
  const groups = new Map();
@@ -17,6 +17,7 @@ export async function pollActiveAlarms(deps, options) {
17
17
  groups.get(key).push(alarm);
18
18
  }
19
19
  let notificationsSent = 0;
20
+ const skippedAlarms = [];
20
21
  // 3. Process each group
21
22
  const since = new Date(now.getTime() - 10 * 60 * 1000);
22
23
  const results = await Promise.allSettled([...groups.values()].map(async (groupAlarms) => {
@@ -28,16 +29,30 @@ export async function pollActiveAlarms(deps, options) {
28
29
  arsId: first.station.arsId,
29
30
  };
30
31
  const arrivals = await deps.gateway.getArrivals(stationRef, first.route.id);
32
+ // Sort by arrivalSec ascending (API order not guaranteed)
33
+ const sorted = [...arrivals].sort((a, b) => a.arrivalSec - b.arrivalSec);
31
34
  for (const alarm of groupAlarms) {
32
35
  let alarmFired = false;
33
- for (const arrival of arrivals) {
34
- if (arrival.arrivalSec > alarm.alertMinutes * 60)
35
- continue;
36
+ const thresholdSec = alarm.alertMinutes * 60;
37
+ const minCatchableSec = alarm.type === 'ONCE' ? 60 : alarm.alertMinutes * 30;
38
+ // Separate actionable arrivals (with prediction) from no-prediction entries
39
+ const actionable = sorted.filter((a) => a.arrivalSec > 0);
40
+ for (let i = 0; i < actionable.length; i++) {
41
+ const arrival = actionable[i];
42
+ if (arrival.arrivalSec > thresholdSec)
43
+ continue; // too far
44
+ if (arrival.arrivalSec < minCatchableSec)
45
+ continue; // missed bus
36
46
  const vehicleId = arrival.vehicleId || `route:${arrival.routeId}`;
37
47
  // Dedup once per alarm+vehicle, then dispatch to all channels
38
48
  const hasRecent = await hasRecentNotification(alarm.id, vehicleId, since);
39
49
  if (hasRecent)
40
50
  continue;
51
+ // Find next bus after this one
52
+ const next = actionable.find((a, j) => j > i && a.arrivalSec > arrival.arrivalSec);
53
+ const nextArrival = next
54
+ ? { arrivalSec: next.arrivalSec, arrivalMsg: next.arrivalMsg }
55
+ : undefined;
41
56
  for (const channel of alarm.channels) {
42
57
  if (!dryRun) {
43
58
  await deps.dispatcher.dispatch({ type: channel.type, config: channel.config }, {
@@ -47,6 +62,7 @@ export async function pollActiveAlarms(deps, options) {
47
62
  arrivalSec: arrival.arrivalSec,
48
63
  arrivalMsg: arrival.arrivalMsg,
49
64
  vehicleId,
65
+ nextArrival,
50
66
  });
51
67
  }
52
68
  notificationsSent += 1;
@@ -61,6 +77,36 @@ export async function pollActiveAlarms(deps, options) {
61
77
  alarmFired = true;
62
78
  }
63
79
  }
80
+ // No-prediction: route exists in API but no actionable arrivals
81
+ if (sorted.length > 0 && actionable.length === 0) {
82
+ const noPredVehicleId = 'no-prediction';
83
+ const hasRecent = await hasRecentNotification(alarm.id, noPredVehicleId, since);
84
+ if (!hasRecent) {
85
+ for (const channel of alarm.channels) {
86
+ if (!dryRun) {
87
+ await deps.dispatcher.dispatch({ type: channel.type, config: channel.config }, {
88
+ type: 'NO_PREDICTION',
89
+ alarmId: alarm.id,
90
+ stationName: alarm.station.name,
91
+ routeName: alarm.route.name,
92
+ arrivalSec: -1,
93
+ arrivalMsg: '도착 정보 없음',
94
+ vehicleId: noPredVehicleId,
95
+ });
96
+ }
97
+ notificationsSent += 1;
98
+ }
99
+ if (!dryRun) {
100
+ await createNotificationLog({
101
+ alarmId: alarm.id,
102
+ vehicleId: noPredVehicleId,
103
+ message: '도착 예측 정보 없음',
104
+ channel: alarm.channels.map((c) => c.type).join(','),
105
+ });
106
+ }
107
+ skippedAlarms.push({ alarmId: alarm.id, reason: 'NO_PREDICTION' });
108
+ }
109
+ }
64
110
  // Mark ONCE alarms as fired after successful notification
65
111
  if (alarmFired && alarm.type === 'ONCE') {
66
112
  await markAlarmFired(alarm.id);
@@ -76,6 +122,7 @@ export async function pollActiveAlarms(deps, options) {
76
122
  checkedAlarms: alarms.length,
77
123
  groupedQueries: groups.size,
78
124
  notificationsSent,
125
+ skippedAlarms,
79
126
  dryRun,
80
127
  };
81
128
  }
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { findStationById, upsertRoutes } from '../db.js';
3
3
  import { CoreError } from '../errors.js';
4
4
  import { textResult, errorResult } from './helpers.js';
5
5
  export function registerArrivalTools(server, gateway) {
6
- server.tool('get_arrivals', 'Get real-time bus arrival info for a station (optionally filtered by route). Response includes `direction` (방면), `stationName`, and optionally `arsId` per item. Present arrivals as: "<방면> 방면 (<stationName> <arsId>): N분 후". If arsId is absent, omit it. Internal IDs (routeId, stationId) are for tool chaining only; never show them to users.', {
6
+ server.tool('get_arrivals', 'Get real-time bus arrival info for a station (optionally filtered by route). Response includes `routeName`, `direction` (방면), `stationName`, and optionally `arsId` per item. Present arrivals as: "<routeName> — <direction> 방면 (<stationName> <arsId>): N분 후". If arsId is absent, omit it. Internal IDs (routeId, stationId) are for tool chaining only; never show them to users. When the user asks about a specific route from prior results, always pass route_id to filter — do not re-display the full listing.', {
7
7
  station_id: z.string().min(1).describe('Station ID (from search_stations)'),
8
8
  route_id: z.string().optional().describe('Route ID to filter (from search_routes)'),
9
9
  }, async ({ station_id, route_id }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"arrival.js","sourceRoot":"","sources":["../../src/tools/arrival.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEvD,MAAM,UAAU,oBAAoB,CAAC,MAAiB,EAAE,OAAmB;IACzE,MAAM,CAAC,IAAI,CACT,cAAc,EACd,qVAAqV,EACrV;QACE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC;QAC3E,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;KACpF,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE;QACjC,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,CAAC;YACrD,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,SAAS,CAAC;oBAClB,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE,sBAAsB,UAAU,8BAA8B;oBACvE,SAAS,EAAE,KAAK;iBACjB,CAAC,CAAC;YACL,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YAEjE,4CAA4C;YAC5C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;YAC/B,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBACpC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;oBAAE,OAAO,EAAE,CAAC;gBACnC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBACpB,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;YAC3E,CAAC,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,MAAM;gBAAE,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;YAE9C,gDAAgD;YAChD,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;gBACxD,GAAG,IAAI;gBACP,WAAW,EAAE,UAAU,CAAC,IAAI;gBAC5B,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACzD,CAAC,CAAC,CAAC;YACJ,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"arrival.js","sourceRoot":"","sources":["../../src/tools/arrival.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEvD,MAAM,UAAU,oBAAoB,CAAC,MAAiB,EAAE,OAAmB;IACzE,MAAM,CAAC,IAAI,CACT,cAAc,EACd,0fAA0f,EAC1f;QACE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC;QAC3E,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;KACpF,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE;QACjC,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,CAAC;YACrD,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,SAAS,CAAC;oBAClB,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE,sBAAsB,UAAU,8BAA8B;oBACvE,SAAS,EAAE,KAAK;iBACjB,CAAC,CAAC;YACL,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YAEjE,4CAA4C;YAC5C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;YAC/B,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBACpC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;oBAAE,OAAO,EAAE,CAAC;gBACnC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBACpB,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;YAC3E,CAAC,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,MAAM;gBAAE,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;YAE9C,gDAAgD;YAChD,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;gBACxD,GAAG,IAAI;gBACP,WAAW,EAAE,UAAU,CAAC,IAAI;gBAC5B,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACzD,CAAC,CAAC,CAAC;YACJ,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
package/dist/types.d.ts CHANGED
@@ -97,18 +97,28 @@ export interface UpdateAlarmInput {
97
97
  schedules?: ScheduleWindow[];
98
98
  channels?: ChannelConfig[];
99
99
  }
100
+ export type NotificationType = 'ARRIVAL' | 'NO_PREDICTION';
100
101
  export interface NotificationPayload {
102
+ type?: NotificationType;
101
103
  alarmId: string;
102
104
  stationName: string;
103
105
  routeName: string;
104
106
  arrivalSec: number;
105
107
  arrivalMsg: string;
106
108
  vehicleId: string;
109
+ nextArrival?: {
110
+ arrivalSec: number;
111
+ arrivalMsg: string;
112
+ };
107
113
  }
108
114
  export interface PollResult {
109
115
  checkedAlarms: number;
110
116
  groupedQueries: number;
111
117
  notificationsSent: number;
118
+ skippedAlarms: {
119
+ alarmId: string;
120
+ reason: string;
121
+ }[];
112
122
  dryRun: boolean;
113
123
  }
114
124
  export declare function getNowSlot(now: Date): {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AA4IA,yBAAyB;AAEzB,MAAM,OAAO,GAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAE/E,MAAM,UAAU,UAAU,CAAC,GAAS;IAClC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAClC,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACnD,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACrD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,QAAwB,EAAE,GAAS;IAC7D,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACtC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,QAAQ,CAAC,SAAS,IAAI,IAAI,IAAI,QAAQ,CAAC,OAAO,IAAI,IAAI,CAAC;AAChE,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAoJA,yBAAyB;AAEzB,MAAM,OAAO,GAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAE/E,MAAM,UAAU,UAAU,CAAC,GAAS;IAClC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAClC,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACnD,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACrD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,QAAwB,EAAE,GAAS;IAC7D,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACtC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,QAAQ,CAAC,SAAS,IAAI,IAAI,IAAI,QAAQ,CAAC,OAAO,IAAI,IAAI,CAAC;AAChE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "korbus-mcp",
3
- "version": "0.1.8",
3
+ "version": "0.1.11",
4
4
  "description": "MCP server for Seoul & Gyeonggi real-time bus arrival info, station/route search, and alarm notifications",
5
5
  "type": "module",
6
6
  "license": "MIT",