@crewx/notify 0.1.0-rc.117 → 0.1.0-rc.119

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/dist/cli.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  #!/usr/bin/env node
2
2
  export declare function main(inputArgs?: string[]): Promise<void>;
3
- //# sourceMappingURL=cli.d.ts.map
3
+
package/dist/cli.js CHANGED
@@ -1,57 +1,6 @@
1
1
  #!/usr/bin/env node
2
- "use strict";
3
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
- if (k2 === undefined) k2 = k;
5
- var desc = Object.getOwnPropertyDescriptor(m, k);
6
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
- desc = { enumerable: true, get: function() { return m[k]; } };
8
- }
9
- Object.defineProperty(o, k2, desc);
10
- }) : (function(o, m, k, k2) {
11
- if (k2 === undefined) k2 = k;
12
- o[k2] = m[k];
13
- }));
14
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
- Object.defineProperty(o, "default", { enumerable: true, value: v });
16
- }) : function(o, v) {
17
- o["default"] = v;
18
- });
19
- var __importStar = (this && this.__importStar) || (function () {
20
- var ownKeys = function(o) {
21
- ownKeys = Object.getOwnPropertyNames || function (o) {
22
- var ar = [];
23
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
- return ar;
25
- };
26
- return ownKeys(o);
27
- };
28
- return function (mod) {
29
- if (mod && mod.__esModule) return mod;
30
- var result = {};
31
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
- __setModuleDefault(result, mod);
33
- return result;
34
- };
35
- })();
36
- Object.defineProperty(exports, "__esModule", { value: true });
37
- exports.main = main;
38
- const fs = __importStar(require("fs"));
39
- const path = __importStar(require("path"));
40
- const crewx_api_credential_1 = require("@crewx/shared/crewx-api-credential");
41
- const engine_js_1 = require("./src/engine.js");
42
- let PKG_VERSION = 'unknown';
43
- try {
44
- const _pkgPath = fs.existsSync(path.join(__dirname, 'package.json'))
45
- ? path.join(__dirname, 'package.json')
46
- : path.join(__dirname, '..', 'package.json');
47
- const _pkg = JSON.parse(fs.readFileSync(_pkgPath, 'utf-8'));
48
- if (_pkg?.version)
49
- PKG_VERSION = String(_pkg.version);
50
- }
51
- catch { }
52
- function printUsage() {
53
- console.log(`
54
- @crewx/notify@${PKG_VERSION} - Send an in-app notification to the CrewX dashboard
2
+ "use strict";var y=exports&&exports.__createBinding||(Object.create?(function(t,e,o,n){if(n===void 0)n=o;var i=Object.getOwnPropertyDescriptor(e,o);if(!i||("get"in i?!e.__esModule:i.writable||i.configurable)){i={enumerable:true,get:function(){return e[o]}}}Object.defineProperty(t,n,i)}):(function(t,e,o,n){if(n===void 0)n=o;t[n]=e[o]}));var O=exports&&exports.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:true,value:e})}):function(t,e){t["default"]=e});var p=exports&&exports.__importStar||(function(){var t=function(e){t=Object.getOwnPropertyNames||function(o){var n=[];for(var i in o)if(Object.prototype.hasOwnProperty.call(o,i))n[n.length]=i;return n};return t(e)};return function(e){if(e&&e.__esModule)return e;var o={};if(e!=null){for(var n=t(e),i=0;i<n.length;i++)if(n[i]!=="default")y(o,e,n[i])}O(o,e);return o}})();Object.defineProperty(exports,"__esModule",{value:true});exports.main=_;const l=p(require("fs"));const c=p(require("path"));const E=require("@crewx/shared/crewx-api-credential");const u=require("./src/engine.js");let f="unknown";try{const t=l.existsSync(c.join(__dirname,"package.json"))?c.join(__dirname,"package.json"):c.join(__dirname,"..","package.json");const e=JSON.parse(l.readFileSync(t,"utf-8"));if(e?.version)f=String(e.version)}catch{}function d(){console.log(`
3
+ @crewx/notify@${f} - Send an in-app notification to the CrewX dashboard
55
4
 
56
5
  Usage:
57
6
  notify "<title>" [options]
@@ -71,90 +20,4 @@ Environment variables:
71
20
 
72
21
  Example:
73
22
  notify "Deploy needs approval" --level=warning --body="Staging is green; confirm prod."
74
- `);
75
- }
76
- function showDetailedUsage() {
77
- const skillMd = path.join(__dirname, '..', 'SKILL.md');
78
- if (fs.existsSync(skillMd)) {
79
- process.stdout.write(fs.readFileSync(skillMd, 'utf-8'));
80
- }
81
- else {
82
- printUsage();
83
- }
84
- }
85
- const BOOLEAN_FLAGS = new Set(['help', 'version']);
86
- function parseArgs(args) {
87
- const result = { positional: [], options: {} };
88
- for (let i = 0; i < args.length; i++) {
89
- const arg = args[i];
90
- if (arg === '-h') {
91
- result.options['help'] = true;
92
- }
93
- else if (arg.startsWith('--')) {
94
- const eqIdx = arg.indexOf('=');
95
- if (eqIdx !== -1) {
96
- result.options[arg.slice(2, eqIdx)] = arg.slice(eqIdx + 1);
97
- }
98
- else {
99
- const key = arg.slice(2);
100
- if (!BOOLEAN_FLAGS.has(key)) {
101
- const next = args[i + 1];
102
- if (next !== undefined && !next.startsWith('--') && next !== '-h') {
103
- result.options[key] = next;
104
- i++;
105
- }
106
- else {
107
- result.options[key] = true;
108
- }
109
- }
110
- else {
111
- result.options[key] = true;
112
- }
113
- }
114
- }
115
- else {
116
- result.positional.push(arg);
117
- }
118
- }
119
- return result;
120
- }
121
- async function main(inputArgs) {
122
- const args = inputArgs ?? process.argv.slice(2);
123
- const { positional, options } = parseArgs(args);
124
- const [first] = positional;
125
- if (options['version']) {
126
- console.log(PKG_VERSION);
127
- return;
128
- }
129
- if (first === 'usage') {
130
- showDetailedUsage();
131
- return;
132
- }
133
- if (options['help'] || first === 'help') {
134
- printUsage();
135
- return;
136
- }
137
- const title = first;
138
- if (!title) {
139
- console.error('Error: notify requires a title.');
140
- printUsage();
141
- process.exit(1);
142
- }
143
- const levelRaw = options['level'];
144
- const level = levelRaw === undefined ? 'info' : String(levelRaw);
145
- if (!engine_js_1.NOTIFY_LEVELS.includes(level)) {
146
- console.error(`Error: invalid --level '${level}'. Must be one of: ${engine_js_1.NOTIFY_LEVELS.join(', ')}`);
147
- process.exit(1);
148
- }
149
- const body = typeof options['body'] === 'string' ? options['body'] : undefined;
150
- const engine = new engine_js_1.NotifyEngine();
151
- const { id } = await engine.send({ title, level, body });
152
- console.log(`Notification sent (id: ${id}, level: ${level})`);
153
- }
154
- if (require.main === module) {
155
- main().catch((e) => {
156
- console.error(e.message);
157
- process.exit(e instanceof crewx_api_credential_1.CrewxCredentialError ? e.exitCode : 1);
158
- });
159
- }
160
- //# sourceMappingURL=cli.js.map
23
+ `)}function b(){const t=c.join(__dirname,"..","SKILL.md");if(l.existsSync(t)){process.stdout.write(l.readFileSync(t,"utf-8"))}else{d()}}const S=new Set(["help","version"]);function w(t){const e={positional:[],options:{}};for(let o=0;o<t.length;o++){const n=t[o];if(n==="-h"){e.options["help"]=true}else if(n.startsWith("--")){const i=n.indexOf("=");if(i!==-1){e.options[n.slice(2,i)]=n.slice(i+1)}else{const r=n.slice(2);if(!S.has(r)){const s=t[o+1];if(s!==void 0&&!s.startsWith("--")&&s!=="-h"){e.options[r]=s;o++}else{e.options[r]=true}}else{e.options[r]=true}}}else{e.positional.push(n)}}return e}async function _(t){const e=t??process.argv.slice(2);const{positional:o,options:n}=w(e);const[i]=o;if(n["version"]){console.log(f);return}if(i==="usage"){b();return}if(n["help"]||i==="help"){d();return}const r=i;if(!r){console.error("Error: notify requires a title.");d();process.exit(1)}const s=n["level"];const a=s===void 0?"info":String(s);if(!u.NOTIFY_LEVELS.includes(a)){console.error(`Error: invalid --level '${a}'. Must be one of: ${u.NOTIFY_LEVELS.join(", ")}`);process.exit(1)}const g=typeof n["body"]==="string"?n["body"]:void 0;const h=new u.NotifyEngine;const{id:v}=await h.send({title:r,level:a,body:g});console.log(`Notification sent (id: ${v}, level: ${a})`)}if(require.main===module){_().catch(t=>{console.error(t.message);process.exit(t instanceof E.CrewxCredentialError?t.exitCode:1)})}
@@ -13,4 +13,4 @@ export declare class NotifyEngine {
13
13
  private get endpoint();
14
14
  send(opts: SendOptions): Promise<SendResult>;
15
15
  }
16
- //# sourceMappingURL=engine.d.ts.map
16
+
@@ -1,77 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NotifyEngine = exports.NOTIFY_LEVELS = void 0;
4
- const crewx_api_credential_1 = require("@crewx/shared/crewx-api-credential");
5
- const DEFAULT_ENDPOINT = 'http://localhost:8150';
6
- exports.NOTIFY_LEVELS = ['info', 'warning', 'critical'];
7
- class NotifyEngine {
8
- get endpoint() {
9
- return process.env['CREWX_ENDPOINT'] ?? DEFAULT_ENDPOINT;
10
- }
11
- async send(opts) {
12
- const title = typeof opts.title === 'string' ? opts.title.trim() : '';
13
- if (!title) {
14
- throw new Error('notify requires a title.\nUsage: crewx notify "<title>" [--level=info|warning|critical] [--body="..."]');
15
- }
16
- const level = opts.level ?? 'info';
17
- if (!exports.NOTIFY_LEVELS.includes(level)) {
18
- throw new Error(`Invalid level '${level}'. Must be one of: ${exports.NOTIFY_LEVELS.join(', ')}`);
19
- }
20
- const workspace = process.env['CREWX_WORKSPACE'] ?? '';
21
- if (!workspace) {
22
- throw new Error('CREWX_WORKSPACE is not set. The notify CLI needs the absolute workspace path to route the notification.');
23
- }
24
- const body = {
25
- workspace,
26
- title,
27
- level,
28
- source: 'agent',
29
- };
30
- if (opts.body)
31
- body['body'] = opts.body;
32
- if (opts.metadata)
33
- body['metadata'] = opts.metadata;
34
- const agentId = process.env['CREWX_AGENT_ID'];
35
- const taskId = process.env['CREWX_TASK_ID'];
36
- const threadId = process.env['CREWX_THREAD_ID'];
37
- if (agentId)
38
- body['agentId'] = agentId;
39
- if (taskId)
40
- body['taskId'] = taskId;
41
- if (threadId)
42
- body['threadId'] = threadId;
43
- const endpoint = this.endpoint;
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
- };
49
- let res;
50
- try {
51
- res = await fetch(`${endpoint}/api/v1/notifications`, {
52
- method: 'POST',
53
- headers,
54
- body: JSON.stringify(body),
55
- signal: AbortSignal.timeout(15000),
56
- });
57
- }
58
- catch (err) {
59
- const msg = err instanceof Error ? err.message : String(err);
60
- throw new Error(`Server connection failed: ${msg}\nCheck that the server is running (${endpoint})`);
61
- }
62
- if (!res.ok) {
63
- const data = (await res.json().catch(() => ({})));
64
- if (res.status === 401 || res.status === 403) {
65
- throw new Error(`Notification rejected (${res.status}): authentication failed. ` +
66
- 'Set CREWX_API_TOKEN or start the CrewX server once '
67
- + '(creates ~/.crewx/auth/runtime/notify.token).');
68
- }
69
- throw new Error(`Notification failed (${res.status}): ${JSON.stringify(data)}`);
70
- }
71
- const payload = (await res.json().catch(() => ({})));
72
- const id = payload?.data?.id ?? 'unknown';
73
- return { id };
74
- }
75
- }
76
- exports.NotifyEngine = NotifyEngine;
77
- //# sourceMappingURL=engine.js.map
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.NotifyEngine=exports.NOTIFY_LEVELS=void 0;const l=require("@crewx/shared/crewx-api-credential");const _="http://localhost:8150";exports.NOTIFY_LEVELS=["info","warning","critical"];class g{get endpoint(){return process.env["CREWX_ENDPOINT"]??_}async send(e){const r=typeof e.title==="string"?e.title.trim():"";if(!r){throw new Error('notify requires a title.\nUsage: crewx notify "<title>" [--level=info|warning|critical] [--body="..."]')}const o=e.level??"info";if(!exports.NOTIFY_LEVELS.includes(o)){throw new Error(`Invalid level '${o}'. Must be one of: ${exports.NOTIFY_LEVELS.join(", ")}`)}const a=process.env["CREWX_WORKSPACE"]??"";if(!a){throw new Error("CREWX_WORKSPACE is not set. The notify CLI needs the absolute workspace path to route the notification.")}const n={workspace:a,title:r,level:o,source:"agent"};if(e.body)n["body"]=e.body;if(e.metadata)n["metadata"]=e.metadata;const s=process.env["CREWX_AGENT_ID"];const c=process.env["CREWX_TASK_ID"];const d=process.env["CREWX_THREAD_ID"];if(s)n["agentId"]=s;if(c)n["taskId"]=c;if(d)n["threadId"]=d;const f=this.endpoint;const E=(0,l.resolveCrewxApiCredential)("notify");const h={"Content-Type":"application/json",...(0,l.authorizationHeader)(E)};let t;try{t=await fetch(`${f}/api/v1/notifications`,{method:"POST",headers:h,body:JSON.stringify(n),signal:AbortSignal.timeout(15e3)})}catch(i){const y=i instanceof Error?i.message:String(i);throw new Error(`Server connection failed: ${y}
2
+ Check that the server is running (${f})`)}if(!t.ok){const i=await t.json().catch(()=>({}));if(t.status===401||t.status===403){throw new Error(`Notification rejected (${t.status}): authentication failed. Set CREWX_API_TOKEN or start the CrewX server once (creates ~/.crewx/auth/runtime/notify.token).`)}throw new Error(`Notification failed (${t.status}): ${JSON.stringify(i)}`)}const w=await t.json().catch(()=>({}));const u=w?.data?.id??"unknown";return{id:u}}}exports.NotifyEngine=g;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crewx/notify",
3
- "version": "0.1.0-rc.117",
3
+ "version": "0.1.0-rc.119",
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-rc.61"
35
+ "@crewx/shared": "0.0.6-rc.63"
36
36
  },
37
37
  "devDependencies": {
38
38
  "@types/node": "^20.0.0",
package/dist/cli.d.ts.map DELETED
@@ -1 +0,0 @@
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.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../cli.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
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 +0,0 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/engine.ts"],"names":[],"mappings":"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"}