@cogenta/channels 0.2.0 → 0.3.1
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/chat/bridge.d.ts +70 -0
- package/dist/chat/bridge.d.ts.map +1 -0
- package/dist/chat/bridge.js +68 -0
- package/dist/chat/bridge.js.map +1 -0
- package/dist/inbound/router.d.ts +23 -0
- package/dist/inbound/router.d.ts.map +1 -1
- package/dist/inbound/router.js +15 -0
- package/dist/inbound/router.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/preferences/types.d.ts +1 -1
- package/dist/preferences/types.d.ts.map +1 -1
- package/dist/preferences/types.js +3 -0
- package/dist/preferences/types.js.map +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import type { ChannelIdentity, NotificationChannelMessage } from '../adapter.js';
|
|
2
|
+
import type { ChatHandler } from '../inbound/router.js';
|
|
3
|
+
/**
|
|
4
|
+
* L22 task 2 — "conversation avec le superagent (ou un sous-agent nommé
|
|
5
|
+
* explicitement) depuis un canal lié." The one rule this whole module exists
|
|
6
|
+
* to keep, worded in the lot doc as "jamais un accès qui dépasse les
|
|
7
|
+
* permissions du compte lié" : `@cogenta/agents`' `AgentRunner.run()` always
|
|
8
|
+
* executes tool calls as a fixed `actor: {roles: ['admin', 'agent']}`
|
|
9
|
+
* (`orchestrator.ts`'s `actorFor` — every run, whoever triggered it, gets
|
|
10
|
+
* the same tool-level access; the *agent's own* declared `tools` list and
|
|
11
|
+
* autonomy level are what actually bound a run, not the caller). Because
|
|
12
|
+
* that is the one access boundary that exists today, the only honest way to
|
|
13
|
+
* keep a channel from ever granting *more* than the linked account's own
|
|
14
|
+
* standing (`## La règle de sécurité centrale`) is to require the identity
|
|
15
|
+
* hold, at the Cogenta-account level, the same role `/api/agents/:name/run`
|
|
16
|
+
* itself already requires — `admin` (`agents-router.ts`'s `requireAdmin`).
|
|
17
|
+
* A linked non-admin account is refused before the runner is ever called,
|
|
18
|
+
* exactly like it would be refused calling the HTTP route directly.
|
|
19
|
+
*
|
|
20
|
+
* Structural, and deliberately the *simple* three-argument shape
|
|
21
|
+
* `@cogenta/api`'s own `AgentRunnerLike` (`agents-router.ts`) declares —
|
|
22
|
+
* never `@cogenta/agents`' raw `AgentRunner['run'](name, {instruction, …})`
|
|
23
|
+
* options-object form. Every caller in L22 task 2's surface (this bridge,
|
|
24
|
+
* the admin's floating chat widget, `POST /api/agents/:name/run` itself)
|
|
25
|
+
* therefore shares one request shape, not two.
|
|
26
|
+
*/
|
|
27
|
+
export interface AgentRunnerLike {
|
|
28
|
+
run(name: string, instruction: string, trigger?: string): Promise<{
|
|
29
|
+
readonly finalText: string | null;
|
|
30
|
+
}>;
|
|
31
|
+
}
|
|
32
|
+
/** Structural mirror of `@cogenta/agents`' `AgentRegistryLike.get`, narrowed to the one thing this bridge needs: does a name exist at all, so an unknown `@mention` gets a clear reply instead of `AGENT_UNKNOWN` bubbling out of the runner. */
|
|
33
|
+
export interface AgentLookupLike {
|
|
34
|
+
has(name: string): boolean;
|
|
35
|
+
}
|
|
36
|
+
export interface AgentChatBridgeOptions {
|
|
37
|
+
readonly runner: AgentRunnerLike;
|
|
38
|
+
readonly agents: AgentLookupLike;
|
|
39
|
+
/** The agent a plain message (no `@Name:` prefix) talks to — normally `SUPERAGENT_NAME` from `@cogenta/agents`. */
|
|
40
|
+
readonly defaultAgentName: string;
|
|
41
|
+
readonly getUserRoles: (userId: string) => Promise<readonly string[]>;
|
|
42
|
+
/** How this bridge replies — the channel of origin, since `route()` itself never sends anything (see `inbound/router.ts`'s `RouteResult`; same convention as `approvals/commands.ts`'s `reply`). */
|
|
43
|
+
readonly reply: (identity: ChannelIdentity, message: NotificationChannelMessage) => Promise<void>;
|
|
44
|
+
readonly channelName: string;
|
|
45
|
+
/** Defaults to `['admin']` — see the module doc comment for why this is not configurable to something looser without also loosening what `AgentRunner.run()` itself grants. */
|
|
46
|
+
readonly requiredRoles?: readonly string[];
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* A chat answer is conversational, potentially long and multi-line — neither
|
|
50
|
+
* fits `NotificationChannelMessage` unmodified (`buildNotification` refuses
|
|
51
|
+
* more than one line, "Une ligne" being the whole point of that level) nor
|
|
52
|
+
* `ReportChannelMessage` (needs a title and at least one key figure, which a
|
|
53
|
+
* free-text answer has neither of). Rather than stretch either type to a
|
|
54
|
+
* shape its own validation says it is not, this flattens to one line and
|
|
55
|
+
* truncates to the same screen budget `buildReport` enforces elsewhere
|
|
56
|
+
* (`REPORT_SCREEN_BUDGET_CHARS`) — the closest honest fit among the three
|
|
57
|
+
* existing levels, not a fourth level invented for this one call site.
|
|
58
|
+
*/
|
|
59
|
+
export declare function formatChatReply(text: string): NotificationChannelMessage;
|
|
60
|
+
/**
|
|
61
|
+
* Builds the `chat` fallback `createCommandRouter` accepts — the same
|
|
62
|
+
* `{requiredRoles, handler}` shape `CommandRouterOptions.chat` declares, so
|
|
63
|
+
* wiring this in is `createCommandRouter({ getUserRoles, chat: createAgentChatBridge(...) })`
|
|
64
|
+
* and nothing more.
|
|
65
|
+
*/
|
|
66
|
+
export declare function createAgentChatBridge(options: AgentChatBridgeOptions): {
|
|
67
|
+
readonly requiredRoles: readonly string[];
|
|
68
|
+
readonly handler: ChatHandler;
|
|
69
|
+
};
|
|
70
|
+
//# sourceMappingURL=bridge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../src/chat/bridge.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAA;AAGhF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAEvD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,WAAW,eAAe;IAC9B,GAAG,CACD,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAA;CAClD;AAED,iPAAiP;AACjP,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;CAC3B;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAA;IAChC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAA;IAChC,mHAAmH;IACnH,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;IACjC,QAAQ,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAAA;IACrE,oMAAoM;IACpM,QAAQ,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,0BAA0B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACjG,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,+KAA+K;IAC/K,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAC3C;AAoBD;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,0BAA0B,CAQxE;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,sBAAsB,GAAG;IACtE,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAA;IACzC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAA;CAC9B,CA+CA"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { CogentaError } from '@cogenta/core';
|
|
2
|
+
import { REPORT_SCREEN_BUDGET_CHARS } from '../formats/budget.js';
|
|
3
|
+
import { buildNotification } from '../formats/notification.js';
|
|
4
|
+
const MENTION = /^@([^:]+):\s*([\s\S]*)$/u;
|
|
5
|
+
function resolveTarget(text, defaultAgentName, agents) {
|
|
6
|
+
const match = MENTION.exec(text.trim());
|
|
7
|
+
if (match === null)
|
|
8
|
+
return { agentName: defaultAgentName, message: text.trim() };
|
|
9
|
+
const [, rawName, rawRest] = match;
|
|
10
|
+
const name = (rawName ?? '').trim();
|
|
11
|
+
const rest = (rawRest ?? '').trim();
|
|
12
|
+
if (name.length === 0 || !agents.has(name)) {
|
|
13
|
+
return { agentName: defaultAgentName, message: rest, unknownMention: name };
|
|
14
|
+
}
|
|
15
|
+
return { agentName: name, message: rest };
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* A chat answer is conversational, potentially long and multi-line — neither
|
|
19
|
+
* fits `NotificationChannelMessage` unmodified (`buildNotification` refuses
|
|
20
|
+
* more than one line, "Une ligne" being the whole point of that level) nor
|
|
21
|
+
* `ReportChannelMessage` (needs a title and at least one key figure, which a
|
|
22
|
+
* free-text answer has neither of). Rather than stretch either type to a
|
|
23
|
+
* shape its own validation says it is not, this flattens to one line and
|
|
24
|
+
* truncates to the same screen budget `buildReport` enforces elsewhere
|
|
25
|
+
* (`REPORT_SCREEN_BUDGET_CHARS`) — the closest honest fit among the three
|
|
26
|
+
* existing levels, not a fourth level invented for this one call site.
|
|
27
|
+
*/
|
|
28
|
+
export function formatChatReply(text) {
|
|
29
|
+
const flattened = text.replace(/\s*\n+\s*/gu, ' ').trim();
|
|
30
|
+
const body = flattened.length === 0 ? '(no response)' : flattened;
|
|
31
|
+
const truncated = body.length > REPORT_SCREEN_BUDGET_CHARS
|
|
32
|
+
? `${body.slice(0, REPORT_SCREEN_BUDGET_CHARS - 1).trimEnd()}…`
|
|
33
|
+
: body;
|
|
34
|
+
return buildNotification(truncated);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Builds the `chat` fallback `createCommandRouter` accepts — the same
|
|
38
|
+
* `{requiredRoles, handler}` shape `CommandRouterOptions.chat` declares, so
|
|
39
|
+
* wiring this in is `createCommandRouter({ getUserRoles, chat: createAgentChatBridge(...) })`
|
|
40
|
+
* and nothing more.
|
|
41
|
+
*/
|
|
42
|
+
export function createAgentChatBridge(options) {
|
|
43
|
+
const requiredRoles = options.requiredRoles ?? ['admin'];
|
|
44
|
+
return {
|
|
45
|
+
requiredRoles,
|
|
46
|
+
async handler({ identity, text }) {
|
|
47
|
+
const { agentName, message, unknownMention } = resolveTarget(text, options.defaultAgentName, options.agents);
|
|
48
|
+
if (unknownMention !== undefined) {
|
|
49
|
+
await options.reply(identity, formatChatReply(`Unknown agent "${unknownMention}" — talking to ${options.defaultAgentName} instead. Use "@Agent Name: message" with a name from the admin's Agents screen.`));
|
|
50
|
+
}
|
|
51
|
+
if (message.length === 0) {
|
|
52
|
+
await options.reply(identity, formatChatReply('Send a message after the agent name, e.g. "hello" or "@Agent Name: hello".'));
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
try {
|
|
56
|
+
const summary = await options.runner.run(agentName, message, `channel:${options.channelName}`);
|
|
57
|
+
await options.reply(identity, formatChatReply(summary.finalText ?? '(no response)'));
|
|
58
|
+
}
|
|
59
|
+
catch (error) {
|
|
60
|
+
const errorText = error instanceof CogentaError
|
|
61
|
+
? error.message
|
|
62
|
+
: 'The agent could not complete this request.';
|
|
63
|
+
await options.reply(identity, formatChatReply(errorText));
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=bridge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../src/chat/bridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAE5C,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAA;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAqD9D,MAAM,OAAO,GAAG,0BAA0B,CAAA;AAE1C,SAAS,aAAa,CACpB,IAAY,EACZ,gBAAwB,EACxB,MAAuB;IAEvB,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;IACvC,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAA;IAChF,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,KAAK,CAAA;IAClC,MAAM,IAAI,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;IACnC,MAAM,IAAI,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;IACnC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3C,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,CAAA;IAC7E,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;AAC3C,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;IACzD,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAA;IACjE,MAAM,SAAS,GACb,IAAI,CAAC,MAAM,GAAG,0BAA0B;QACtC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,0BAA0B,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG;QAC/D,CAAC,CAAC,IAAI,CAAA;IACV,OAAO,iBAAiB,CAAC,SAAS,CAAC,CAAA;AACrC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAA+B;IAInE,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,CAAC,OAAO,CAAC,CAAA;IAExD,OAAO;QACL,aAAa;QACb,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;YAC9B,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,aAAa,CAC1D,IAAI,EACJ,OAAO,CAAC,gBAAgB,EACxB,OAAO,CAAC,MAAM,CACf,CAAA;YAED,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;gBACjC,MAAM,OAAO,CAAC,KAAK,CACjB,QAAQ,EACR,eAAe,CACb,kBAAkB,cAAc,kBAAkB,OAAO,CAAC,gBAAgB,kFAAkF,CAC7J,CACF,CAAA;YACH,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,MAAM,OAAO,CAAC,KAAK,CACjB,QAAQ,EACR,eAAe,CACb,4EAA4E,CAC7E,CACF,CAAA;gBACD,OAAM;YACR,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,CACtC,SAAS,EACT,OAAO,EACP,WAAW,OAAO,CAAC,WAAW,EAAE,CACjC,CAAA;gBACD,MAAM,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,eAAe,CAAC,OAAO,CAAC,SAAS,IAAI,eAAe,CAAC,CAAC,CAAA;YACtF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,SAAS,GACb,KAAK,YAAY,YAAY;oBAC3B,CAAC,CAAC,KAAK,CAAC,OAAO;oBACf,CAAC,CAAC,4CAA4C,CAAA;gBAClD,MAAM,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC,CAAA;YAC3D,CAAC;QACH,CAAC;KACF,CAAA;AACH,CAAC"}
|
package/dist/inbound/router.d.ts
CHANGED
|
@@ -53,8 +53,31 @@ export interface CommandRouter {
|
|
|
53
53
|
register(command: RegisteredCommand): void;
|
|
54
54
|
route(text: string, identity: ChannelIdentity): Promise<RouteResult>;
|
|
55
55
|
}
|
|
56
|
+
/**
|
|
57
|
+
* A chat message's handler receives the raw, un-reparsed `text` in addition
|
|
58
|
+
* to everything a structured command's handler gets — free conversation has
|
|
59
|
+
* no `name`/`args` split to preserve, unlike `/approve 3f2c`.
|
|
60
|
+
*/
|
|
61
|
+
export type ChatHandler = (input: CommandHandlerInput & {
|
|
62
|
+
readonly text: string;
|
|
63
|
+
}) => Promise<void> | void;
|
|
64
|
+
/**
|
|
65
|
+
* L22 task 2's plug-in point for "conversation libre avec un agent depuis le
|
|
66
|
+
* canal" — the exact capability L6's own header comment named as explicitly
|
|
67
|
+
* out of scope for `CommandRouter` (see the top of this file). Rather than
|
|
68
|
+
* bolting free text onto the structured-command mechanism (which would make
|
|
69
|
+
* every first word a de-facto command name), a message that does not match
|
|
70
|
+
* any *registered* command name falls through to this handler instead of
|
|
71
|
+
* `{kind: 'unrecognized'}` — same authorization gate as a named command,
|
|
72
|
+
* just evaluated against `requiredRoles` given here instead of a
|
|
73
|
+
* per-command list, since there is no command name to look one up by.
|
|
74
|
+
*/
|
|
56
75
|
export interface CommandRouterOptions {
|
|
57
76
|
readonly getUserRoles: (userId: string) => Promise<readonly string[]>;
|
|
77
|
+
readonly chat?: {
|
|
78
|
+
readonly requiredRoles: readonly string[];
|
|
79
|
+
readonly handler: ChatHandler;
|
|
80
|
+
};
|
|
58
81
|
}
|
|
59
82
|
/**
|
|
60
83
|
* The routing mechanism task 3 exists to build: parse → look up → the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/inbound/router.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAGpD;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAA;CACjC;AAED,+EAA+E;AAC/E,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAQ/D;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAA;IAChC,8EAA8E;IAC9E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAA;CACnC;AAED,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,mBAAmB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;AAEjF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,kHAAkH;IAClH,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAA;IACzC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAA;CACjC;AAED;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GACnB;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAA;CAAE,GAC1D;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACnF;IAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAC3F;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAA;CAAE,GACzD;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AAEtF,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAA;IAC1C,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;CACrE;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/inbound/router.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAGpD;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAA;CACjC;AAED,+EAA+E;AAC/E,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAQ/D;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAA;IAChC,8EAA8E;IAC9E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAA;CACnC;AAED,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,mBAAmB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;AAEjF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,kHAAkH;IAClH,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAA;IACzC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAA;CACjC;AAED;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GACnB;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAA;CAAE,GAC1D;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACnF;IAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAC3F;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAA;CAAE,GACzD;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AAEtF,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAA;IAC1C,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;CACrE;AAED;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,CACxB,KAAK,EAAE,mBAAmB,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,KACnD,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;AAEzB;;;;;;;;;;GAUG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAAA;IACrE,QAAQ,CAAC,IAAI,CAAC,EAAE;QACd,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAA;QACzC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAA;KAC9B,CAAA;CACF;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa,CAwEhF"}
|
package/dist/inbound/router.js
CHANGED
|
@@ -47,6 +47,21 @@ export function createCommandRouter(options) {
|
|
|
47
47
|
return { kind: 'invalid', shouldReply: false };
|
|
48
48
|
const command = commands.get(parsed.name);
|
|
49
49
|
if (command === undefined) {
|
|
50
|
+
if (options.chat !== undefined) {
|
|
51
|
+
const decision = await authorizeInboundCommand(identity, options.chat.requiredRoles, options.getUserRoles);
|
|
52
|
+
if (!decision.ok) {
|
|
53
|
+
if (decision.reason === 'unlinked')
|
|
54
|
+
return { kind: 'unlinked', shouldReply: false };
|
|
55
|
+
return { kind: 'forbidden', shouldReply: true, userId: decision.userId };
|
|
56
|
+
}
|
|
57
|
+
await options.chat.handler({
|
|
58
|
+
args: parsed.args,
|
|
59
|
+
userId: decision.userId,
|
|
60
|
+
identity,
|
|
61
|
+
text,
|
|
62
|
+
});
|
|
63
|
+
return { kind: 'handled', shouldReply: false, userId: decision.userId };
|
|
64
|
+
}
|
|
50
65
|
return { kind: 'unrecognized', shouldReply: true, commandName: parsed.name };
|
|
51
66
|
}
|
|
52
67
|
const decision = await authorizeInboundCommand(identity, command.requiredRoles, options.getUserRoles);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/inbound/router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAE5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAA;AAaxD,+EAA+E;AAC/E,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;IAC3B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IACrC,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAC/C,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IACtC,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;IACjE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAClC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;AACvB,CAAC;
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/inbound/router.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -9,6 +9,8 @@ export { buildSignedApprovalLink, signApprovalLink, verifyApprovalLinkSignature,
|
|
|
9
9
|
export type { ApprovalTokenOutcome, ApprovalTokenStore, ApprovalTokenStoreOptions, GeneratedApprovalToken, } from './approvals/store.js';
|
|
10
10
|
export { createApprovalTokenStore } from './approvals/store.js';
|
|
11
11
|
export { APPROVAL_TOKEN_TTL_MS, generateApprovalToken, hashApprovalToken, normalizeApprovalToken, } from './approvals/token.js';
|
|
12
|
+
export type { AgentChatBridgeOptions, AgentRunnerLike as ChatAgentRunnerLike, } from './chat/bridge.js';
|
|
13
|
+
export { createAgentChatBridge } from './chat/bridge.js';
|
|
12
14
|
export type { BuildAlertInput } from './formats/alert.js';
|
|
13
15
|
export { buildAlert } from './formats/alert.js';
|
|
14
16
|
export { REPORT_SCREEN_BUDGET_CHARS } from './formats/budget.js';
|
|
@@ -17,7 +19,7 @@ export type { BuildReportInput } from './formats/report.js';
|
|
|
17
19
|
export { buildReport } from './formats/report.js';
|
|
18
20
|
export type { AuthorizationResult, AuthorizedResult, ForbiddenResult, UnlinkedResult, } from './inbound/authorize.js';
|
|
19
21
|
export { authorizeInboundCommand } from './inbound/authorize.js';
|
|
20
|
-
export type { CommandHandler, CommandHandlerInput, CommandRouter, CommandRouterOptions, ParsedCommand, RegisteredCommand, RouteResult, } from './inbound/router.js';
|
|
22
|
+
export type { ChatHandler, CommandHandler, CommandHandlerInput, CommandRouter, CommandRouterOptions, ParsedCommand, RegisteredCommand, RouteResult, } from './inbound/router.js';
|
|
21
23
|
export { createCommandRouter, parseCommand } from './inbound/router.js';
|
|
22
24
|
export { generateLinkCode, hashLinkCode, normalizeCode } from './linking/codes.js';
|
|
23
25
|
export type { ChannelLinkStore, GeneratedLinkCode, LinkedChannel } from './linking/store.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -4,6 +4,7 @@ export { renderApprovalMessage } from './approvals/message.js';
|
|
|
4
4
|
export { buildSignedApprovalLink, signApprovalLink, verifyApprovalLinkSignature, } from './approvals/signed-link.js';
|
|
5
5
|
export { createApprovalTokenStore } from './approvals/store.js';
|
|
6
6
|
export { APPROVAL_TOKEN_TTL_MS, generateApprovalToken, hashApprovalToken, normalizeApprovalToken, } from './approvals/token.js';
|
|
7
|
+
export { createAgentChatBridge } from './chat/bridge.js';
|
|
7
8
|
export { buildAlert } from './formats/alert.js';
|
|
8
9
|
export { REPORT_SCREEN_BUDGET_CHARS } from './formats/budget.js';
|
|
9
10
|
export { buildNotification } from './formats/notification.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAEhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAE1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,2BAA2B,GAC5B,MAAM,4BAA4B,CAAA;AAOnC,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAA;AAC/D,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ import type { ChannelSeverity } from '../adapter.js';
|
|
|
5
5
|
* about — "quels types d'événements" (lot doc) needs something a user can
|
|
6
6
|
* actually opt into, not a bare unvalidated string.
|
|
7
7
|
*/
|
|
8
|
-
export declare const CHANNEL_EVENT_TYPES: readonly ['approval-request', 'security-alert', 'seo-report', 'performance-report', 'content-report'];
|
|
8
|
+
export declare const CHANNEL_EVENT_TYPES: readonly ['approval-request', 'security-alert', 'seo-report', 'performance-report', 'content-report', 'admin-notice'];
|
|
9
9
|
export type ChannelEventType = (typeof CHANNEL_EVENT_TYPES)[number];
|
|
10
10
|
export type GroupingMode = 'immediate' | 'hourly' | 'daily';
|
|
11
11
|
/** Minutes since local midnight, `0..1439`. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/preferences/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAEpD;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,YAC9B,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,oBAAoB,EACpB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/preferences/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAEpD;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,YAC9B,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,oBAAoB,EACpB,gBAAgB,EAGhB,cAAc,CACN,CAAA;AAEV,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAA;AAEnE,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,QAAQ,GAAG,OAAO,CAAA;AAE3D,+CAA+C;AAC/C,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,UAAU,EAAE,SAAS,gBAAgB,EAAE,CAAA;IAChD,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAA;IACrC,mFAAmF;IACnF,QAAQ,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAAA;IACtC,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAA;CAChC;AAED;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,EAAE,kBAKzC,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CAInE,CAAA"}
|
|
@@ -10,6 +10,9 @@ export const CHANNEL_EVENT_TYPES = [
|
|
|
10
10
|
'seo-report',
|
|
11
11
|
'performance-report',
|
|
12
12
|
'content-report',
|
|
13
|
+
// Added by fiche 38 (`@cogenta/api`'s notice-to-channel bridge) — additive,
|
|
14
|
+
// by-the-bottom growth of an open taxonomy, not a contract change.
|
|
15
|
+
'admin-notice',
|
|
13
16
|
];
|
|
14
17
|
/**
|
|
15
18
|
* The safe default for a `(userId, channelName)` with no stored row —
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/preferences/types.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,kBAAkB;IAClB,gBAAgB;IAChB,YAAY;IACZ,oBAAoB;IACpB,gBAAgB;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/preferences/types.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,kBAAkB;IAClB,gBAAgB;IAChB,YAAY;IACZ,oBAAoB;IACpB,gBAAgB;IAChB,4EAA4E;IAC5E,mEAAmE;IACnE,cAAc;CACN,CAAA;AA0BV;;;;;GAKG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAuB;IAC7D,UAAU,EAAE,mBAAmB;IAC/B,WAAW,EAAE,MAAM;IACnB,UAAU,EAAE,IAAI;IAChB,QAAQ,EAAE,WAAW;CACtB,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAA8C;IACtE,IAAI,EAAE,CAAC;IACP,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,CAAC;CACZ,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cogenta/channels",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"description": "Channel adapter interface and registry — Telegram, Slack, Discord, email, webhooks.",
|
|
5
5
|
"license": "MPL-2.0",
|
|
6
6
|
"type": "module",
|
|
@@ -27,8 +27,8 @@
|
|
|
27
27
|
"directory": "packages/channels"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@cogenta/agents": "0.
|
|
31
|
-
"@cogenta/core": "0.
|
|
30
|
+
"@cogenta/agents": "0.4.0",
|
|
31
|
+
"@cogenta/core": "0.6.0"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
34
|
"typescript": "^7.0.2",
|