@memberjunction/conversations-runtime 5.42.0 → 5.44.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/adapters/ISessionsAdapter.d.ts +2 -2
- package/dist/agent-runner/ConversationAgentRunner.d.ts +18 -1
- package/dist/agent-runner/ConversationAgentRunner.d.ts.map +1 -1
- package/dist/agent-runner/ConversationAgentRunner.js +11 -2
- package/dist/agent-runner/ConversationAgentRunner.js.map +1 -1
- package/dist/default-agent/DefaultAgentResolver.d.ts +25 -5
- package/dist/default-agent/DefaultAgentResolver.d.ts.map +1 -1
- package/dist/default-agent/DefaultAgentResolver.js +69 -10
- package/dist/default-agent/DefaultAgentResolver.js.map +1 -1
- package/dist/mentions/MentionParser.d.ts +7 -1
- package/dist/mentions/MentionParser.d.ts.map +1 -1
- package/dist/mentions/MentionParser.js +4 -2
- package/dist/mentions/MentionParser.js.map +1 -1
- package/package.json +8 -8
|
@@ -43,7 +43,7 @@ export type SessionChannelState = 'open' | 'closed';
|
|
|
43
43
|
*
|
|
44
44
|
* **Three values, not four.** The server-side `AIAgentSession.CloseReason`
|
|
45
45
|
* column has four (`Explicit | Janitor | Shutdown | Error`), but only two are
|
|
46
|
-
* distinguishable client-side (`explicit` = user called `
|
|
46
|
+
* distinguishable client-side (`explicit` = user called `EndRealtimeSession`;
|
|
47
47
|
* `error` = teardown ran from a catch block). `'unknown'` covers any other
|
|
48
48
|
* client-observable end path. Janitor/shutdown happen out-of-process and never
|
|
49
49
|
* reach the runtime — see the module-level scope cut.
|
|
@@ -84,7 +84,7 @@ export type SessionLifecycleEvent = {
|
|
|
84
84
|
*
|
|
85
85
|
* @example Angular host bootstrap
|
|
86
86
|
* ```typescript
|
|
87
|
-
* runtime.UseSessionsAdapter(new RealtimeSessionsAdapter(
|
|
87
|
+
* runtime.UseSessionsAdapter(new RealtimeSessionsAdapter(realtimeSessionService));
|
|
88
88
|
* ```
|
|
89
89
|
*
|
|
90
90
|
* @example Multi-source adapter (future)
|
|
@@ -50,6 +50,18 @@ export interface ProcessMessageInput {
|
|
|
50
50
|
* embedders forward this through to the widget's progress UI.
|
|
51
51
|
*/
|
|
52
52
|
onProgress?: AgentExecutionProgressCallback;
|
|
53
|
+
/**
|
|
54
|
+
* Per-request Plan Mode toggle. When true (and the resolved agent's SupportsPlanMode
|
|
55
|
+
* capability is on), the root agent must present a plan for human approval before it
|
|
56
|
+
* may execute Actions/Sub-Agents. Defaults off — no behavior change unless set.
|
|
57
|
+
*/
|
|
58
|
+
planMode?: boolean;
|
|
59
|
+
/**
|
|
60
|
+
* Skill IDs the user requested via `/skill-name` mentions in the composer. Forwarded to the
|
|
61
|
+
* server, which intersects them with the agent's accepted skills AND the user's Run permission
|
|
62
|
+
* before any activate. Defaults to none.
|
|
63
|
+
*/
|
|
64
|
+
requestedSkillIDs?: string[];
|
|
53
65
|
/**
|
|
54
66
|
* Optional explicit agent ID. When set, wins over the {@link DefaultAgentResolver}
|
|
55
67
|
* chain. Mirrors the widget's `[DefaultAgentId]` input.
|
|
@@ -74,8 +86,13 @@ export declare class ConversationAgentRunner {
|
|
|
74
86
|
private readonly resolver;
|
|
75
87
|
private readonly session;
|
|
76
88
|
private readonly _isProcessing$;
|
|
89
|
+
/** Reference count of in-flight runs. This runner is a process-wide singleton that may
|
|
90
|
+
* service multiple conversations concurrently, so a plain boolean would be flipped to
|
|
91
|
+
* `false` by the first run to finish while others are still running. The counter keeps
|
|
92
|
+
* `isProcessing$` accurate as "is ANY run in flight". */
|
|
93
|
+
private _activeRunCount;
|
|
77
94
|
private _provider;
|
|
78
|
-
/** Emits `true` while
|
|
95
|
+
/** Emits `true` while one or more agent runs are in flight, `false` otherwise. */
|
|
79
96
|
readonly isProcessing$: Observable<boolean>;
|
|
80
97
|
/**
|
|
81
98
|
* @param context Runtime context — used for notifications. Read on each call
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConversationAgentRunner.d.ts","sourceRoot":"","sources":["../../src/agent-runner/ConversationAgentRunner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAmB,UAAU,EAAE,MAAM,MAAM,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAsB,MAAM,sBAAsB,CAAC;AAE7E,OAAO,EAEH,kBAAkB,EAErB,MAAM,iCAAiC,CAAC;AAKzC,OAAO,EACH,8BAA8B,EAC9B,kBAAkB,EAErB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAE3E,OAAO,EAAE,4BAA4B,EAAE,MAAM,yCAAyC,CAAC;AACvF,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAE7E;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAChC,gDAAgD;IAChD,cAAc,EAAE,MAAM,CAAC;IACvB,wEAAwE;IACxE,OAAO,EAAE,0BAA0B,CAAC;IACpC;;;;OAIG;IACH,oBAAoB,EAAE,MAAM,CAAC;IAC7B;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC5C;;;OAGG;IACH,UAAU,CAAC,EAAE,8BAA8B,CAAC;IAC5C;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED;;;;;;;GAOG;AACH,qBAAa,uBAAuB;
|
|
1
|
+
{"version":3,"file":"ConversationAgentRunner.d.ts","sourceRoot":"","sources":["../../src/agent-runner/ConversationAgentRunner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAmB,UAAU,EAAE,MAAM,MAAM,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAsB,MAAM,sBAAsB,CAAC;AAE7E,OAAO,EAEH,kBAAkB,EAErB,MAAM,iCAAiC,CAAC;AAKzC,OAAO,EACH,8BAA8B,EAC9B,kBAAkB,EAErB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAE3E,OAAO,EAAE,4BAA4B,EAAE,MAAM,yCAAyC,CAAC;AACvF,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAE7E;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAChC,gDAAgD;IAChD,cAAc,EAAE,MAAM,CAAC;IACvB,wEAAwE;IACxE,OAAO,EAAE,0BAA0B,CAAC;IACpC;;;;OAIG;IACH,oBAAoB,EAAE,MAAM,CAAC;IAC7B;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC5C;;;OAGG;IACH,UAAU,CAAC,EAAE,8BAA8B,CAAC;IAC5C;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED;;;;;;;GAOG;AACH,qBAAa,uBAAuB;IAuB5B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAExB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAxB7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAuC;IACtE;;;8DAG0D;IAC1D,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,SAAS,CAAkC;IAEnD,kFAAkF;IAClF,SAAgB,aAAa,EAAE,UAAU,CAAC,OAAO,CAAC,CAAsC;IAExF;;;;;;;;OAQG;gBAEkB,OAAO,EAAE,4BAA4B,EACtD,YAAY,EAAE,kBAAkB,EACf,QAAQ,EAAE,oBAAoB;IAKnD;;;;OAIG;IACH,IAAW,QAAQ,IAAI,iBAAiB,CAEvC;IACD,IAAW,QAAQ,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,EAGlD;IAED;;;;;;;;OAQG;IACU,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAoG3F;;;;;OAKG;YACW,YAAY;IAkB1B;;;;OAIG;YACW,yBAAyB;CAyB1C"}
|
|
@@ -43,8 +43,13 @@ export class ConversationAgentRunner {
|
|
|
43
43
|
this.context = context;
|
|
44
44
|
this.resolver = resolver;
|
|
45
45
|
this._isProcessing$ = new BehaviorSubject(false);
|
|
46
|
+
/** Reference count of in-flight runs. This runner is a process-wide singleton that may
|
|
47
|
+
* service multiple conversations concurrently, so a plain boolean would be flipped to
|
|
48
|
+
* `false` by the first run to finish while others are still running. The counter keeps
|
|
49
|
+
* `isProcessing$` accurate as "is ANY run in flight". */
|
|
50
|
+
this._activeRunCount = 0;
|
|
46
51
|
this._provider = null;
|
|
47
|
-
/** Emits `true` while
|
|
52
|
+
/** Emits `true` while one or more agent runs are in flight, `false` otherwise. */
|
|
48
53
|
this.isProcessing$ = this._isProcessing$.asObservable();
|
|
49
54
|
this.session = new AgentClientSession(toolRegistry);
|
|
50
55
|
}
|
|
@@ -74,6 +79,7 @@ export class ConversationAgentRunner {
|
|
|
74
79
|
if (!agent)
|
|
75
80
|
return null;
|
|
76
81
|
try {
|
|
82
|
+
this._activeRunCount++;
|
|
77
83
|
this._isProcessing$.next(true);
|
|
78
84
|
const currentUser = this.Provider.CurrentUser;
|
|
79
85
|
if (!currentUser) {
|
|
@@ -109,6 +115,8 @@ export class ConversationAgentRunner {
|
|
|
109
115
|
InputSchema: t.ParameterSchema,
|
|
110
116
|
})),
|
|
111
117
|
},
|
|
118
|
+
...(input.planMode ? { PlanMode: true } : {}),
|
|
119
|
+
...(input.requestedSkillIDs?.length ? { RequestedSkillIDs: input.requestedSkillIDs } : {}),
|
|
112
120
|
CreateArtifacts: true,
|
|
113
121
|
CreateNotification: true,
|
|
114
122
|
OnProgress: input.onProgress
|
|
@@ -140,7 +148,8 @@ export class ConversationAgentRunner {
|
|
|
140
148
|
return null;
|
|
141
149
|
}
|
|
142
150
|
finally {
|
|
143
|
-
this.
|
|
151
|
+
this._activeRunCount = Math.max(0, this._activeRunCount - 1);
|
|
152
|
+
this._isProcessing$.next(this._activeRunCount > 0);
|
|
144
153
|
}
|
|
145
154
|
}
|
|
146
155
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConversationAgentRunner.js","sourceRoot":"","sources":["../../src/agent-runner/ConversationAgentRunner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,eAAe,EAAc,MAAM,MAAM,CAAC;AACnD,OAAO,EAAqB,QAAQ,EAAY,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EACH,kBAAkB,GAGrB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACH,YAAY,EACZ,uBAAuB,GAC1B,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"ConversationAgentRunner.js","sourceRoot":"","sources":["../../src/agent-runner/ConversationAgentRunner.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,15 +9,18 @@
|
|
|
9
9
|
*
|
|
10
10
|
* 1. **Explicit `explicitAgentId`** on the call (matches the widget's `[DefaultAgentId]`
|
|
11
11
|
* `@Input` — already works today, preserved here for layering).
|
|
12
|
-
* 2.
|
|
13
|
-
* `
|
|
14
|
-
*
|
|
12
|
+
* 2. **`Application.AgentSettings.DefaultAgentID`** — the app's own agent config bag
|
|
13
|
+
* (`MJApplicationEntity.AgentSettingsObject.DefaultAgentID`). The first-class place an
|
|
14
|
+
* app declares its default/lead agent; wins over the legacy Application Setting key.
|
|
15
|
+
* 3. **App-scoped `MJ: Application Settings`** row (`ApplicationID = <current app>`,
|
|
16
|
+
* `Name = 'Conversations.DefaultAgentID'`, `Value = <agent ID>`) — legacy fallback.
|
|
17
|
+
* 4. **Global `MJ: Application Settings`** row (`ApplicationID IS NULL`, same name).
|
|
15
18
|
* Ships as a metadata seed pointing at Sage on a fresh install.
|
|
16
|
-
*
|
|
19
|
+
* 5. **Code-const fallback** — `Agents.find(a => a.Name === 'Sage')`. Safety net for
|
|
17
20
|
* installs where the seed was skipped; preserves today's behavior so the system never
|
|
18
21
|
* silently fails to route a turn.
|
|
19
22
|
*
|
|
20
|
-
* Steps
|
|
23
|
+
* Steps 3 and 4 are handled by `ApplicationSettingEngine.GetSetting` in one call — that API
|
|
21
24
|
* already does app-scoped-first / global-fallback resolution internally.
|
|
22
25
|
*
|
|
23
26
|
* @module @memberjunction/conversations-runtime
|
|
@@ -77,6 +80,23 @@ export declare class DefaultAgentResolver {
|
|
|
77
80
|
* ```
|
|
78
81
|
*/
|
|
79
82
|
resolve(options?: DefaultAgentResolveOptions): Promise<MJAIAgentEntityExtended>;
|
|
83
|
+
/**
|
|
84
|
+
* Read `Application.AgentSettings.DefaultAgentID` for the given app via a targeted
|
|
85
|
+
* `RunView` (single row by ID, `entity_object` so the typed `AgentSettingsObject`
|
|
86
|
+
* accessor is available). Returns `undefined` when the app, the column, or the field
|
|
87
|
+
* is absent.
|
|
88
|
+
*
|
|
89
|
+
* Kept query-light: one tiny by-ID read, served from the provider's RunView cache on
|
|
90
|
+
* repeat calls (server trusts its cache; the client caches too), and only reached when
|
|
91
|
+
* no explicit agent was supplied — i.e. at most once per conversation-turn start.
|
|
92
|
+
*/
|
|
93
|
+
private getAppDefaultAgentId;
|
|
94
|
+
/**
|
|
95
|
+
* Narrow an {@link IMetadataProvider} to an {@link IRunViewProvider} when the concrete
|
|
96
|
+
* instance implements RunView (all MJ data providers do). Returns `undefined` otherwise
|
|
97
|
+
* so {@link RunView} falls back to the global default provider.
|
|
98
|
+
*/
|
|
99
|
+
private static asRunViewProvider;
|
|
80
100
|
/**
|
|
81
101
|
* Find an agent by ID from the AIEngineBase cache. Returns `undefined` if not found.
|
|
82
102
|
* Uses {@link UUIDsEqual} per the standing rule about comparing UUIDs across
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultAgentResolver.d.ts","sourceRoot":"","sources":["../../src/default-agent/DefaultAgentResolver.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"DefaultAgentResolver.d.ts","sourceRoot":"","sources":["../../src/default-agent/DefaultAgentResolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,iBAAiB,EAAoB,QAAQ,EAAW,MAAM,sBAAsB,CAAC;AAG9F,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAGvE;;;;GAIG;AACH,MAAM,WAAW,0BAA0B;IACvC;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEhC;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9B,wEAAwE;IACxE,WAAW,CAAC,EAAE,QAAQ,CAAC;IAEvB,wEAAwE;IACxE,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAChC;AAED;;;;;GAKG;AACH,qBAAa,oBAAoB;IAC7B,0DAA0D;IAC1D,gBAAuB,YAAY,kCAAkC;IAErE;;;;OAIG;IACH,gBAAuB,mBAAmB,UAAU;IAEpD;;;;;;;;;;;;;;OAcG;IACU,OAAO,CAAC,OAAO,GAAE,0BAA+B,GAAG,OAAO,CAAC,uBAAuB,CAAC;IA+DhG;;;;;;;;;OASG;YACW,oBAAoB;IAgClC;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAOhC;;;;OAIG;IACH,OAAO,CAAC,aAAa;CAGxB"}
|
|
@@ -9,19 +9,23 @@
|
|
|
9
9
|
*
|
|
10
10
|
* 1. **Explicit `explicitAgentId`** on the call (matches the widget's `[DefaultAgentId]`
|
|
11
11
|
* `@Input` — already works today, preserved here for layering).
|
|
12
|
-
* 2.
|
|
13
|
-
* `
|
|
14
|
-
*
|
|
12
|
+
* 2. **`Application.AgentSettings.DefaultAgentID`** — the app's own agent config bag
|
|
13
|
+
* (`MJApplicationEntity.AgentSettingsObject.DefaultAgentID`). The first-class place an
|
|
14
|
+
* app declares its default/lead agent; wins over the legacy Application Setting key.
|
|
15
|
+
* 3. **App-scoped `MJ: Application Settings`** row (`ApplicationID = <current app>`,
|
|
16
|
+
* `Name = 'Conversations.DefaultAgentID'`, `Value = <agent ID>`) — legacy fallback.
|
|
17
|
+
* 4. **Global `MJ: Application Settings`** row (`ApplicationID IS NULL`, same name).
|
|
15
18
|
* Ships as a metadata seed pointing at Sage on a fresh install.
|
|
16
|
-
*
|
|
19
|
+
* 5. **Code-const fallback** — `Agents.find(a => a.Name === 'Sage')`. Safety net for
|
|
17
20
|
* installs where the seed was skipped; preserves today's behavior so the system never
|
|
18
21
|
* silently fails to route a turn.
|
|
19
22
|
*
|
|
20
|
-
* Steps
|
|
23
|
+
* Steps 3 and 4 are handled by `ApplicationSettingEngine.GetSetting` in one call — that API
|
|
21
24
|
* already does app-scoped-first / global-fallback resolution internally.
|
|
22
25
|
*
|
|
23
26
|
* @module @memberjunction/conversations-runtime
|
|
24
27
|
*/
|
|
28
|
+
import { RunView } from '@memberjunction/core';
|
|
25
29
|
import { UUIDsEqual } from '@memberjunction/global';
|
|
26
30
|
import { AIEngineBase } from '@memberjunction/ai-engine-base';
|
|
27
31
|
import { ApplicationSettingEngine } from '@memberjunction/core-entities';
|
|
@@ -71,7 +75,17 @@ export class DefaultAgentResolver {
|
|
|
71
75
|
// (the rest of the chain may still produce a sensible default).
|
|
72
76
|
console.warn(`DefaultAgentResolver: explicitAgentId "${explicitAgentId}" did not match any known agent — falling through to settings chain.`);
|
|
73
77
|
}
|
|
74
|
-
//
|
|
78
|
+
// Step 2: the app's own AgentSettings.DefaultAgentID (first-class app config).
|
|
79
|
+
if (applicationId) {
|
|
80
|
+
const fromAppSettings = await this.getAppDefaultAgentId(applicationId, contextUser, provider);
|
|
81
|
+
if (fromAppSettings) {
|
|
82
|
+
const resolved = this.findAgentById(fromAppSettings);
|
|
83
|
+
if (resolved)
|
|
84
|
+
return resolved;
|
|
85
|
+
console.warn(`DefaultAgentResolver: Application.AgentSettings.DefaultAgentID = "${fromAppSettings}" but no matching agent was found — falling through to the settings chain.`);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
// Steps 3 + 4: Application Setting resolution. `GetSetting` already does
|
|
75
89
|
// app-scoped-first / global-fallback in one call.
|
|
76
90
|
const settingValue = ApplicationSettingEngine.Instance.GetSetting(DefaultAgentResolver.SETTING_NAME, applicationId ?? undefined);
|
|
77
91
|
if (settingValue) {
|
|
@@ -80,16 +94,61 @@ export class DefaultAgentResolver {
|
|
|
80
94
|
return fromSetting;
|
|
81
95
|
console.warn(`DefaultAgentResolver: Application Setting "${DefaultAgentResolver.SETTING_NAME}" resolved to "${settingValue}" but no matching agent was found — falling through to code-const fallback.`);
|
|
82
96
|
}
|
|
83
|
-
// Step
|
|
97
|
+
// Step 5: code-const fallback. Find the agent named `Sage` and return it.
|
|
84
98
|
const fallback = AIEngineBase.Instance.Agents.find((a) => a.Name === DefaultAgentResolver.FALLBACK_AGENT_NAME);
|
|
85
99
|
if (fallback)
|
|
86
100
|
return fallback;
|
|
87
101
|
// No agent at any layer — descriptive error so the call site sees the misconfiguration.
|
|
88
102
|
throw new Error(`DefaultAgentResolver: could not resolve a default conversation manager agent. ` +
|
|
89
103
|
`Tried (1) explicitAgentId=${explicitAgentId ?? 'null'}, ` +
|
|
90
|
-
`(2)
|
|
91
|
-
`(4)
|
|
92
|
-
`
|
|
104
|
+
`(2) Application.AgentSettings.DefaultAgentID (applicationId=${applicationId ?? 'null'}), ` +
|
|
105
|
+
`(3)+(4) Application Setting "${DefaultAgentResolver.SETTING_NAME}" = "${settingValue ?? 'undefined'}", ` +
|
|
106
|
+
`(5) code-const fallback agent name = "${DefaultAgentResolver.FALLBACK_AGENT_NAME}". ` +
|
|
107
|
+
`Configure Application.AgentSettings, the Application Setting, or seed the fallback agent.`);
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Read `Application.AgentSettings.DefaultAgentID` for the given app via a targeted
|
|
111
|
+
* `RunView` (single row by ID, `entity_object` so the typed `AgentSettingsObject`
|
|
112
|
+
* accessor is available). Returns `undefined` when the app, the column, or the field
|
|
113
|
+
* is absent.
|
|
114
|
+
*
|
|
115
|
+
* Kept query-light: one tiny by-ID read, served from the provider's RunView cache on
|
|
116
|
+
* repeat calls (server trusts its cache; the client caches too), and only reached when
|
|
117
|
+
* no explicit agent was supplied — i.e. at most once per conversation-turn start.
|
|
118
|
+
*/
|
|
119
|
+
async getAppDefaultAgentId(applicationId, contextUser, provider) {
|
|
120
|
+
try {
|
|
121
|
+
// Concrete MJ data providers implement both IMetadataProvider and IRunViewProvider.
|
|
122
|
+
// Use the threaded provider when it does (multi-provider correctness); otherwise let
|
|
123
|
+
// RunView fall back to the global default provider.
|
|
124
|
+
const rvProvider = DefaultAgentResolver.asRunViewProvider(provider);
|
|
125
|
+
const rv = new RunView(rvProvider);
|
|
126
|
+
const result = await rv.RunView({
|
|
127
|
+
EntityName: 'MJ: Applications',
|
|
128
|
+
ExtraFilter: `ID = '${applicationId}'`,
|
|
129
|
+
MaxRows: 1,
|
|
130
|
+
ResultType: 'entity_object',
|
|
131
|
+
}, contextUser);
|
|
132
|
+
if (!result.Success || !result.Results || result.Results.length === 0) {
|
|
133
|
+
return undefined;
|
|
134
|
+
}
|
|
135
|
+
return result.Results[0].AgentSettingsObject?.DefaultAgentID ?? undefined;
|
|
136
|
+
}
|
|
137
|
+
catch (e) {
|
|
138
|
+
console.warn(`DefaultAgentResolver: failed to read Application.AgentSettings for applicationId="${applicationId}": ${e instanceof Error ? e.message : String(e)}`);
|
|
139
|
+
return undefined;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Narrow an {@link IMetadataProvider} to an {@link IRunViewProvider} when the concrete
|
|
144
|
+
* instance implements RunView (all MJ data providers do). Returns `undefined` otherwise
|
|
145
|
+
* so {@link RunView} falls back to the global default provider.
|
|
146
|
+
*/
|
|
147
|
+
static asRunViewProvider(provider) {
|
|
148
|
+
const candidate = provider;
|
|
149
|
+
return candidate && typeof candidate.RunView === 'function'
|
|
150
|
+
? provider
|
|
151
|
+
: undefined;
|
|
93
152
|
}
|
|
94
153
|
/**
|
|
95
154
|
* Find an agent by ID from the AIEngineBase cache. Returns `undefined` if not found.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultAgentResolver.js","sourceRoot":"","sources":["../../src/default-agent/DefaultAgentResolver.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"DefaultAgentResolver.js","sourceRoot":"","sources":["../../src/default-agent/DefaultAgentResolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@ import { MJAIAgentEntityExtended } from '@memberjunction/ai-core-plus';
|
|
|
15
15
|
import { UserInfo } from '@memberjunction/core';
|
|
16
16
|
/** A single parsed mention. */
|
|
17
17
|
export interface Mention {
|
|
18
|
-
type: 'agent' | 'user' | 'entity';
|
|
18
|
+
type: 'agent' | 'user' | 'entity' | 'query' | 'skill';
|
|
19
19
|
id: string;
|
|
20
20
|
name: string;
|
|
21
21
|
/** Configuration preset ID — agent mentions only. */
|
|
@@ -31,6 +31,12 @@ export interface MentionParseResult {
|
|
|
31
31
|
userMentions: Mention[];
|
|
32
32
|
/** All entity mentions (`#Entity` / `@{"type":"entity",…}`). */
|
|
33
33
|
entityMentions: Mention[];
|
|
34
|
+
/**
|
|
35
|
+
* All skill mentions (`/skill-name` in the composer → `@{"type":"skill",…}` in message text).
|
|
36
|
+
* Callers map these to `ExecuteAgentParams.requestedSkillIDs`; the server intersects them
|
|
37
|
+
* with the agent's accepted skills AND the user's Run permission before any activation.
|
|
38
|
+
*/
|
|
39
|
+
skillMentions: Mention[];
|
|
34
40
|
}
|
|
35
41
|
/**
|
|
36
42
|
* Parses `@`-mentions out of conversation message text.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MentionParser.d.ts","sourceRoot":"","sources":["../../src/mentions/MentionParser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,uBAAuB,EAAuB,MAAM,8BAA8B,CAAC;AAC5F,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,+BAA+B;AAC/B,MAAM,WAAW,OAAO;IACpB,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"MentionParser.d.ts","sourceRoot":"","sources":["../../src/mentions/MentionParser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,uBAAuB,EAAuB,MAAM,8BAA8B,CAAC;AAC5F,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,+BAA+B;AAC/B,MAAM,WAAW,OAAO;IACpB,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;IACtD,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,qDAAqD;IACrD,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,uDAAuD;AACvD,MAAM,WAAW,kBAAkB;IAC/B,4CAA4C;IAC5C,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,uEAAuE;IACvE,YAAY,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7B,yBAAyB;IACzB,YAAY,EAAE,OAAO,EAAE,CAAC;IACxB,gEAAgE;IAChE,cAAc,EAAE,OAAO,EAAE,CAAC;IAC1B;;;;OAIG;IACH,aAAa,EAAE,OAAO,EAAE,CAAC;CAC5B;AAED;;;;;;;GAOG;AACH,qBAAa,aAAa;IACtB,kFAAkF;IAClF,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAiB;IAEpD,iFAAiF;IACjF,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAwB;IAE7D;;;;;;;;;;;;;;;;;;;;;OAqBG;IACI,aAAa,CAChB,IAAI,EAAE,MAAM,EACZ,eAAe,EAAE,uBAAuB,EAAE,EAC1C,cAAc,CAAC,EAAE,QAAQ,EAAE,GAC5B,kBAAkB;IA+ErB;;;OAGG;IACI,gBAAgB,CACnB,IAAI,EAAE,MAAM,EACZ,eAAe,EAAE,uBAAuB,EAAE,EAC1C,cAAc,CAAC,EAAE,QAAQ,EAAE,GAC5B,MAAM,EAAE;IAoDX;;OAEG;IACI,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;IAsBlD;;;OAGG;IACI,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM;IAkBhE;;;;;;;;;;OAUG;IACI,WAAW,CACd,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,uBAAuB,EAAE,EAClC,KAAK,CAAC,EAAE,QAAQ,EAAE,GACnB,MAAM;IAkBT;;;;OAIG;IACH,OAAO,CAAC,SAAS;IAiBjB;;;OAGG;IACH,OAAO,CAAC,QAAQ;CAenB"}
|
|
@@ -108,13 +108,15 @@ export class MentionParser {
|
|
|
108
108
|
}
|
|
109
109
|
}
|
|
110
110
|
}
|
|
111
|
-
// Extract first agent mention, all user mentions, and all entity mentions.
|
|
111
|
+
// Extract first agent mention, all user mentions, and all entity/skill mentions.
|
|
112
112
|
// Entity mentions arrive as JSON (`@{"type":"entity",…}`) from the editor and are
|
|
113
113
|
// resolved against the target entity downstream (e.g. Skip's EntityMentionResolver).
|
|
114
|
+
// Skill mentions arrive the same way (`@{"type":"skill",…}`) from the `/` trigger.
|
|
114
115
|
const agentMention = mentions.find((m) => m.type === 'agent') || null;
|
|
115
116
|
const userMentions = mentions.filter((m) => m.type === 'user');
|
|
116
117
|
const entityMentions = mentions.filter((m) => m.type === 'entity');
|
|
117
|
-
|
|
118
|
+
const skillMentions = mentions.filter((m) => m.type === 'skill');
|
|
119
|
+
return { mentions, agentMention, userMentions, entityMentions, skillMentions };
|
|
118
120
|
}
|
|
119
121
|
/**
|
|
120
122
|
* Validate every mention in `text`. Returns an array of mention names that could not be
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MentionParser.js","sourceRoot":"","sources":["../../src/mentions/MentionParser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAA2B,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"MentionParser.js","sourceRoot":"","sources":["../../src/mentions/MentionParser.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/conversations-runtime",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "5.
|
|
4
|
+
"version": "5.44.0",
|
|
5
5
|
"description": "MemberJunction: Framework-agnostic Conversations Runtime — orchestration, mention parsing, overlay/workspace bridge, default-agent resolution, client-tool registry, sessions observability. Pure TypeScript, zero UX dependencies. Consumable from browser (Angular widget, React, Vue, etc.) or server (Node workers, CLI tools, test harnesses).",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
@@ -16,13 +16,13 @@
|
|
|
16
16
|
"author": "MemberJunction.com",
|
|
17
17
|
"license": "ISC",
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@memberjunction/ai-agent-client": "5.
|
|
20
|
-
"@memberjunction/ai-core-plus": "5.
|
|
21
|
-
"@memberjunction/ai-engine-base": "5.
|
|
22
|
-
"@memberjunction/core": "5.
|
|
23
|
-
"@memberjunction/core-entities": "5.
|
|
24
|
-
"@memberjunction/global": "5.
|
|
25
|
-
"@memberjunction/graphql-dataprovider": "5.
|
|
19
|
+
"@memberjunction/ai-agent-client": "5.44.0",
|
|
20
|
+
"@memberjunction/ai-core-plus": "5.44.0",
|
|
21
|
+
"@memberjunction/ai-engine-base": "5.44.0",
|
|
22
|
+
"@memberjunction/core": "5.44.0",
|
|
23
|
+
"@memberjunction/core-entities": "5.44.0",
|
|
24
|
+
"@memberjunction/global": "5.44.0",
|
|
25
|
+
"@memberjunction/graphql-dataprovider": "5.44.0",
|
|
26
26
|
"rxjs": "^7.8.2"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|