@slashfi/agents-sdk 0.24.5 → 0.25.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/bm25.d.ts +46 -0
- package/dist/bm25.d.ts.map +1 -0
- package/dist/bm25.js +103 -0
- package/dist/bm25.js.map +1 -0
- package/dist/call-agent-schema.d.ts +0 -12
- package/dist/call-agent-schema.d.ts.map +1 -1
- package/dist/call-agent-schema.js +0 -13
- package/dist/call-agent-schema.js.map +1 -1
- package/dist/cjs/bm25.js +106 -0
- package/dist/cjs/bm25.js.map +1 -0
- package/dist/cjs/call-agent-schema.js +0 -13
- package/dist/cjs/call-agent-schema.js.map +1 -1
- package/dist/cjs/index.js +6 -7
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/registry.js +0 -19
- package/dist/cjs/registry.js.map +1 -1
- package/dist/cjs/server.js +105 -7
- package/dist/cjs/server.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/registry.d.ts +0 -3
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +0 -19
- package/dist/registry.js.map +1 -1
- package/dist/server.d.ts +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +105 -7
- package/dist/server.js.map +1 -1
- package/dist/types.d.ts +1 -11
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/bm25.test.ts +86 -0
- package/src/bm25.ts +146 -0
- package/src/call-agent-schema.ts +0 -14
- package/src/index.ts +13 -18
- package/src/registry.ts +1 -25
- package/src/server.ts +126 -12
- package/src/types.ts +0 -13
- package/dist/callback/index.d.ts +0 -79
- package/dist/callback/index.d.ts.map +0 -1
- package/dist/callback/index.js +0 -70
- package/dist/callback/index.js.map +0 -1
- package/dist/cjs/callback/index.js +0 -74
- package/dist/cjs/callback/index.js.map +0 -1
- package/src/callback/index.ts +0 -161
package/src/callback/index.ts
DELETED
|
@@ -1,161 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Agent Callback — Deferred call_agent execution with triggers.
|
|
3
|
-
*
|
|
4
|
-
* An agent_callback is a call_agent command with an optional trigger.
|
|
5
|
-
* When the trigger fires (e.g., user submits a form), template references
|
|
6
|
-
* like {{trigger.variable_name}} are resolved with the trigger's values
|
|
7
|
-
* and the call_agent command is executed.
|
|
8
|
-
*
|
|
9
|
-
* This module provides the unopinionated contract:
|
|
10
|
-
* - Trigger schema (extensible discriminated union)
|
|
11
|
-
* - Template resolution
|
|
12
|
-
* - Store interface
|
|
13
|
-
* - Validation utilities
|
|
14
|
-
*
|
|
15
|
-
* No platform-specific code (no Slack, no CockroachDB, no Atlas).
|
|
16
|
-
*/
|
|
17
|
-
|
|
18
|
-
// ---------------------------------------------------------------------------
|
|
19
|
-
// Trigger Schema
|
|
20
|
-
// ---------------------------------------------------------------------------
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Base trigger type. Implementations extend this with specific trigger sources
|
|
24
|
-
* (e.g., slack_block_kit, webhook, timer).
|
|
25
|
-
*
|
|
26
|
-
* The `type` field discriminates between trigger sources.
|
|
27
|
-
* Additional fields are trigger-specific.
|
|
28
|
-
*/
|
|
29
|
-
export interface AgentCallbackTrigger {
|
|
30
|
-
type: string;
|
|
31
|
-
[key: string]: unknown;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
// ---------------------------------------------------------------------------
|
|
35
|
-
// Callback Status
|
|
36
|
-
// ---------------------------------------------------------------------------
|
|
37
|
-
|
|
38
|
-
export type AgentCallbackStatus =
|
|
39
|
-
| 'pending'
|
|
40
|
-
| 'completed'
|
|
41
|
-
| 'expired'
|
|
42
|
-
| 'cancelled';
|
|
43
|
-
|
|
44
|
-
// ---------------------------------------------------------------------------
|
|
45
|
-
// Callback Entry
|
|
46
|
-
// ---------------------------------------------------------------------------
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* A stored agent_callback — a call_agent command waiting for its trigger to fire.
|
|
50
|
-
*/
|
|
51
|
-
export interface AgentCallbackEntry {
|
|
52
|
-
id: string;
|
|
53
|
-
status: AgentCallbackStatus;
|
|
54
|
-
/** The call_agent command (includes trigger). Params may contain {{trigger.x}} templates. */
|
|
55
|
-
callback: Record<string, unknown>;
|
|
56
|
-
/** Key-value attributes for this callback (e.g., creator info, trigger metadata). */
|
|
57
|
-
attributes: Record<string, string>;
|
|
58
|
-
createdAt: Date;
|
|
59
|
-
completedAt?: Date;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
// ---------------------------------------------------------------------------
|
|
63
|
-
// Create Options
|
|
64
|
-
// ---------------------------------------------------------------------------
|
|
65
|
-
|
|
66
|
-
export interface CreateAgentCallbackOptions {
|
|
67
|
-
/** The call_agent command (includes trigger). May contain {{trigger.x}} template references in params. */
|
|
68
|
-
callback: Record<string, unknown>;
|
|
69
|
-
/** Initial attributes to set on creation. */
|
|
70
|
-
attributes?: Record<string, string>;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
// ---------------------------------------------------------------------------
|
|
74
|
-
// Resolve Options
|
|
75
|
-
// ---------------------------------------------------------------------------
|
|
76
|
-
|
|
77
|
-
export interface ResolveAgentCallbackOptions {
|
|
78
|
-
/** The callback ID to resolve. */
|
|
79
|
-
id: string;
|
|
80
|
-
/** Values from the trigger source, keyed by variable name. */
|
|
81
|
-
values: Record<string, string>;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
// ---------------------------------------------------------------------------
|
|
85
|
-
// Store Interface
|
|
86
|
-
// ---------------------------------------------------------------------------
|
|
87
|
-
|
|
88
|
-
/**
|
|
89
|
-
* Agent Callback Store — persistence layer for deferred call_agent commands.
|
|
90
|
-
* Implementations can use any backing store (CockroachDB, SQLite, in-memory, etc.).
|
|
91
|
-
*/
|
|
92
|
-
export interface AgentCallbackStore {
|
|
93
|
-
create(options: CreateAgentCallbackOptions): Promise<string>;
|
|
94
|
-
get(id: string): Promise<AgentCallbackEntry | null>;
|
|
95
|
-
resolve(options: ResolveAgentCallbackOptions): Promise<AgentCallbackEntry>;
|
|
96
|
-
cancel(id: string): Promise<boolean>;
|
|
97
|
-
listPending(limit?: number): Promise<AgentCallbackEntry[]>;
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
// ---------------------------------------------------------------------------
|
|
101
|
-
// Template Resolution
|
|
102
|
-
// ---------------------------------------------------------------------------
|
|
103
|
-
|
|
104
|
-
/**
|
|
105
|
-
* Resolve {{trigger.variable}} references in an object tree.
|
|
106
|
-
* Scans all string values and replaces {{trigger.x}} with the
|
|
107
|
-
* corresponding value from triggerValues.
|
|
108
|
-
*
|
|
109
|
-
* Unresolved references are left as-is.
|
|
110
|
-
*/
|
|
111
|
-
export function resolveCallbackTemplates<T>(
|
|
112
|
-
obj: T,
|
|
113
|
-
triggerValues: Record<string, string>,
|
|
114
|
-
): T {
|
|
115
|
-
if (typeof obj === 'string') {
|
|
116
|
-
return obj.replace(/\{\{trigger\.(\w+)\}\}/g, (_match, varName: string) => {
|
|
117
|
-
return triggerValues[varName] ?? `{{trigger.${varName}}}`;
|
|
118
|
-
}) as T;
|
|
119
|
-
}
|
|
120
|
-
if (Array.isArray(obj)) {
|
|
121
|
-
return obj.map((item) => resolveCallbackTemplates(item, triggerValues)) as T;
|
|
122
|
-
}
|
|
123
|
-
if (obj !== null && typeof obj === 'object') {
|
|
124
|
-
const result: Record<string, unknown> = {};
|
|
125
|
-
for (const [key, val] of Object.entries(obj as Record<string, unknown>)) {
|
|
126
|
-
result[key] = resolveCallbackTemplates(val, triggerValues);
|
|
127
|
-
}
|
|
128
|
-
return result as T;
|
|
129
|
-
}
|
|
130
|
-
return obj;
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
/**
|
|
134
|
-
* Validate that all {{trigger.x}} references in a callback have
|
|
135
|
-
* corresponding variables in the provided set.
|
|
136
|
-
* Returns array of unresolved variable names, or empty if valid.
|
|
137
|
-
*/
|
|
138
|
-
export function validateCallbackTemplates(
|
|
139
|
-
callback: Record<string, unknown>,
|
|
140
|
-
knownVariables: string[],
|
|
141
|
-
): string[] {
|
|
142
|
-
const definedVars = new Set(knownVariables);
|
|
143
|
-
const referencedVars: string[] = [];
|
|
144
|
-
|
|
145
|
-
const scanForRefs = (obj: unknown): void => {
|
|
146
|
-
if (typeof obj === 'string') {
|
|
147
|
-
const matches = obj.matchAll(/\{\{trigger\.(\w+)\}\}/g);
|
|
148
|
-
for (const match of matches) {
|
|
149
|
-
referencedVars.push(match[1]);
|
|
150
|
-
}
|
|
151
|
-
} else if (Array.isArray(obj)) {
|
|
152
|
-
obj.forEach(scanForRefs);
|
|
153
|
-
} else if (obj !== null && typeof obj === 'object') {
|
|
154
|
-
Object.values(obj as Record<string, unknown>).forEach(scanForRefs);
|
|
155
|
-
}
|
|
156
|
-
};
|
|
157
|
-
|
|
158
|
-
scanForRefs(callback);
|
|
159
|
-
|
|
160
|
-
return referencedVars.filter((v) => !definedVars.has(v));
|
|
161
|
-
}
|