@ai-matrx/agents 0.59.229 → 0.59.231

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.
@@ -6,12 +6,13 @@ import { A as AgentSummary } from '../types-DZhDqrVE.cjs';
6
6
  * A quick agent is a named bundle of exactly: name, system prompt, model and three settings
7
7
  * (temperature, top-p, max output tokens). It is an ordinary `agent.definition` row — one agent
8
8
  * table, one permission model, no second prompt store — marked `kind: quick` so the big catalog
9
- * can hide or group it. This entry owns the shape and the pure builders/selectors; `./writes`
10
- * owns the four database calls (the one named write allowlist entry of this package).
9
+ * can hide or group it. This entry owns the shape and the pure builders/selectors; the WRITES go
10
+ * through chat's one agent-definition write path (`agents/redux/agent-definition/definition-writes`),
11
+ * never a second one here.
11
12
  *
12
- * The marker lives in two places on purpose: `metadata.kind = "quick"` is the record's own
13
- * statement; the `kind:quick` tag rides every catalog row (the catalog read carries tags, not
14
- * metadata), so a list can filter without a second read — exactly how `chat-agent` marks presets.
13
+ * The marker is the `kind:quick` tag: it rides every catalog row, so a list can filter without a
14
+ * second read — exactly how `chat-agent` marks presets. (Rows saved before the shared write path also
15
+ * carry `metadata.kind = "quick"`; both read as quick.)
15
16
  */
16
17
 
17
18
  declare const QUICK_AGENT_KIND: "quick";
@@ -34,26 +35,81 @@ interface QuickAgentDefinition {
34
35
  interface QuickAgent extends QuickAgentDefinition {
35
36
  id: string;
36
37
  }
37
- declare const QUICK_AGENT_BOUNDS: {
38
- readonly temperature: {
39
- readonly min: 0;
40
- readonly max: 2;
41
- readonly step: 0.1;
38
+ /** One setting's slider: where it starts, where it stops, where a new agent rests. */
39
+ interface QuickAgentSettingLimit {
40
+ min: number;
41
+ max: number;
42
+ step: number;
43
+ default: number;
44
+ }
45
+ interface QuickAgentLimits {
46
+ temperature: QuickAgentSettingLimit;
47
+ topP: QuickAgentSettingLimit;
48
+ maxOutputTokens: QuickAgentSettingLimit;
49
+ }
50
+ /** A model's own settings row for one control (`ai.model` controls: min / max / default), when it states one. */
51
+ interface ModelSettingRow {
52
+ min?: number | null | undefined;
53
+ max?: number | null | undefined;
54
+ default?: unknown;
55
+ }
56
+ /** The chosen model's settings rows for the three controls; a control it does not state is absent. */
57
+ interface ModelSettingRows {
58
+ temperature?: ModelSettingRow | null | undefined;
59
+ top_p?: ModelSettingRow | null | undefined;
60
+ max_output_tokens?: ModelSettingRow | null | undefined;
61
+ }
62
+ /**
63
+ * The `agents.quick` knob values (organization and person can set them). `undefined` = the register
64
+ * has not answered yet. A probability lives in 0..1 and a temperature starts at 0 by definition;
65
+ * every other bound and every default is a knob.
66
+ */
67
+ interface QuickAgentKnobValues {
68
+ temperatureMax?: unknown;
69
+ temperatureDefault?: unknown;
70
+ topPDefault?: unknown;
71
+ maxOutputMin?: unknown;
72
+ maxOutputMax?: unknown;
73
+ maxOutputDefault?: unknown;
74
+ }
75
+ declare const QUICK_AGENT_KNOBS: {
76
+ readonly temperatureMax: {
77
+ readonly feature: "agents.quick";
78
+ readonly key: "temperature_max";
79
+ };
80
+ readonly temperatureDefault: {
81
+ readonly feature: "agents.quick";
82
+ readonly key: "temperature_default";
83
+ };
84
+ readonly topPDefault: {
85
+ readonly feature: "agents.quick";
86
+ readonly key: "top_p_default";
87
+ };
88
+ readonly maxOutputMin: {
89
+ readonly feature: "agents.quick";
90
+ readonly key: "max_output_min";
42
91
  };
43
- readonly topP: {
44
- readonly min: 0;
45
- readonly max: 1;
46
- readonly step: 0.05;
92
+ readonly maxOutputMax: {
93
+ readonly feature: "agents.quick";
94
+ readonly key: "max_output_max";
47
95
  };
48
- readonly maxOutputTokens: {
49
- readonly min: 256;
50
- readonly max: 32768;
51
- readonly step: 256;
96
+ readonly maxOutputDefault: {
97
+ readonly feature: "agents.quick";
98
+ readonly key: "max_output_default";
52
99
  };
53
100
  };
54
- declare const QUICK_AGENT_DEFAULT_SETTINGS: QuickAgentSettings;
55
- /** Settings pulled inside their bounds (a slider can never save a value the model refuses). */
56
- declare function clampQuickAgentSettings(settings: QuickAgentSettings): QuickAgentSettings;
101
+ /** A slider step that gives ~100 positions over the range, on a 1 / 2 / 5 grid (0.02 -> 0.05 style). */
102
+ declare function sliderStep(min: number, max: number): number;
103
+ /**
104
+ * THE ONE SOURCE of the three sliders' bounds and resting values: the chosen model's own settings
105
+ * rows where it states them, else the `agents.quick` knobs. `null` until every number is known (the
106
+ * panel shows no slider for a number nobody has answered — there is no code default).
107
+ */
108
+ declare function resolveQuickAgentLimits(model: ModelSettingRows | null | undefined, knobs: QuickAgentKnobValues): QuickAgentLimits | null;
109
+ /** A new agent's settings: every slider at its resting value. */
110
+ declare function defaultQuickAgentSettings(limits: QuickAgentLimits): QuickAgentSettings;
111
+ /** Settings pulled inside their limits (a slider can never save a value the model refuses). */
112
+ declare function clampQuickAgentSettings(settings: QuickAgentSettings, limits: QuickAgentLimits): QuickAgentSettings;
57
113
  /** What stops a save, in words — empty when the definition is saveable. */
58
114
  declare function quickAgentProblems(def: Pick<QuickAgentDefinition, "name" | "systemPrompt" | "modelId">): string[];
59
115
  interface QuickAgentSystemMessage {
@@ -66,28 +122,44 @@ interface QuickAgentSystemMessage {
66
122
  /** The persisted `settings` JSON: the three params plus the stream flag every agent row carries. */
67
123
  declare function quickAgentSettingsJson(settings: QuickAgentSettings): Record<string, unknown>;
68
124
  declare function quickAgentMessages(systemPrompt: string): QuickAgentSystemMessage[];
69
- /** The `agent.definition` insert for a new quick agent. Born active; no tools, variables or context. */
70
- declare function buildQuickAgentRow(def: QuickAgentDefinition, owner: {
71
- organizationId: string;
72
- userId: string;
73
- }): Record<string, unknown>;
74
- /** The `agent.definition` update for an edit: only the four things a quick agent has. */
75
- declare function buildQuickAgentUpdate(def: QuickAgentDefinition): Record<string, unknown>;
76
- /** A stored row read back as a quick agent; `null` when the row is not one. */
77
- declare function quickAgentFromRow(row: Record<string, unknown> | null | undefined): QuickAgent | null;
125
+ /**
126
+ * The agent fields a quick agent sets, in the shape of the ONE agent-definition write path
127
+ * (chat `definition-writes`): name + system message + model + the three settings, marked quick, no
128
+ * tools. Nothing else is ever part of a quick agent.
129
+ */
130
+ declare function quickAgentFields(def: QuickAgentDefinition): {
131
+ name: string;
132
+ tags: string[];
133
+ isActive: true;
134
+ isArchived: false;
135
+ modelId: string;
136
+ messages: QuickAgentSystemMessage[];
137
+ settings: Record<string, unknown>;
138
+ tools: never[];
139
+ };
140
+ /**
141
+ * A stored row read back as a quick agent; `null` when the row is not one. A setting the row does
142
+ * not carry rests at `defaults` (the resolved limits' resting values).
143
+ */
144
+ declare function quickAgentFromRow(row: Record<string, unknown> | null | undefined, defaults: QuickAgentSettings): QuickAgent | null;
78
145
  declare function isQuickAgentSummary(row: Pick<AgentSummary, "tags">): boolean;
79
146
  /**
80
- * THE PERSONAL LIST: the person's own, live quick agents out of the ONE catalog read.
81
- * (Org and system lanes are the catalogue's own tabs; this is "mine".)
147
+ * THE QUICK-AGENT LIST in the platform's visibility lanes: mine, then my organization's, then the
148
+ * system's (the catalog's own user-type / builtin split; "mine" is what the person created).
82
149
  */
150
+ declare function listQuickAgents(rows: readonly AgentSummary[], userId: string | null): {
151
+ mine: AgentSummary[];
152
+ organization: AgentSummary[];
153
+ system: AgentSummary[];
154
+ };
155
+ /** The pill's list: mine, then organization, then system. */
83
156
  declare function listMyQuickAgents(rows: readonly AgentSummary[], userId: string | null): AgentSummary[];
84
157
  /** The big catalogue's view: quick agents leave the general list (a filter, never a delete). */
85
158
  declare function withoutQuickAgents<T extends Pick<AgentSummary, "tags">>(rows: readonly T[]): T[];
86
159
 
87
160
  /**
88
- * The four database calls of a quick agent, over the EXISTING `agent.definition` table.
89
- * The only write entry of this package besides favorites (check-agents-below-chat WRITE_ALLOWLIST).
90
- * The client is the host's own RLS-bound Supabase client; nothing here knows how it was built.
161
+ * The one READ of a quick agent: its full definition (the catalog row carries no prompt). Reads
162
+ * only; every write goes through chat's one agent-definition write path.
91
163
  */
92
164
 
93
165
  interface QuickAgentClient {
@@ -95,14 +167,7 @@ interface QuickAgentClient {
95
167
  from(table: "definition"): any;
96
168
  };
97
169
  }
98
- declare function createQuickAgent(client: QuickAgentClient, def: QuickAgentDefinition, owner: {
99
- organizationId: string;
100
- userId: string;
101
- }): Promise<QuickAgent>;
102
- declare function updateQuickAgent(client: QuickAgentClient, id: string, def: QuickAgentDefinition): Promise<QuickAgent>;
103
- /** Soft delete — the same `deleted_at` every agent delete sets, so every list already hides it. */
104
- declare function deleteQuickAgent(client: QuickAgentClient, id: string): Promise<void>;
105
- /** One quick agent's full definition (the catalog row carries no prompt). */
106
- declare function readQuickAgent(client: QuickAgentClient, id: string): Promise<QuickAgent | null>;
170
+ /** One quick agent's full definition; settings the row lacks rest at `defaults`. */
171
+ declare function readQuickAgent(client: QuickAgentClient, id: string, defaults: QuickAgentSettings): Promise<QuickAgent | null>;
107
172
 
108
- export { QUICK_AGENT_BOUNDS, QUICK_AGENT_DEFAULT_SETTINGS, QUICK_AGENT_KIND, QUICK_AGENT_TAG, type QuickAgent, type QuickAgentClient, type QuickAgentDefinition, type QuickAgentSettings, type QuickAgentSystemMessage, buildQuickAgentRow, buildQuickAgentUpdate, clampQuickAgentSettings, createQuickAgent, deleteQuickAgent, isQuickAgentSummary, listMyQuickAgents, quickAgentFromRow, quickAgentMessages, quickAgentProblems, quickAgentSettingsJson, readQuickAgent, updateQuickAgent, withoutQuickAgents };
173
+ export { type ModelSettingRow, type ModelSettingRows, QUICK_AGENT_KIND, QUICK_AGENT_KNOBS, QUICK_AGENT_TAG, type QuickAgent, type QuickAgentClient, type QuickAgentDefinition, type QuickAgentKnobValues, type QuickAgentLimits, type QuickAgentSettingLimit, type QuickAgentSettings, type QuickAgentSystemMessage, clampQuickAgentSettings, defaultQuickAgentSettings, isQuickAgentSummary, listMyQuickAgents, listQuickAgents, quickAgentFields, quickAgentFromRow, quickAgentMessages, quickAgentProblems, quickAgentSettingsJson, readQuickAgent, resolveQuickAgentLimits, sliderStep, withoutQuickAgents };
@@ -6,12 +6,13 @@ import { A as AgentSummary } from '../types-DZhDqrVE.js';
6
6
  * A quick agent is a named bundle of exactly: name, system prompt, model and three settings
7
7
  * (temperature, top-p, max output tokens). It is an ordinary `agent.definition` row — one agent
8
8
  * table, one permission model, no second prompt store — marked `kind: quick` so the big catalog
9
- * can hide or group it. This entry owns the shape and the pure builders/selectors; `./writes`
10
- * owns the four database calls (the one named write allowlist entry of this package).
9
+ * can hide or group it. This entry owns the shape and the pure builders/selectors; the WRITES go
10
+ * through chat's one agent-definition write path (`agents/redux/agent-definition/definition-writes`),
11
+ * never a second one here.
11
12
  *
12
- * The marker lives in two places on purpose: `metadata.kind = "quick"` is the record's own
13
- * statement; the `kind:quick` tag rides every catalog row (the catalog read carries tags, not
14
- * metadata), so a list can filter without a second read — exactly how `chat-agent` marks presets.
13
+ * The marker is the `kind:quick` tag: it rides every catalog row, so a list can filter without a
14
+ * second read — exactly how `chat-agent` marks presets. (Rows saved before the shared write path also
15
+ * carry `metadata.kind = "quick"`; both read as quick.)
15
16
  */
16
17
 
17
18
  declare const QUICK_AGENT_KIND: "quick";
@@ -34,26 +35,81 @@ interface QuickAgentDefinition {
34
35
  interface QuickAgent extends QuickAgentDefinition {
35
36
  id: string;
36
37
  }
37
- declare const QUICK_AGENT_BOUNDS: {
38
- readonly temperature: {
39
- readonly min: 0;
40
- readonly max: 2;
41
- readonly step: 0.1;
38
+ /** One setting's slider: where it starts, where it stops, where a new agent rests. */
39
+ interface QuickAgentSettingLimit {
40
+ min: number;
41
+ max: number;
42
+ step: number;
43
+ default: number;
44
+ }
45
+ interface QuickAgentLimits {
46
+ temperature: QuickAgentSettingLimit;
47
+ topP: QuickAgentSettingLimit;
48
+ maxOutputTokens: QuickAgentSettingLimit;
49
+ }
50
+ /** A model's own settings row for one control (`ai.model` controls: min / max / default), when it states one. */
51
+ interface ModelSettingRow {
52
+ min?: number | null | undefined;
53
+ max?: number | null | undefined;
54
+ default?: unknown;
55
+ }
56
+ /** The chosen model's settings rows for the three controls; a control it does not state is absent. */
57
+ interface ModelSettingRows {
58
+ temperature?: ModelSettingRow | null | undefined;
59
+ top_p?: ModelSettingRow | null | undefined;
60
+ max_output_tokens?: ModelSettingRow | null | undefined;
61
+ }
62
+ /**
63
+ * The `agents.quick` knob values (organization and person can set them). `undefined` = the register
64
+ * has not answered yet. A probability lives in 0..1 and a temperature starts at 0 by definition;
65
+ * every other bound and every default is a knob.
66
+ */
67
+ interface QuickAgentKnobValues {
68
+ temperatureMax?: unknown;
69
+ temperatureDefault?: unknown;
70
+ topPDefault?: unknown;
71
+ maxOutputMin?: unknown;
72
+ maxOutputMax?: unknown;
73
+ maxOutputDefault?: unknown;
74
+ }
75
+ declare const QUICK_AGENT_KNOBS: {
76
+ readonly temperatureMax: {
77
+ readonly feature: "agents.quick";
78
+ readonly key: "temperature_max";
79
+ };
80
+ readonly temperatureDefault: {
81
+ readonly feature: "agents.quick";
82
+ readonly key: "temperature_default";
83
+ };
84
+ readonly topPDefault: {
85
+ readonly feature: "agents.quick";
86
+ readonly key: "top_p_default";
87
+ };
88
+ readonly maxOutputMin: {
89
+ readonly feature: "agents.quick";
90
+ readonly key: "max_output_min";
42
91
  };
43
- readonly topP: {
44
- readonly min: 0;
45
- readonly max: 1;
46
- readonly step: 0.05;
92
+ readonly maxOutputMax: {
93
+ readonly feature: "agents.quick";
94
+ readonly key: "max_output_max";
47
95
  };
48
- readonly maxOutputTokens: {
49
- readonly min: 256;
50
- readonly max: 32768;
51
- readonly step: 256;
96
+ readonly maxOutputDefault: {
97
+ readonly feature: "agents.quick";
98
+ readonly key: "max_output_default";
52
99
  };
53
100
  };
54
- declare const QUICK_AGENT_DEFAULT_SETTINGS: QuickAgentSettings;
55
- /** Settings pulled inside their bounds (a slider can never save a value the model refuses). */
56
- declare function clampQuickAgentSettings(settings: QuickAgentSettings): QuickAgentSettings;
101
+ /** A slider step that gives ~100 positions over the range, on a 1 / 2 / 5 grid (0.02 -> 0.05 style). */
102
+ declare function sliderStep(min: number, max: number): number;
103
+ /**
104
+ * THE ONE SOURCE of the three sliders' bounds and resting values: the chosen model's own settings
105
+ * rows where it states them, else the `agents.quick` knobs. `null` until every number is known (the
106
+ * panel shows no slider for a number nobody has answered — there is no code default).
107
+ */
108
+ declare function resolveQuickAgentLimits(model: ModelSettingRows | null | undefined, knobs: QuickAgentKnobValues): QuickAgentLimits | null;
109
+ /** A new agent's settings: every slider at its resting value. */
110
+ declare function defaultQuickAgentSettings(limits: QuickAgentLimits): QuickAgentSettings;
111
+ /** Settings pulled inside their limits (a slider can never save a value the model refuses). */
112
+ declare function clampQuickAgentSettings(settings: QuickAgentSettings, limits: QuickAgentLimits): QuickAgentSettings;
57
113
  /** What stops a save, in words — empty when the definition is saveable. */
58
114
  declare function quickAgentProblems(def: Pick<QuickAgentDefinition, "name" | "systemPrompt" | "modelId">): string[];
59
115
  interface QuickAgentSystemMessage {
@@ -66,28 +122,44 @@ interface QuickAgentSystemMessage {
66
122
  /** The persisted `settings` JSON: the three params plus the stream flag every agent row carries. */
67
123
  declare function quickAgentSettingsJson(settings: QuickAgentSettings): Record<string, unknown>;
68
124
  declare function quickAgentMessages(systemPrompt: string): QuickAgentSystemMessage[];
69
- /** The `agent.definition` insert for a new quick agent. Born active; no tools, variables or context. */
70
- declare function buildQuickAgentRow(def: QuickAgentDefinition, owner: {
71
- organizationId: string;
72
- userId: string;
73
- }): Record<string, unknown>;
74
- /** The `agent.definition` update for an edit: only the four things a quick agent has. */
75
- declare function buildQuickAgentUpdate(def: QuickAgentDefinition): Record<string, unknown>;
76
- /** A stored row read back as a quick agent; `null` when the row is not one. */
77
- declare function quickAgentFromRow(row: Record<string, unknown> | null | undefined): QuickAgent | null;
125
+ /**
126
+ * The agent fields a quick agent sets, in the shape of the ONE agent-definition write path
127
+ * (chat `definition-writes`): name + system message + model + the three settings, marked quick, no
128
+ * tools. Nothing else is ever part of a quick agent.
129
+ */
130
+ declare function quickAgentFields(def: QuickAgentDefinition): {
131
+ name: string;
132
+ tags: string[];
133
+ isActive: true;
134
+ isArchived: false;
135
+ modelId: string;
136
+ messages: QuickAgentSystemMessage[];
137
+ settings: Record<string, unknown>;
138
+ tools: never[];
139
+ };
140
+ /**
141
+ * A stored row read back as a quick agent; `null` when the row is not one. A setting the row does
142
+ * not carry rests at `defaults` (the resolved limits' resting values).
143
+ */
144
+ declare function quickAgentFromRow(row: Record<string, unknown> | null | undefined, defaults: QuickAgentSettings): QuickAgent | null;
78
145
  declare function isQuickAgentSummary(row: Pick<AgentSummary, "tags">): boolean;
79
146
  /**
80
- * THE PERSONAL LIST: the person's own, live quick agents out of the ONE catalog read.
81
- * (Org and system lanes are the catalogue's own tabs; this is "mine".)
147
+ * THE QUICK-AGENT LIST in the platform's visibility lanes: mine, then my organization's, then the
148
+ * system's (the catalog's own user-type / builtin split; "mine" is what the person created).
82
149
  */
150
+ declare function listQuickAgents(rows: readonly AgentSummary[], userId: string | null): {
151
+ mine: AgentSummary[];
152
+ organization: AgentSummary[];
153
+ system: AgentSummary[];
154
+ };
155
+ /** The pill's list: mine, then organization, then system. */
83
156
  declare function listMyQuickAgents(rows: readonly AgentSummary[], userId: string | null): AgentSummary[];
84
157
  /** The big catalogue's view: quick agents leave the general list (a filter, never a delete). */
85
158
  declare function withoutQuickAgents<T extends Pick<AgentSummary, "tags">>(rows: readonly T[]): T[];
86
159
 
87
160
  /**
88
- * The four database calls of a quick agent, over the EXISTING `agent.definition` table.
89
- * The only write entry of this package besides favorites (check-agents-below-chat WRITE_ALLOWLIST).
90
- * The client is the host's own RLS-bound Supabase client; nothing here knows how it was built.
161
+ * The one READ of a quick agent: its full definition (the catalog row carries no prompt). Reads
162
+ * only; every write goes through chat's one agent-definition write path.
91
163
  */
92
164
 
93
165
  interface QuickAgentClient {
@@ -95,14 +167,7 @@ interface QuickAgentClient {
95
167
  from(table: "definition"): any;
96
168
  };
97
169
  }
98
- declare function createQuickAgent(client: QuickAgentClient, def: QuickAgentDefinition, owner: {
99
- organizationId: string;
100
- userId: string;
101
- }): Promise<QuickAgent>;
102
- declare function updateQuickAgent(client: QuickAgentClient, id: string, def: QuickAgentDefinition): Promise<QuickAgent>;
103
- /** Soft delete — the same `deleted_at` every agent delete sets, so every list already hides it. */
104
- declare function deleteQuickAgent(client: QuickAgentClient, id: string): Promise<void>;
105
- /** One quick agent's full definition (the catalog row carries no prompt). */
106
- declare function readQuickAgent(client: QuickAgentClient, id: string): Promise<QuickAgent | null>;
170
+ /** One quick agent's full definition; settings the row lacks rest at `defaults`. */
171
+ declare function readQuickAgent(client: QuickAgentClient, id: string, defaults: QuickAgentSettings): Promise<QuickAgent | null>;
107
172
 
108
- export { QUICK_AGENT_BOUNDS, QUICK_AGENT_DEFAULT_SETTINGS, QUICK_AGENT_KIND, QUICK_AGENT_TAG, type QuickAgent, type QuickAgentClient, type QuickAgentDefinition, type QuickAgentSettings, type QuickAgentSystemMessage, buildQuickAgentRow, buildQuickAgentUpdate, clampQuickAgentSettings, createQuickAgent, deleteQuickAgent, isQuickAgentSummary, listMyQuickAgents, quickAgentFromRow, quickAgentMessages, quickAgentProblems, quickAgentSettingsJson, readQuickAgent, updateQuickAgent, withoutQuickAgents };
173
+ export { type ModelSettingRow, type ModelSettingRows, QUICK_AGENT_KIND, QUICK_AGENT_KNOBS, QUICK_AGENT_TAG, type QuickAgent, type QuickAgentClient, type QuickAgentDefinition, type QuickAgentKnobValues, type QuickAgentLimits, type QuickAgentSettingLimit, type QuickAgentSettings, type QuickAgentSystemMessage, clampQuickAgentSettings, defaultQuickAgentSettings, isQuickAgentSummary, listMyQuickAgents, listQuickAgents, quickAgentFields, quickAgentFromRow, quickAgentMessages, quickAgentProblems, quickAgentSettingsJson, readQuickAgent, resolveQuickAgentLimits, sliderStep, withoutQuickAgents };