@crewx/notify 0.1.0-rc.8 → 0.1.0-rc.81

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/SKILL.md CHANGED
@@ -8,56 +8,57 @@ metadata:
8
8
 
9
9
  # Notify
10
10
 
11
- `notify`는 CrewX 에이전트가 사용자에게 인앱 알림을 하나 보낼 때 쓰는 CLI다.
12
- 서버의 `POST /api/v1/notifications` 엔드포인트로 알림을 전송하고, 성공하면 알림 id를 출력한다.
11
+ `notify` is the CLI CrewX agents use to send a single in-app notification to the user.
12
+ It sends the notification to the server's `POST /api/v1/notifications` endpoint and prints the notification id on success.
13
13
 
14
14
  ## Commands
15
15
 
16
16
  ```bash
17
- npx crewx notify "<title>" [--level=info|warning|critical] [--body="..."]
18
- npx crewx notify usage
17
+ crewx notify "<title>" [--level=info|warning|critical] [--body="..."]
18
+ crewx notify usage
19
19
  ```
20
20
 
21
- - `title` (필수) — 알림 제목. 위치 인자로 전달한다.
22
- - `--level` — 심각도. `info`(기본) | `warning` | `critical` 중 하나. 화이트리스트 밖이면 에러.
23
- - `--body` — 선택. 상세 본문.
24
- - `usage` — 이 `SKILL.md`를 그대로 출력한다.
21
+ - `title` (required) — Notification title. Passed as a positional argument.
22
+ - `--level` — Severity. One of `info` (default) | `warning` | `critical`. Errors if outside the whitelist.
23
+ - `--body` — Optional. Detailed body text.
24
+ - `usage` — Prints this `SKILL.md` as-is.
25
25
 
26
26
  ```bash
27
- npx crewx notify "Deploy needs approval" --level=warning --body="Staging is green; confirm prod."
27
+ crewx notify "Deploy needs approval" --level=warning --body="Staging is green; confirm prod."
28
28
  ```
29
29
 
30
30
  ## When To Use
31
31
 
32
- - 실행이 끝난 뒤 사용자의 판단/승인이 필요한 신호를 보낼 때 (예: 배포 승인 대기, 결정이 막혀 진행이 멈춘 상태)
33
- - 예약 작업(cron/schedule) 경보처럼 사람이 확인해야 하는 이벤트를 알릴 때
34
- - 사용자의 주의가 필요한 위험/경고 상황을 전달할 때
32
+ - To send a signal that needs the user's judgment or approval after a run finishes (e.g. a deploy waiting on approval, progress stalled on a decision)
33
+ - To notify events that a human should check, such as scheduled task (cron/schedule) alerts
34
+ - To report a risk or warning situation that needs the user's attention
35
35
 
36
- 사용하지 말아야 할 때:
36
+ When not to use:
37
37
 
38
- - 루틴한 성공 로그나 진행 상황 중계 — 알림은 사람의 주의를 요구하는 신호에만 쓴다.
38
+ - Routine success logs or progress updates — notifications are only for signals that require human attention.
39
39
 
40
40
  ## Levels
41
41
 
42
42
  | Level | Meaning |
43
43
  |----------|---------|
44
- | `info` | 일반 정보성 알림 (기본값) |
45
- | `warning` | 주의가 필요한 상황 |
46
- | `critical` | 즉시 대응이 필요한 심각한 상황 |
44
+ | `info` | General informational notification (default) |
45
+ | `warning` | Situation that needs attention |
46
+ | `critical` | Serious situation requiring immediate action |
47
47
 
48
48
  ## Environment
49
49
 
50
50
  | Variable | Purpose |
51
51
  |----------|---------|
52
- | `CREWX_WORKSPACE` | 알림을 라우팅할 절대 워크스페이스 경로 (필수) |
53
- | `CREWX_ENDPOINT` | CrewX 서버 URL (기본값 `http://localhost:8150`) |
54
- | `CREWX_API_TOKEN` | 원격 서버 접근 토큰. 로컬(localhost)은 토큰이 필요 없다 |
55
- | `CREWX_AGENT_ID` | 알림을 만든 에이전트 id (있으면 포함) |
56
- | `CREWX_TASK_ID` | 관련 작업(task) id (있으면 포함) |
57
- | `CREWX_THREAD_ID` | 관련 스레드(thread) id (있으면 포함) |
52
+ | `CREWX_WORKSPACE` | Absolute workspace path to route the notification to (required) |
53
+ | `CREWX_ENDPOINT` | CrewX server URL (default `http://localhost:8150`) |
54
+ | `CREWX_API_TOKEN` | Explicit server auth token override; otherwise the runtime credential file is used |
55
+ | `CREWX_AGENT_ID` | Id of the agent that created the notification (included if present) |
56
+ | `CREWX_TASK_ID` | Related task id (included if present) |
57
+ | `CREWX_THREAD_ID` | Related thread id (included if present) |
58
58
 
59
59
  ## Notes
60
60
 
61
- - 로컬 서버는 인증 토큰 없이 동작한다(서버의 loopback bypass). 원격 서버만 `CREWX_API_TOKEN`이 필요하다.
62
- - 성공 응답은 `201 { success: true, data: { id } }` 형태이며, CLI는 전송된 알림 id를 출력한다.
63
- - 네트워크/HTTP 실패 시 서버 상태를 먼저 확인한다.
61
+ - Authentication uses `CREWX_API_TOKEN` when set, otherwise `~/.crewx/auth/runtime/notify.token`.
62
+ - If the runtime credential is missing, start the CrewX server once to create it, or set `CREWX_API_TOKEN` explicitly.
63
+ - A successful response looks like `201 { success: true, data: { id } }`, and the CLI prints the id of the sent notification.
64
+ - On network/HTTP failure, check the server status first.
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../cli.ts"],"names":[],"mappings":";AAuFA,wBAAsB,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAuC9D"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../cli.ts"],"names":[],"mappings":";AAwFA,wBAAsB,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAuC9D"}
package/dist/cli.js CHANGED
@@ -37,6 +37,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
37
37
  exports.main = main;
38
38
  const fs = __importStar(require("fs"));
39
39
  const path = __importStar(require("path"));
40
+ const crewx_api_credential_1 = require("@crewx/shared/crewx-api-credential");
40
41
  const engine_js_1 = require("./src/engine.js");
41
42
  let PKG_VERSION = 'unknown';
42
43
  try {
@@ -63,7 +64,7 @@ Options:
63
64
  Environment variables:
64
65
  CREWX_WORKSPACE Absolute workspace path (required)
65
66
  CREWX_ENDPOINT Server URL (default: http://localhost:8150)
66
- CREWX_API_TOKEN Server auth token (remote servers only)
67
+ CREWX_API_TOKEN Explicit server auth token override
67
68
  CREWX_AGENT_ID Producing agent id (optional)
68
69
  CREWX_TASK_ID Originating task id (optional)
69
70
  CREWX_THREAD_ID Originating thread id (optional)
@@ -153,7 +154,7 @@ async function main(inputArgs) {
153
154
  if (require.main === module) {
154
155
  main().catch((e) => {
155
156
  console.error(e.message);
156
- process.exit(1);
157
+ process.exit(e instanceof crewx_api_credential_1.CrewxCredentialError ? e.exitCode : 1);
157
158
  });
158
159
  }
159
160
  //# sourceMappingURL=cli.js.map
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../cli.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwFA,oBAuCC;AA7HD,uCAAyB;AACzB,2CAA6B;AAC7B,6EAA0E;AAC1E,+CAA8D;AAE9D,IAAI,WAAW,GAAG,SAAS,CAAC;AAC5B,IAAI,CAAC;IACH,MAAM,QAAQ,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QAClE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC;QACtC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IAC5D,IAAI,IAAI,EAAE,OAAO;QAAE,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACxD,CAAC;AAAC,MAAM,CAAC,CAAA,CAAC;AAEV,SAAS,UAAU;IACjB,OAAO,CAAC,GAAG,CAAC;gBACE,WAAW;;;;;;;;;;;;;;;;;;;;CAoB1B,CAAC,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB;IACxB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;IACvD,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1D,CAAC;SAAM,CAAC;QACN,UAAU,EAAE,CAAC;IACf,CAAC;AACH,CAAC;AAOD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;AAEnD,SAAS,SAAS,CAAC,IAAc;IAC/B,MAAM,MAAM,GAAe,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IAC3D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;QACrB,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;QAChC,CAAC;aAAM,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;gBACjB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAC7D,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACzB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACzB,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;wBAClE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;wBAC3B,CAAC,EAAE,CAAC;oBACN,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;oBAC7B,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;gBAC7B,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAEM,KAAK,UAAU,IAAI,CAAC,SAAoB;IAC7C,MAAM,IAAI,GAAG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC;IAE3B,IAAI,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACzB,OAAO;IACT,CAAC;IAED,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;QACtB,iBAAiB,EAAE,CAAC;QACpB,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QACxC,UAAU,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC;IACpB,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACjD,UAAU,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACjE,IAAI,CAAE,yBAAmC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1D,OAAO,CAAC,KAAK,CAAC,2BAA2B,KAAK,sBAAsB,yBAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE/E,MAAM,MAAM,GAAG,IAAI,wBAAY,EAAE,CAAC;IAClC,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,YAAY,KAAK,GAAG,CAAC,CAAC;AAChE,CAAC;AAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC5B,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAQ,EAAE,EAAE;QACxB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,CAAC,YAAY,2CAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -4,6 +4,7 @@ export interface SendOptions {
4
4
  title: string;
5
5
  level?: string;
6
6
  body?: string;
7
+ metadata?: Record<string, unknown>;
7
8
  }
8
9
  export interface SendResult {
9
10
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/engine.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,aAAa,0CAA2C,CAAC;AACtE,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzD,MAAM,WAAW,WAAW;IAE1B,KAAK,EAAE,MAAM,CAAC;IAEd,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;CACZ;AAaD,qBAAa,YAAY;IACvB,OAAO,KAAK,QAAQ,GAEnB;IAEK,IAAI,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;CA2EnD"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/engine.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,aAAa,0CAA2C,CAAC;AACtE,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzD,MAAM,WAAW,WAAW;IAE1B,KAAK,EAAE,MAAM,CAAC;IAEd,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;CACZ;AAaD,qBAAa,YAAY;IACvB,OAAO,KAAK,QAAQ,GAEnB;IAEK,IAAI,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;CA+EnD"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.NotifyEngine = exports.NOTIFY_LEVELS = void 0;
4
+ const crewx_api_credential_1 = require("@crewx/shared/crewx-api-credential");
4
5
  const DEFAULT_ENDPOINT = 'http://localhost:8150';
5
6
  exports.NOTIFY_LEVELS = ['info', 'warning', 'critical'];
6
7
  class NotifyEngine {
@@ -28,6 +29,8 @@ class NotifyEngine {
28
29
  };
29
30
  if (opts.body)
30
31
  body['body'] = opts.body;
32
+ if (opts.metadata)
33
+ body['metadata'] = opts.metadata;
31
34
  const agentId = process.env['CREWX_AGENT_ID'];
32
35
  const taskId = process.env['CREWX_TASK_ID'];
33
36
  const threadId = process.env['CREWX_THREAD_ID'];
@@ -38,10 +41,11 @@ class NotifyEngine {
38
41
  if (threadId)
39
42
  body['threadId'] = threadId;
40
43
  const endpoint = this.endpoint;
41
- const apiToken = process.env['CREWX_API_TOKEN'] ?? '';
42
- const headers = { 'Content-Type': 'application/json' };
43
- if (apiToken)
44
- headers['Authorization'] = `Bearer ${apiToken}`;
44
+ const credential = (0, crewx_api_credential_1.resolveCrewxApiCredential)('notify');
45
+ const headers = {
46
+ 'Content-Type': 'application/json',
47
+ ...(0, crewx_api_credential_1.authorizationHeader)(credential),
48
+ };
45
49
  let res;
46
50
  try {
47
51
  res = await fetch(`${endpoint}/api/v1/notifications`, {
@@ -59,7 +63,8 @@ class NotifyEngine {
59
63
  const data = (await res.json().catch(() => ({})));
60
64
  if (res.status === 401 || res.status === 403) {
61
65
  throw new Error(`Notification rejected (${res.status}): authentication failed. ` +
62
- 'For a remote server set CREWX_API_TOKEN; localhost needs no token.');
66
+ 'Set CREWX_API_TOKEN or start the CrewX server once '
67
+ + '(creates ~/.crewx/auth/runtime/notify.token).');
63
68
  }
64
69
  throw new Error(`Notification failed (${res.status}): ${JSON.stringify(data)}`);
65
70
  }
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/engine.ts"],"names":[],"mappings":";;;AAAA,MAAM,gBAAgB,GAAG,uBAAuB,CAAC;AAGpC,QAAA,aAAa,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,CAAU,CAAC;AA2BtE,MAAa,YAAY;IACvB,IAAY,QAAQ;QAClB,OAAO,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,gBAAgB,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAiB;QAC1B,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CACb,wGAAwG,CACzG,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC;QACnC,IAAI,CAAE,qBAAmC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1D,MAAM,IAAI,KAAK,CACb,kBAAkB,KAAK,sBAAsB,qBAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACxE,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;QACvD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,yGAAyG,CAC1G,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAA4B;YACpC,SAAS;YACT,KAAK;YACL,KAAK;YACL,MAAM,EAAE,OAAO;SAChB,CAAC;QACF,IAAI,IAAI,CAAC,IAAI;YAAE,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QAExC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAChD,IAAI,OAAO;YAAE,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC;QACvC,IAAI,MAAM;YAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;QACpC,IAAI,QAAQ;YAAE,IAAI,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC;QAE1C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;QACtD,MAAM,OAAO,GAA2B,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;QAC/E,IAAI,QAAQ;YAAE,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,QAAQ,EAAE,CAAC;QAE9D,IAAI,GAAa,CAAC;QAClB,IAAI,CAAC;YACH,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,QAAQ,uBAAuB,EAAE;gBACpD,MAAM,EAAE,MAAM;gBACd,OAAO;gBACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBAC1B,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,KAAM,CAAC;aACpC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,MAAM,IAAI,KAAK,CACb,6BAA6B,GAAG,uCAAuC,QAAQ,GAAG,CACnF,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAA4B,CAAC;YAC7E,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC7C,MAAM,IAAI,KAAK,CACb,0BAA0B,GAAG,CAAC,MAAM,4BAA4B;oBAC9D,oEAAoE,CACvE,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,CAAC,MAAM,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClF,CAAC;QAED,MAAM,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAGlD,CAAC;QACF,MAAM,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,SAAS,CAAC;QAC1C,OAAO,EAAE,EAAE,EAAE,CAAC;IAChB,CAAC;CACF;AAhFD,oCAgFC"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/engine.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crewx/notify",
3
- "version": "0.1.0-rc.8",
3
+ "version": "0.1.0-rc.81",
4
4
  "description": "Notification CLI for CrewX agents — POST an in-app notification to the dashboard",
5
5
  "type": "commonjs",
6
6
  "main": "dist/src/engine.js",
@@ -32,7 +32,7 @@
32
32
  ],
33
33
  "license": "MIT",
34
34
  "dependencies": {
35
- "@crewx/shared": "0.0.6"
35
+ "@crewx/shared": "0.0.6-rc.25"
36
36
  },
37
37
  "devDependencies": {
38
38
  "@types/node": "^20.0.0",