@chatlychat/cli 0.2.0 → 0.3.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.
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +29 -3
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/listen-bot.d.ts +52 -0
- package/dist/commands/listen-bot.d.ts.map +1 -0
- package/dist/commands/listen-bot.js +253 -0
- package/dist/commands/listen-bot.js.map +1 -0
- package/dist/commands/listen-core.d.ts +107 -0
- package/dist/commands/listen-core.d.ts.map +1 -0
- package/dist/commands/listen-core.js +334 -0
- package/dist/commands/listen-core.js.map +1 -0
- package/dist/commands/listen-relay-options.d.ts +78 -0
- package/dist/commands/listen-relay-options.d.ts.map +1 -0
- package/dist/commands/listen-relay-options.js +195 -0
- package/dist/commands/listen-relay-options.js.map +1 -0
- package/dist/commands/listen-relay-sign.d.ts +36 -0
- package/dist/commands/listen-relay-sign.d.ts.map +1 -0
- package/dist/commands/listen-relay-sign.js +136 -0
- package/dist/commands/listen-relay-sign.js.map +1 -0
- package/dist/commands/listen-relay.d.ts +43 -0
- package/dist/commands/listen-relay.d.ts.map +1 -0
- package/dist/commands/listen-relay.js +434 -0
- package/dist/commands/listen-relay.js.map +1 -0
- package/dist/commands/listen.d.ts +2 -39
- package/dist/commands/listen.d.ts.map +1 -1
- package/dist/commands/listen.js +73 -208
- package/dist/commands/listen.js.map +1 -1
- package/dist/help.d.ts +1 -1
- package/dist/help.d.ts.map +1 -1
- package/dist/help.js +19 -3
- package/dist/help.js.map +1 -1
- package/dist/run.js +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listen-relay.js","sourceRoot":"","sources":["../../src/commands/listen-relay.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,44 +1,7 @@
|
|
|
1
|
+
import { type ListenDeps, type ListenOptions, type ListenSummary } from './listen-core.js';
|
|
1
2
|
import { type ParsedArgs } from '../args.js';
|
|
2
3
|
import type { ChatlyClient } from '@chatlychat/sdk-node';
|
|
3
|
-
export
|
|
4
|
-
/** Where to POST each event. `null` prints without forwarding. */
|
|
5
|
-
readonly forwardTo: string | null;
|
|
6
|
-
readonly endpointId: string | null;
|
|
7
|
-
/** Client-side event filter. `null` means every event in the log. */
|
|
8
|
-
readonly events: ReadonlySet<string> | null;
|
|
9
|
-
readonly status: string | null;
|
|
10
|
-
/** The `whsec_…` to re-sign forwarded requests with. `null` sends unsigned. */
|
|
11
|
-
readonly secret: string | null;
|
|
12
|
-
readonly intervalMs: number;
|
|
13
|
-
/** How many deliveries already in the log to forward before tailing. */
|
|
14
|
-
readonly replay: number;
|
|
15
|
-
/** Rows per poll. Also the most this can see between two polls. */
|
|
16
|
-
readonly pageLimit: number;
|
|
17
|
-
readonly json: boolean;
|
|
18
|
-
}
|
|
19
|
-
export interface ListenDeps {
|
|
20
|
-
/** For the FORWARD leg only. API calls go through the SDK's own transport. */
|
|
21
|
-
readonly fetchFn: typeof fetch;
|
|
22
|
-
readonly now: () => number;
|
|
23
|
-
readonly sleep: (ms: number, signal: AbortSignal) => Promise<void>;
|
|
24
|
-
readonly signal: AbortSignal;
|
|
25
|
-
readonly out: (line: string) => void;
|
|
26
|
-
readonly err: (line: string) => void;
|
|
27
|
-
/**
|
|
28
|
-
* Stop after this many polls. Test-only, and the reason it exists rather
|
|
29
|
-
* than a timer the test races: a tail loop with no bound is not a thing a
|
|
30
|
-
* unit test can assert the end of.
|
|
31
|
-
*/
|
|
32
|
-
readonly maxPolls?: number;
|
|
33
|
-
}
|
|
34
|
-
export interface ListenSummary {
|
|
35
|
-
readonly seen: number;
|
|
36
|
-
readonly forwarded: number;
|
|
37
|
-
readonly refused: number;
|
|
38
|
-
readonly polls: number;
|
|
39
|
-
}
|
|
40
|
-
/** Read the flags, refusing anything that cannot work, with the fix named. */
|
|
41
|
-
export declare function parseListenOptions(args: ParsedArgs): ListenOptions;
|
|
4
|
+
export { parseListenOptions, type ListenDeps, type ListenOptions, type ListenSummary, } from './listen-core.js';
|
|
42
5
|
/**
|
|
43
6
|
* The tail loop, abortable, with the process boundary left to the caller.
|
|
44
7
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listen.d.ts","sourceRoot":"","sources":["../../src/commands/listen.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"listen.d.ts","sourceRoot":"","sources":["../../src/commands/listen.ts"],"names":[],"mappings":"AAsFA,OAAO,EAML,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,aAAa,EACnB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAGnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,EACL,kBAAkB,EAClB,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,aAAa,GACnB,MAAM,kBAAkB,CAAC;AA6H1B;;;;;GAKG;AACH,wBAAsB,IAAI,CACxB,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,aAAa,EACnB,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,aAAa,CAAC,CAoIxB;AAED;;;;;;GAMG;AACH,wBAAsB,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAgEpF"}
|
package/dist/commands/listen.js
CHANGED
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `chatly listen` — watch this workspace's
|
|
3
|
-
* local URL.
|
|
2
|
+
* `chatly listen` — watch this workspace's outbound traffic and forward it to
|
|
3
|
+
* a local URL.
|
|
4
|
+
*
|
|
5
|
+
* Two ledgers: webhook subscriptions by default, and one external agent's
|
|
6
|
+
* push deliveries with `--bot <id>` (`listen-bot.ts`). And one live mode,
|
|
7
|
+
* `--relay` (`listen-relay.ts`), for the three synchronous surfaces no ledger
|
|
8
|
+
* can carry — whose server half is `apps/api/src/modules/relay/`, built against
|
|
9
|
+
* `RELAY-SERVER-SPEC.md`. Everything the two ledgers share
|
|
10
|
+
* — the flags, the seen-set, the signing and the forward leg — is in
|
|
11
|
+
* `listen-core.ts`, which also records what the minted signature is and is
|
|
12
|
+
* not.
|
|
4
13
|
*
|
|
5
14
|
* ═══ HOW A LAPTOP RECEIVES EVENTS AT ALL ══════════════════════════════════
|
|
6
15
|
*
|
|
@@ -37,6 +46,17 @@
|
|
|
37
46
|
* startup banner, because "what did that leave behind" is the first question
|
|
38
47
|
* a developer tool of this shape has to answer.
|
|
39
48
|
*
|
|
49
|
+
* ═══ THE THREE SURFACES THIS STILL CANNOT SHOW ════════════════════════════
|
|
50
|
+
*
|
|
51
|
+
* AI tool calls, customer-card fetches and canvas/step requests are
|
|
52
|
+
* **synchronous**: Chatly calls out and waits for the answer inside a
|
|
53
|
+
* visitor's request. There is no ledger to poll, because the response is the
|
|
54
|
+
* point — a log row would arrive after the visitor has already been told
|
|
55
|
+
* something went wrong. Relaying them needs a server-side surface that holds
|
|
56
|
+
* the inbound request open while a locally connected CLI answers it, which is
|
|
57
|
+
* a route and a socket in `apps/api`, not something this poller can fake.
|
|
58
|
+
* Written up in the C-01 report rather than half-built here.
|
|
59
|
+
*
|
|
40
60
|
* ═══ WHAT THIS CANNOT DO, AND THE ROUTE THAT WOULD FIX IT ═════════════════
|
|
41
61
|
*
|
|
42
62
|
* It cannot relay Chatly's OWN signature, because the server does not keep
|
|
@@ -45,16 +65,8 @@
|
|
|
45
65
|
* persisted, the secret is returned by exactly one route and never read back,
|
|
46
66
|
* `jsonb` does not preserve key order, and the signed envelope's `id` is the
|
|
47
67
|
* BullMQ-era `deliveryId` which is not the delivery row's `id`. So the exact
|
|
48
|
-
* signed bytes are unreconstructable by construction, not by omission.
|
|
49
|
-
*
|
|
50
|
-
* What this command forwards is therefore re-signed locally with `--secret`,
|
|
51
|
-
* using the same construction the worker uses (`t=<unix seconds>,v1=HMAC over
|
|
52
|
-
* <t>.<rawBody>`), and the header is **verified with the SDK's own
|
|
53
|
-
* `verifyChatlySignature` before the request goes out**. That self-check is
|
|
54
|
-
* not ceremony: it is the one thing that catches a signer and a verifier
|
|
55
|
-
* drifting on construction or on timestamp unit, which is a bug this product
|
|
56
|
-
* has actually shipped. If it ever fails, the forward is refused rather than
|
|
57
|
-
* sent.
|
|
68
|
+
* signed bytes are unreconstructable by construction, not by omission. The
|
|
69
|
+
* same is true of `agent_deliveries`.
|
|
58
70
|
*
|
|
59
71
|
* A true `stripe listen` — the developer's handler seeing byte-for-byte what
|
|
60
72
|
* production sends — needs a server-side surface, and there are two shapes:
|
|
@@ -64,108 +76,19 @@
|
|
|
64
76
|
* from the same `signWebhookPayload` the dispatcher uses. Best for the
|
|
65
77
|
* use case; needs a streaming route and a fan-out off the webhook queue.
|
|
66
78
|
* 2. Cheaper: add `signed_body text` and `signature text` to
|
|
67
|
-
* `webhook_deliveries
|
|
68
|
-
*
|
|
69
|
-
*
|
|
79
|
+
* `webhook_deliveries` (and `agent_deliveries`), return them from the
|
|
80
|
+
* per-delivery read, and this poller relays them untouched. One
|
|
81
|
+
* migration, two columns, no new route shape.
|
|
70
82
|
*
|
|
71
83
|
* Both are in `apps/api`, `apps/worker` and `packages/db`, so neither is done
|
|
72
84
|
* here. Until one lands, this command is honest about what it mints.
|
|
73
85
|
*/
|
|
74
|
-
import {
|
|
75
|
-
import {
|
|
76
|
-
import {
|
|
86
|
+
import { tailBot } from './listen-bot.js';
|
|
87
|
+
import { WEBHOOK_SIGN_PLAN, forward, parseListenOptions, remember, sleepUntilAborted, } from './listen-core.js';
|
|
88
|
+
import { parseRelayOptions, relay, relayOnlyFlagWithoutRelay } from './listen-relay.js';
|
|
89
|
+
import { bool } from '../args.js';
|
|
77
90
|
import { printJson } from '../output.js';
|
|
78
|
-
|
|
79
|
-
const SEEN_CAP = 5_000;
|
|
80
|
-
const DEFAULT_INTERVAL_SECONDS = 2;
|
|
81
|
-
const MIN_INTERVAL_SECONDS = 1;
|
|
82
|
-
const DEFAULT_PAGE_LIMIT = 50;
|
|
83
|
-
/**
|
|
84
|
-
* Sign a forwarded body the way the worker signs a real delivery.
|
|
85
|
-
*
|
|
86
|
-
* Deliberately not imported from `@livechat/shared/webhook-signature`: this
|
|
87
|
-
* package is published and depends on `@chatlychat/sdk-node` alone, and
|
|
88
|
-
* `sync-sdk-repos.mjs` cannot mirror a private workspace import. `node:crypto`
|
|
89
|
-
* is the standard library, not a dependency.
|
|
90
|
-
*
|
|
91
|
-
* The construction is written out here so it reads beside the verification
|
|
92
|
-
* below, and the verification is what keeps the two honest — see this file's
|
|
93
|
-
* header.
|
|
94
|
-
*/
|
|
95
|
-
function signForForward(body, secret, nowMs) {
|
|
96
|
-
const t = Math.floor(nowMs / 1000).toString();
|
|
97
|
-
const v1 = createHmac('sha256', secret).update(`${t}.${body}`).digest('hex');
|
|
98
|
-
return `t=${t},v1=${v1}`;
|
|
99
|
-
}
|
|
100
|
-
function parseEventFilter(args) {
|
|
101
|
-
const raw = args.flags['event'];
|
|
102
|
-
if (raw === undefined) {
|
|
103
|
-
return null;
|
|
104
|
-
}
|
|
105
|
-
const list = (Array.isArray(raw) ? raw : [String(raw)]).flatMap((v) => v
|
|
106
|
-
.split(',')
|
|
107
|
-
.map((s) => s.trim())
|
|
108
|
-
.filter((s) => s.length > 0));
|
|
109
|
-
return list.length === 0 ? null : new Set(list);
|
|
110
|
-
}
|
|
111
|
-
/** Read the flags, refusing anything that cannot work, with the fix named. */
|
|
112
|
-
export function parseListenOptions(args) {
|
|
113
|
-
const forwardTo = str(args.flags, 'forward-to') ?? null;
|
|
114
|
-
if (forwardTo !== null) {
|
|
115
|
-
let parsed = null;
|
|
116
|
-
try {
|
|
117
|
-
parsed = new URL(forwardTo);
|
|
118
|
-
}
|
|
119
|
-
catch {
|
|
120
|
-
parsed = null;
|
|
121
|
-
}
|
|
122
|
-
/*
|
|
123
|
-
* One message for both failures, because `localhost:3000` — the mistake
|
|
124
|
-
* everyone makes — hits the SECOND branch, not the first: the WHATWG
|
|
125
|
-
* parser reads `localhost:` as a SCHEME and succeeds. A test caught this
|
|
126
|
-
* command telling a developer who typed `localhost:3000` that the scheme
|
|
127
|
-
* `"localhost:"` was unsupported, which is true and useless.
|
|
128
|
-
*/
|
|
129
|
-
if (parsed === null || (parsed.protocol !== 'http:' && parsed.protocol !== 'https:')) {
|
|
130
|
-
throw new Error(`--forward-to "${forwardTo}" is not an http(s) URL${parsed === null ? '' : ` (it parsed as the scheme "${parsed.protocol}")`}. Include the scheme:\n` + ' chatly listen --forward-to http://localhost:3000/webhooks');
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
const intervalSeconds = num(args.flags, 'interval') ?? DEFAULT_INTERVAL_SECONDS;
|
|
134
|
-
if (intervalSeconds < MIN_INTERVAL_SECONDS) {
|
|
135
|
-
throw new Error(`--interval ${String(intervalSeconds)} is below the ${String(MIN_INTERVAL_SECONDS)}s floor. ` +
|
|
136
|
-
'This polls a real API on your own rate limit; a tighter loop buys nothing, because the ' +
|
|
137
|
-
'delivery row is written after the attempt completes.');
|
|
138
|
-
}
|
|
139
|
-
const pageLimit = num(args.flags, 'limit') ?? DEFAULT_PAGE_LIMIT;
|
|
140
|
-
if (pageLimit < 1) {
|
|
141
|
-
throw new Error(`--limit ${String(pageLimit)} must be at least 1.`);
|
|
142
|
-
}
|
|
143
|
-
const replay = num(args.flags, 'replay') ?? 0;
|
|
144
|
-
if (replay < 0) {
|
|
145
|
-
throw new Error(`--replay ${String(replay)} cannot be negative.`);
|
|
146
|
-
}
|
|
147
|
-
if (replay > pageLimit) {
|
|
148
|
-
throw new Error(`--replay ${String(replay)} is more than --limit ${String(pageLimit)}, and this command ` +
|
|
149
|
-
'only ever reads one page per poll. Raise --limit to match.');
|
|
150
|
-
}
|
|
151
|
-
const secret = str(args.flags, 'secret') ?? null;
|
|
152
|
-
if (secret !== null && !secret.startsWith('whsec_')) {
|
|
153
|
-
throw new Error(`--secret should be the endpoint's whsec_ signing secret (got "${secret.slice(0, 6)}…").\n` +
|
|
154
|
-
'It is returned exactly once, by `chatly webhooks create`, and by no other route — if ' +
|
|
155
|
-
'you no longer have it, create another endpoint.');
|
|
156
|
-
}
|
|
157
|
-
return {
|
|
158
|
-
forwardTo,
|
|
159
|
-
endpointId: str(args.flags, 'endpoint') ?? null,
|
|
160
|
-
events: parseEventFilter(args),
|
|
161
|
-
status: str(args.flags, 'status') ?? null,
|
|
162
|
-
secret,
|
|
163
|
-
intervalMs: intervalSeconds * 1000,
|
|
164
|
-
replay,
|
|
165
|
-
pageLimit,
|
|
166
|
-
json: bool(args.flags, 'json'),
|
|
167
|
-
};
|
|
168
|
-
}
|
|
91
|
+
export { parseListenOptions, } from './listen-core.js';
|
|
169
92
|
function asRows(value) {
|
|
170
93
|
const items = typeof value === 'object' && value !== null ? value.items : undefined;
|
|
171
94
|
if (!Array.isArray(items)) {
|
|
@@ -199,7 +122,8 @@ async function resolveEndpoints(chatly, opts) {
|
|
|
199
122
|
' chatly webhooks create --url https://example.test/hook --event conversation.created\n' +
|
|
200
123
|
'`chatly webhooks events` lists the subscribable names.\n\n' +
|
|
201
124
|
'The URL has to be one the platform can reach — it is the real destination, and this\n' +
|
|
202
|
-
'command tails what was attempted against it rather than replacing it
|
|
125
|
+
'command tails what was attempted against it rather than replacing it.\n\n' +
|
|
126
|
+
"To tail an external agent's push deliveries instead, use `chatly listen --bot <id>`.");
|
|
203
127
|
}
|
|
204
128
|
if (opts.endpointId !== null) {
|
|
205
129
|
const match = rows.find((r) => r.id === opts.endpointId);
|
|
@@ -238,86 +162,12 @@ function banner(opts, endpoints, deps) {
|
|
|
238
162
|
deps.out(opts.secret === null
|
|
239
163
|
? 'UNSIGNED: no --secret, so forwarded requests carry no x-livechat-signature and your ' +
|
|
240
164
|
"handler's verifier will reject them. Pass the endpoint's whsec_ secret."
|
|
241
|
-
: 'Signed locally with --secret
|
|
242
|
-
'
|
|
165
|
+
: 'Signed locally with --secret, as x-livechat-signature AND x-chatly-signature-v2. ' +
|
|
166
|
+
'This is NOT the signature Chatly sent — the delivery log does not store one — so ' +
|
|
167
|
+
'it proves nothing about the original request.');
|
|
243
168
|
}
|
|
244
169
|
deps.out('Registers nothing on the server; there is nothing to clean up. Ctrl-C to stop.\n');
|
|
245
170
|
}
|
|
246
|
-
/** Drop the oldest ids once the set is at its cap. Sets iterate in insertion order. */
|
|
247
|
-
function remember(seen, id) {
|
|
248
|
-
seen.add(id);
|
|
249
|
-
if (seen.size > SEEN_CAP) {
|
|
250
|
-
for (const old of seen) {
|
|
251
|
-
seen.delete(old);
|
|
252
|
-
if (seen.size <= SEEN_CAP) {
|
|
253
|
-
break;
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
}
|
|
258
|
-
/** POST one event on, verifying the header we just minted before sending it. */
|
|
259
|
-
async function forward(opts, deps, envelope) {
|
|
260
|
-
if (opts.forwardTo === null) {
|
|
261
|
-
return false;
|
|
262
|
-
}
|
|
263
|
-
const body = JSON.stringify(envelope);
|
|
264
|
-
const headers = {
|
|
265
|
-
'content-type': 'application/json',
|
|
266
|
-
'x-livechat-event': envelope.type,
|
|
267
|
-
'x-livechat-delivery': envelope.id,
|
|
268
|
-
// Not a header Chatly sends. A handler that logs it can tell a replayed
|
|
269
|
-
// local forward from a real delivery, which matters the first time
|
|
270
|
-
// somebody points this at a staging environment.
|
|
271
|
-
'x-chatly-cli-forwarded': '1',
|
|
272
|
-
};
|
|
273
|
-
if (opts.secret !== null) {
|
|
274
|
-
const nowMs = deps.now();
|
|
275
|
-
const signature = signForForward(body, opts.secret, nowMs);
|
|
276
|
-
/*
|
|
277
|
-
* The self-check. `verifyChatlySignature` is the code a customer runs, so
|
|
278
|
-
* if it disagrees with the signer four lines up, the two have drifted on
|
|
279
|
-
* the construction or on the timestamp unit — and forwarding anyway would
|
|
280
|
-
* teach the developer that their correct handler is broken.
|
|
281
|
-
*/
|
|
282
|
-
const check = verifyChatlySignature({
|
|
283
|
-
surface: 'event_webhook',
|
|
284
|
-
body,
|
|
285
|
-
headers: { 'x-livechat-signature': signature },
|
|
286
|
-
secret: opts.secret,
|
|
287
|
-
nowMs,
|
|
288
|
-
});
|
|
289
|
-
if (!check.ok) {
|
|
290
|
-
deps.err(`refusing to forward ${envelope.id}: the signature this CLI minted does not verify ` +
|
|
291
|
-
`(${check.reason}: ${check.message}). This is a bug in chatly listen, not in your ` +
|
|
292
|
-
'handler — please report it.\n');
|
|
293
|
-
return false;
|
|
294
|
-
}
|
|
295
|
-
headers['x-livechat-signature'] = signature;
|
|
296
|
-
headers['x-livechat-timestamp'] = signature.slice('t='.length, signature.indexOf(','));
|
|
297
|
-
}
|
|
298
|
-
try {
|
|
299
|
-
const res = await deps.fetchFn(opts.forwardTo, {
|
|
300
|
-
method: 'POST',
|
|
301
|
-
headers,
|
|
302
|
-
body,
|
|
303
|
-
signal: deps.signal,
|
|
304
|
-
});
|
|
305
|
-
if (!res.ok) {
|
|
306
|
-
deps.err(` ↳ ${opts.forwardTo} answered ${String(res.status)}. ` +
|
|
307
|
-
(res.status === 401 || res.status === 403
|
|
308
|
-
? 'That is usually signature verification — check --secret matches the endpoint.\n'
|
|
309
|
-
: '\n'));
|
|
310
|
-
return false;
|
|
311
|
-
}
|
|
312
|
-
deps.out(` ↳ ${String(res.status)} from ${opts.forwardTo}`);
|
|
313
|
-
return true;
|
|
314
|
-
}
|
|
315
|
-
catch (err) {
|
|
316
|
-
const reason = err instanceof Error ? err.message : String(err);
|
|
317
|
-
deps.err(` ↳ ${opts.forwardTo} unreachable: ${reason}. Is your server running on that port?\n`);
|
|
318
|
-
return false;
|
|
319
|
-
}
|
|
320
|
-
}
|
|
321
171
|
/**
|
|
322
172
|
* The tail loop, abortable, with the process boundary left to the caller.
|
|
323
173
|
*
|
|
@@ -414,7 +264,16 @@ export async function tail(chatly, opts, deps) {
|
|
|
414
264
|
(row.error === null ? '' : ` (${row.error})`));
|
|
415
265
|
}
|
|
416
266
|
if (opts.forwardTo !== null) {
|
|
417
|
-
|
|
267
|
+
const sent = await forward(opts, deps, {
|
|
268
|
+
id: row.id,
|
|
269
|
+
body: JSON.stringify(envelope),
|
|
270
|
+
headers: {
|
|
271
|
+
'x-livechat-event': envelope.type,
|
|
272
|
+
'x-livechat-delivery': envelope.id,
|
|
273
|
+
},
|
|
274
|
+
plan: WEBHOOK_SIGN_PLAN,
|
|
275
|
+
});
|
|
276
|
+
if (sent) {
|
|
418
277
|
forwarded += 1;
|
|
419
278
|
}
|
|
420
279
|
else {
|
|
@@ -429,24 +288,6 @@ export async function tail(chatly, opts, deps) {
|
|
|
429
288
|
}
|
|
430
289
|
return { seen: seenCount, forwarded, refused, polls };
|
|
431
290
|
}
|
|
432
|
-
/** An abortable sleep, so Ctrl-C does not wait out the poll interval. */
|
|
433
|
-
function sleepUntilAborted(ms, signal) {
|
|
434
|
-
return new Promise((resolve) => {
|
|
435
|
-
if (signal.aborted) {
|
|
436
|
-
resolve();
|
|
437
|
-
return;
|
|
438
|
-
}
|
|
439
|
-
const timer = setTimeout(() => {
|
|
440
|
-
signal.removeEventListener('abort', onAbort);
|
|
441
|
-
resolve();
|
|
442
|
-
}, ms);
|
|
443
|
-
function onAbort() {
|
|
444
|
-
clearTimeout(timer);
|
|
445
|
-
resolve();
|
|
446
|
-
}
|
|
447
|
-
signal.addEventListener('abort', onAbort, { once: true });
|
|
448
|
-
});
|
|
449
|
-
}
|
|
450
291
|
/**
|
|
451
292
|
* The command entry point.
|
|
452
293
|
*
|
|
@@ -455,7 +296,21 @@ function sleepUntilAborted(ms, signal) {
|
|
|
455
296
|
* purpose did not fail.
|
|
456
297
|
*/
|
|
457
298
|
export async function listen(chatly, args) {
|
|
458
|
-
const
|
|
299
|
+
const relayMode = bool(args.flags, 'relay');
|
|
300
|
+
if (!relayMode) {
|
|
301
|
+
/*
|
|
302
|
+
* `--tool` on a ledger tail would be silently ignored, and the developer
|
|
303
|
+
* would wait for a tool call that the ledger can never contain.
|
|
304
|
+
*/
|
|
305
|
+
const stray = relayOnlyFlagWithoutRelay(args);
|
|
306
|
+
if (stray !== null) {
|
|
307
|
+
throw new Error(`--${stray} selects a target for --relay, and no ledger records those calls. Did you ` +
|
|
308
|
+
`mean:\n chatly listen --relay --${stray} <id> --forward-to http://localhost:3000`);
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
// Parse BEFORE installing signal handlers, so a refusal leaves none behind.
|
|
312
|
+
const relayOpts = relayMode ? parseRelayOptions(args) : null;
|
|
313
|
+
const opts = relayMode ? null : parseListenOptions(args);
|
|
459
314
|
const controller = new AbortController();
|
|
460
315
|
const stop = () => {
|
|
461
316
|
controller.abort();
|
|
@@ -475,7 +330,17 @@ export async function listen(chatly, args) {
|
|
|
475
330
|
},
|
|
476
331
|
};
|
|
477
332
|
try {
|
|
478
|
-
|
|
333
|
+
if (relayOpts !== null) {
|
|
334
|
+
const r = await relay(chatly, relayOpts, deps);
|
|
335
|
+
process.stdout.write(`\nDetached (${r.endReason}). ${String(r.frames)} call(s) relayed, ` +
|
|
336
|
+
`${String(r.answered)} answered by your handler, ${String(r.failed)} not.\n`);
|
|
337
|
+
// The server ending a relay the developer did not ask to end is a failure.
|
|
338
|
+
return r.endReason === 'interrupted' || r.endReason === 'idle' ? 0 : 1;
|
|
339
|
+
}
|
|
340
|
+
if (opts === null) {
|
|
341
|
+
throw new Error('unreachable: neither relay nor ledger options were parsed');
|
|
342
|
+
}
|
|
343
|
+
const summary = opts.botId === null ? await tail(chatly, opts, deps) : await tailBot(chatly, opts, deps);
|
|
479
344
|
process.stdout.write(`\nStopped. ${String(summary.seen)} event(s) seen` +
|
|
480
345
|
(opts.forwardTo === null
|
|
481
346
|
? '.\n'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listen.js","sourceRoot":"","sources":["../../src/commands/listen.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"listen.js","sourceRoot":"","sources":["../../src/commands/listen.ts"],"names":[],"mappings":"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"}
|
package/dist/help.d.ts
CHANGED
|
@@ -22,5 +22,5 @@
|
|
|
22
22
|
* The convention the spec relies on: a command line starts with exactly two
|
|
23
23
|
* spaces and its first word is the command group.
|
|
24
24
|
*/
|
|
25
|
-
export declare const HELP = "chatly \u2014 the Chatly command line\n\nUSAGE\n chatly <command> [subcommand] [flags]\n\nAUTH\n login Store an API key in ~/.config/chatly/config.json (0600)\n logout Remove the stored key\n whoami Which workspace this key belongs to, and its scopes\n\nCONVERSATIONS\n conversations list Open conversations, newest first\n conversations get <id> One conversation\n conversations messages <id> The thread\n conversations send <id> <body>\n Reply as the key's machine identity\n conversations unattended Open with no agent reply yet\n conversations mood <id> Sentiment over the thread\n conversations return-to-bot <id> <bot-id>\n Give an open thread back to an assistant\n\nCONTACTS\n contacts list People in this workspace\n contacts get <id>\n contacts upsert --email --name --external-id --phone\n contacts tag <id> <tag> Add a tag\n contacts journey <id> Timeline: conversations, events, tickets\n contacts cards <id> Customer-card data for this person\n\nTICKETS\n tickets list --status --queue\n tickets get <id>\n tickets comments <id>\n tickets queues\n tickets lineage <id> Merge and split history\n tickets time <id> Time logged\n tickets status-history <id>\n\nKNOWLEDGE + SEARCH\n search <query> Across contacts, conversations, messages, tickets, KB\n kb articles Help-centre articles\n kb article <slug>\n kb collections\n\nEVENTS\n events track <contact-id> <name>\n Fire a CDP event. --prop key=value, repeatable\n events list --contact-id\n\nBOTS + EXTERNAL AGENTS\n bots list | get <id>\n bots create --body. type:\"external\" answers with a secret, ONCE\n bots update <id> --body\n bots update-external <id> --body. webhookUrl, timeoutSeconds, fallbackMessage\n bots rotate-secret <id> New signing secret, shown once.
|
|
25
|
+
export declare const HELP = "chatly \u2014 the Chatly command line\n\nUSAGE\n chatly <command> [subcommand] [flags]\n\nAUTH\n login Store an API key in ~/.config/chatly/config.json (0600)\n logout Remove the stored key\n whoami Which workspace this key belongs to, and its scopes\n\nCONVERSATIONS\n conversations list Open conversations, newest first\n conversations get <id> One conversation\n conversations messages <id> The thread\n conversations send <id> <body>\n Reply as the key's machine identity\n conversations unattended Open with no agent reply yet\n conversations mood <id> Sentiment over the thread\n conversations return-to-bot <id> <bot-id>\n Give an open thread back to an assistant\n\nCONTACTS\n contacts list People in this workspace\n contacts get <id>\n contacts upsert --email --name --external-id --phone\n contacts tag <id> <tag> Add a tag\n contacts journey <id> Timeline: conversations, events, tickets\n contacts cards <id> Customer-card data for this person\n\nTICKETS\n tickets list --status --queue\n tickets get <id>\n tickets comments <id>\n tickets queues\n tickets lineage <id> Merge and split history\n tickets time <id> Time logged\n tickets status-history <id>\n\nKNOWLEDGE + SEARCH\n search <query> Across contacts, conversations, messages, tickets, KB\n kb articles Help-centre articles\n kb article <slug>\n kb collections\n\nEVENTS\n events track <contact-id> <name>\n Fire a CDP event. --prop key=value, repeatable\n events list --contact-id\n\nBOTS + EXTERNAL AGENTS\n bots list | get <id>\n bots create --body. type:\"external\" answers with a secret, ONCE\n bots update <id> --body\n bots update-external <id> --body. webhookUrl, timeoutSeconds, fallbackMessage\n bots rotate-secret <id> New signing secret, shown once. Hard cut, or\n --activate-at <ISO instant> (\u2264168h) keeps the old\n one signing until then\n bots deliveries <id> The push ledger. --status pending|delivered|failed|dead\n bots delivery <id> <delivery-id>\n One delivery, with the exact signed payload\n bots redeliver <id> <delivery-id>\n Queue the recorded payload again, from attempt 0\n bots test-delivery <id> Sign and POST a rehearsal payload; prints the response\n\nROUTING + AUTOMATION\n bot-routes list | fields | create | update <id> | delete <id>\n bot-routes resolve Dry-run the table. --body with a hypothetical visitor\n triggers list | get <id> | upsert | delete <id>\n brands list | get <id> | create | update <id> | delete <id>\n macros list | get <id> | create | update <id> | delete <id>\n email-templates templates | get <kind> | set <kind> | reset <kind>\n knowledge-gaps list | triage <id>\n\nINTEGRATIONS\n webhooks deliveries --status\n webhooks delivery <id>\n webhooks redeliver <id>\n webhooks endpoints Subscriptions, not traffic\n webhooks events The subscribable event catalogue\n webhooks schema-versions\n webhooks create --url --event (repeatable). Answers with whsec_, once\n webhooks pin <id> <version>\n customer-cards list | create | update <id> | delete <id>\n customer-cards rotate-secret <id>\n Update your endpoint BEFORE calling this\n docs-sources list | providers | discover | create | update <id> | delete <id>\n docs-sources sync <id> --full re-reads every page\n docs-sources subscribe <id> A refusal is a success: read the response\n channels list | get <id> | adapters | create | update <id>\n channels rotate-secret <id>\n\nDEVELOPING AGAINST WEBHOOKS AND AGENTS\n listen Tail this workspace's webhook deliveries and POST\n each one to a local URL. Registers nothing\n --forward-to <url> where to POST (omit to print only)\n --secret <whsec_\u2026> sign the forwarded request\n --endpoint <id> one subscription's traffic only\n --event <name> repeatable; filters client-side\n --status <s> pending | delivered | failed | dead\n --replay <n> forward the n newest rows first\n --interval <seconds> poll interval, default 2\n listen --bot <id> Tail one external agent's push deliveries instead,\n the same ledger as 'bots deliveries'. Same flags, except:\n --secret <chsec_\u2026> the AGENT's secret, not whsec_\n --event <kind> message | transfer (agent.message too)\n Forwards the payload itself, with the five\n x-chatly-* headers a real delivery carries\n listen --relay Receive LIVE tool calls, card fetches and canvas steps\n on localhost and answer them. Takes PRODUCTION traffic\n for the ids named, so they are required:\n --tool <id> | --card <id> | --canvas <channelId>\n --forward-to <url> required; each call's path is appended\n --secret <s> or <id>=<s>, repeatable; re-signs\n Detaches after 10 minutes idle, or on Ctrl-C. The\n dashboard shows a banner for as long as it is attached\n\nWORKSPACE AS CODE\n plan Diff chatly.json against the live workspace. Reads only\n apply Make the plan's changes. Never deletes unless told\n --file <path> the document (- for stdin). Default: ./chatly.json\n --prune also delete what the document omits\n --write-only also send fields that cannot be read back\n --exit-code plan only: exit 2 when there is drift\n\nAI\n ai providers | quota\n ai add-provider BYOK. --body\n ai test-provider <key>\n ai tools | create-tool | update-tool <id> | delete-tool <id>\n ai tone | set-tone | generate-tone <sample>\n\nREPORTS\n reports overview --days\n reports agents Means, not percentiles\n reports conversations-by-day\n reports sources | response-times | voice\n reports attribution <dim> One of ten dimensions; an unknown one is refused\n reports cohorts --weeks, NOT --days\n reports themes --date. A daily snapshot; there is no regenerate\n reports theme-conversations <theme-id>\n reports teams | labels | sla\n --from --to --days --group-by\n\nBILLING\n billing summary | plans | invoices\n billing usage <event-type> One meter over a window. --from --to\n billing usage-daily <event-type>\n Dense: one row per UTC day, zeros included\n billing usage-monthly --month\n\nWORKSPACE\n workspace settings\n workspace labels | inboxes | skills\n workspace team-members <team-id>\n workspace key-scopes What a key may be granted\n\nRAW\n api <METHOD> <path> Any route, with auth, idempotency and retries\n chatly api GET /v1/feature-flags\n chatly api POST /v1/macros --body '{\"name\":\"Refund\"}'\n\nGLOBAL FLAGS\n --json Raw API response instead of a table\n --all Follow pagination to the end (list commands)\n --limit <n> Page size\n --cursor <c> Start from a cursor\n --key <ck_\u2026> Override the stored key for this call\n --api-url <url> Point at another Chatly environment\n --help, --version\n\nDocs: https://chatlychat.com/docs/sdk-cli\n";
|
|
26
26
|
//# sourceMappingURL=help.d.ts.map
|
package/dist/help.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,IAAI,ooQA2KhB,CAAC"}
|
package/dist/help.js
CHANGED
|
@@ -76,7 +76,9 @@ BOTS + EXTERNAL AGENTS
|
|
|
76
76
|
bots create --body. type:"external" answers with a secret, ONCE
|
|
77
77
|
bots update <id> --body
|
|
78
78
|
bots update-external <id> --body. webhookUrl, timeoutSeconds, fallbackMessage
|
|
79
|
-
bots rotate-secret <id> New signing secret, shown once.
|
|
79
|
+
bots rotate-secret <id> New signing secret, shown once. Hard cut, or
|
|
80
|
+
--activate-at <ISO instant> (≤168h) keeps the old
|
|
81
|
+
one signing until then
|
|
80
82
|
bots deliveries <id> The push ledger. --status pending|delivered|failed|dead
|
|
81
83
|
bots delivery <id> <delivery-id>
|
|
82
84
|
One delivery, with the exact signed payload
|
|
@@ -111,16 +113,30 @@ INTEGRATIONS
|
|
|
111
113
|
channels list | get <id> | adapters | create | update <id>
|
|
112
114
|
channels rotate-secret <id>
|
|
113
115
|
|
|
114
|
-
DEVELOPING AGAINST WEBHOOKS
|
|
116
|
+
DEVELOPING AGAINST WEBHOOKS AND AGENTS
|
|
115
117
|
listen Tail this workspace's webhook deliveries and POST
|
|
116
118
|
each one to a local URL. Registers nothing
|
|
117
119
|
--forward-to <url> where to POST (omit to print only)
|
|
118
120
|
--secret <whsec_…> sign the forwarded request
|
|
119
121
|
--endpoint <id> one subscription's traffic only
|
|
120
122
|
--event <name> repeatable; filters client-side
|
|
121
|
-
--status <s>
|
|
123
|
+
--status <s> pending | delivered | failed | dead
|
|
122
124
|
--replay <n> forward the n newest rows first
|
|
123
125
|
--interval <seconds> poll interval, default 2
|
|
126
|
+
listen --bot <id> Tail one external agent's push deliveries instead,
|
|
127
|
+
the same ledger as 'bots deliveries'. Same flags, except:
|
|
128
|
+
--secret <chsec_…> the AGENT's secret, not whsec_
|
|
129
|
+
--event <kind> message | transfer (agent.message too)
|
|
130
|
+
Forwards the payload itself, with the five
|
|
131
|
+
x-chatly-* headers a real delivery carries
|
|
132
|
+
listen --relay Receive LIVE tool calls, card fetches and canvas steps
|
|
133
|
+
on localhost and answer them. Takes PRODUCTION traffic
|
|
134
|
+
for the ids named, so they are required:
|
|
135
|
+
--tool <id> | --card <id> | --canvas <channelId>
|
|
136
|
+
--forward-to <url> required; each call's path is appended
|
|
137
|
+
--secret <s> or <id>=<s>, repeatable; re-signs
|
|
138
|
+
Detaches after 10 minutes idle, or on Ctrl-C. The
|
|
139
|
+
dashboard shows a banner for as long as it is attached
|
|
124
140
|
|
|
125
141
|
WORKSPACE AS CODE
|
|
126
142
|
plan Diff chatly.json against the live workspace. Reads only
|
package/dist/help.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2KnB,CAAC"}
|
package/dist/run.js
CHANGED
|
@@ -27,7 +27,7 @@ import { HELP } from './help.js';
|
|
|
27
27
|
* drifts — it said `0.1.0` while the published package was `0.1.2` — so
|
|
28
28
|
* `cli.spec.ts` asserts the two agree and fails if they do not.
|
|
29
29
|
*/
|
|
30
|
-
const VERSION = '0.
|
|
30
|
+
const VERSION = '0.3.0';
|
|
31
31
|
/** Commands that need no credential. Everything else resolves a key first. */
|
|
32
32
|
const UNAUTHENTICATED = new Set(['login', 'logout', 'help', 'version']);
|
|
33
33
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@chatlychat/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "The Chatly command line — inspect conversations, send replies, read reports and call any API route from a terminal.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://github.com/chatlychat/chatly-cli#readme",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"LICENSE"
|
|
31
31
|
],
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@chatlychat/sdk-node": "0.
|
|
33
|
+
"@chatlychat/sdk-node": "0.6.0"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"@types/node": "20.14.10",
|