@sena-ai/core 0.0.11 → 0.0.15

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.
@@ -1,5 +1,6 @@
1
1
  import { describe, it, expect } from 'vitest';
2
2
  import { defineConfig } from '../config.js';
3
+ import { defineTool } from '../tool.js';
3
4
  const mockRuntime = {
4
5
  name: 'mock',
5
6
  async *createStream() {
@@ -27,5 +28,42 @@ describe('defineConfig()', () => {
27
28
  });
28
29
  expect(config.orchestrator?.port).toBe(4000);
29
30
  });
31
+ it('throws on duplicate tool names', () => {
32
+ const tool1 = defineTool({
33
+ name: 'slack_get_messages',
34
+ description: 'Get messages from Slack',
35
+ handler: async () => [{ type: 'text', text: 'result' }],
36
+ });
37
+ const tool2 = defineTool({
38
+ name: 'slack_get_messages',
39
+ description: 'Another Slack tool',
40
+ handler: async () => [{ type: 'text', text: 'result' }],
41
+ });
42
+ expect(() => defineConfig({
43
+ name: 'agent',
44
+ runtime: mockRuntime,
45
+ tools: [tool1, tool2],
46
+ })).toThrow('Duplicate tool name "slack_get_messages" — tool names must be unique across all tools.');
47
+ });
48
+ it('allows unique tool names', () => {
49
+ const tool1 = defineTool({
50
+ name: 'slack_get_messages',
51
+ description: 'Get messages from Slack',
52
+ handler: async () => [{ type: 'text', text: 'result' }],
53
+ });
54
+ const tool2 = defineTool({
55
+ name: 'slack_post_message',
56
+ description: 'Post message to Slack',
57
+ handler: async () => [{ type: 'text', text: 'result' }],
58
+ });
59
+ const config = defineConfig({
60
+ name: 'agent',
61
+ runtime: mockRuntime,
62
+ tools: [tool1, tool2],
63
+ });
64
+ expect(config.tools).toHaveLength(2);
65
+ expect(config.tools[0].name).toBe('slack_get_messages');
66
+ expect(config.tools[1].name).toBe('slack_post_message');
67
+ });
30
68
  });
31
69
  //# sourceMappingURL=config.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.test.js","sourceRoot":"","sources":["../../src/__tests__/config.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAG3C,MAAM,WAAW,GAAY;IAC3B,IAAI,EAAE,MAAM;IACZ,KAAK,CAAC,CAAC,YAAY;QACjB,MAAM,EAAE,IAAI,EAAE,QAAiB,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;IAClD,CAAC;CACF,CAAA;AAED,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,MAAM,GAAG,YAAY,CAAC;YAC1B,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,WAAW;SACrB,CAAC,CAAA;QACF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QACtC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACxC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QACrC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QAChC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QAChC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IACtC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,MAAM,GAAG,YAAY,CAAC;YAC1B,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,WAAW;YACpB,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;SAC7B,CAAC,CAAA;QACF,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC9C,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"config.test.js","sourceRoot":"","sources":["../../src/__tests__/config.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tool.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/tool.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,88 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { z } from 'zod';
3
+ import { defineTool, toolResult, isBrandedToolResult, paramsToJsonSchema } from '../tool.js';
4
+ describe('defineTool()', () => {
5
+ it('creates InlineToolPort with correct fields', () => {
6
+ const tool = defineTool({
7
+ name: 'greet',
8
+ description: 'Greets a user',
9
+ params: { name: z.string() },
10
+ handler: async ({ name }) => `Hello, ${name}!`,
11
+ });
12
+ expect(tool.name).toBe('greet');
13
+ expect(tool.type).toBe('inline');
14
+ expect(tool.inline.description).toBe('Greets a user');
15
+ expect(tool.inline.params).toBeDefined();
16
+ expect(tool.inline.inputSchema).toBeDefined();
17
+ // Type check: should be InlineToolPort
18
+ const _typed = tool;
19
+ expect(_typed.type).toBe('inline');
20
+ });
21
+ it('handles optional params in Zod schema (required vs optional)', () => {
22
+ const tool = defineTool({
23
+ name: 'search',
24
+ description: 'Search tool',
25
+ params: {
26
+ query: z.string(),
27
+ limit: z.number().optional(),
28
+ },
29
+ handler: async ({ query }) => `Results for ${query}`,
30
+ });
31
+ const schema = tool.inline.inputSchema;
32
+ expect(schema.type).toBe('object');
33
+ expect(schema.properties).toBeDefined();
34
+ expect(schema.properties.query).toBeDefined();
35
+ expect(schema.properties.limit).toBeDefined();
36
+ // required should only include non-optional fields
37
+ expect(schema.required).toContain('query');
38
+ expect(schema.required).not.toContain('limit');
39
+ });
40
+ it('creates parameterless tool (no params)', () => {
41
+ const tool = defineTool({
42
+ name: 'ping',
43
+ description: 'Ping the server',
44
+ handler: async () => 'pong',
45
+ });
46
+ expect(tool.name).toBe('ping');
47
+ expect(tool.type).toBe('inline');
48
+ expect(tool.inline.params).toBeUndefined();
49
+ const schema = tool.inline.inputSchema;
50
+ expect(schema.type).toBe('object');
51
+ expect(schema.properties).toEqual({});
52
+ });
53
+ it('handler is callable and returns expected value', async () => {
54
+ const tool = defineTool({
55
+ name: 'add',
56
+ description: 'Adds two numbers',
57
+ params: {
58
+ a: z.number(),
59
+ b: z.number(),
60
+ },
61
+ handler: async ({ a, b }) => ({ result: a + b }),
62
+ });
63
+ const result = await tool.inline.handler({ a: 3, b: 4 });
64
+ expect(result).toEqual({ result: 7 });
65
+ });
66
+ });
67
+ describe('toolResult()', () => {
68
+ it('creates branded result and isBrandedToolResult detects it', () => {
69
+ const result = toolResult([{ type: 'text', text: 'hello' }]);
70
+ expect(isBrandedToolResult(result)).toBe(true);
71
+ expect(result.content).toEqual([{ type: 'text', text: 'hello' }]);
72
+ });
73
+ it('plain objects are not branded', () => {
74
+ expect(isBrandedToolResult({})).toBe(false);
75
+ expect(isBrandedToolResult({ content: [] })).toBe(false);
76
+ expect(isBrandedToolResult(null)).toBe(false);
77
+ expect(isBrandedToolResult('string')).toBe(false);
78
+ });
79
+ });
80
+ describe('paramsToJsonSchema()', () => {
81
+ it('converts zod schema to JSON schema', () => {
82
+ const schema = paramsToJsonSchema({ name: z.string(), age: z.number() });
83
+ expect(schema.type).toBe('object');
84
+ expect(schema.properties.name).toBeDefined();
85
+ expect(schema.properties.age).toBeDefined();
86
+ });
87
+ });
88
+ //# sourceMappingURL=tool.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool.test.js","sourceRoot":"","sources":["../../src/__tests__/tool.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE5C,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,GAAG,OAAO,GAAG,WAAW,CAAC,CAAC,GAAG;IACvH,KAAK,EAAE,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAA;IACvC,YAAY,CAAC,EAAE,UAAU,CAAC,cAAc,CAAC,CAAA;CAC1C,CAAA;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,kBAAkB,CAUnE"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE5C,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,GAAG,OAAO,GAAG,WAAW,CAAC,CAAC,GAAG;IACvH,KAAK,EAAE,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAA;IACvC,YAAY,CAAC,EAAE,UAAU,CAAC,cAAc,CAAC,CAAA;CAC1C,CAAA;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,kBAAkB,CAoBnE"}
package/dist/config.js CHANGED
@@ -1,9 +1,18 @@
1
1
  export function defineConfig(config) {
2
+ // Validate tool name uniqueness
3
+ const tools = config.tools ?? [];
4
+ const toolNames = new Set();
5
+ for (const tool of tools) {
6
+ if (toolNames.has(tool.name)) {
7
+ throw new Error(`Duplicate tool name "${tool.name}" — tool names must be unique across all tools.`);
8
+ }
9
+ toolNames.add(tool.name);
10
+ }
2
11
  return {
3
12
  name: config.name,
4
13
  runtime: config.runtime,
5
14
  connectors: config.connectors ?? [],
6
- tools: config.tools ?? [],
15
+ tools,
7
16
  hooks: config.hooks ?? {},
8
17
  schedules: config.schedules ?? [],
9
18
  orchestrator: config.orchestrator,
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,YAAY,CAAC,MAAkB;IAC7C,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,EAAE;QACnC,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;QACzB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;QACzB,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,EAAE;QACjC,YAAY,EAAE,MAAM,CAAC,YAAY;KAClC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,YAAY,CAAC,MAAkB;IAC7C,gCAAgC;IAChC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAA;IAChC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAA;IACnC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,CAAC,IAAI,iDAAiD,CAAC,CAAA;QACrG,CAAC;QACD,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC1B,CAAC;IAED,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,EAAE;QACnC,KAAK;QACL,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;QACzB,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,EAAE;QACjC,YAAY,EAAE,MAAM,CAAC,YAAY;KAClC,CAAA;AACH,CAAC"}
package/dist/index.d.ts CHANGED
@@ -10,4 +10,6 @@ export { createOrchestrator } from './orchestrator.js';
10
10
  export { createWorker } from './worker.js';
11
11
  export { createScheduler } from './scheduler.js';
12
12
  export type { SchedulerOptions } from './scheduler.js';
13
+ export { defineTool, toolResult, isBrandedToolResult, paramsToJsonSchema } from './tool.js';
14
+ export type { DefineToolOptions, BrandedToolResult } from './tool.js';
13
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,YAAY,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC9C,YAAY,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,YAAY,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,YAAY,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC9C,YAAY,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,YAAY,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAC3F,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA"}
package/dist/index.js CHANGED
@@ -6,4 +6,5 @@ export { createAgent } from './agent.js';
6
6
  export { createOrchestrator } from './orchestrator.js';
7
7
  export { createWorker } from './worker.js';
8
8
  export { createScheduler } from './scheduler.js';
9
+ export { defineTool, toolResult, isBrandedToolResult, paramsToJsonSchema } from './tool.js';
9
10
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAE9C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAExC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAE9C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAExC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAEhD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA"}
package/dist/tool.d.ts ADDED
@@ -0,0 +1,19 @@
1
+ import { type ZodSchema } from 'zod';
2
+ import type { InlineToolPort, ToolContent, InlineToolDef } from './types.js';
3
+ declare const TOOL_RESULT: unique symbol;
4
+ export type BrandedToolResult = {
5
+ [TOOL_RESULT]: true;
6
+ content: ToolContent[];
7
+ };
8
+ export type DefineToolOptions = {
9
+ name: string;
10
+ description: string;
11
+ params?: Record<string, ZodSchema>;
12
+ handler: InlineToolDef['handler'];
13
+ };
14
+ export declare function defineTool(options: DefineToolOptions): InlineToolPort;
15
+ export declare function toolResult(content: ToolContent[]): BrandedToolResult;
16
+ export declare function isBrandedToolResult(value: unknown): value is BrandedToolResult;
17
+ export declare function paramsToJsonSchema(params: Record<string, ZodSchema>): Record<string, unknown>;
18
+ export {};
19
+ //# sourceMappingURL=tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../src/tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAK,KAAK,SAAS,EAAE,MAAM,KAAK,CAAA;AACvC,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE5E,QAAA,MAAM,WAAW,EAAE,OAAO,MAA6B,CAAA;AAEvD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,CAAC,WAAW,CAAC,EAAE,IAAI,CAAA;IACnB,OAAO,EAAE,WAAW,EAAE,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAClC,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,CAAA;CAClC,CAAA;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,cAAc,CAcrE;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,iBAAiB,CAEpE;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,iBAAiB,CAE9E;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAG7F"}
package/dist/tool.js ADDED
@@ -0,0 +1,28 @@
1
+ import { z } from 'zod';
2
+ const TOOL_RESULT = Symbol('ToolResult');
3
+ export function defineTool(options) {
4
+ const inputSchema = options.params
5
+ ? paramsToJsonSchema(options.params)
6
+ : { type: 'object', properties: {} };
7
+ return {
8
+ name: options.name,
9
+ type: 'inline',
10
+ inline: {
11
+ description: options.description,
12
+ params: options.params,
13
+ inputSchema,
14
+ handler: options.handler,
15
+ },
16
+ };
17
+ }
18
+ export function toolResult(content) {
19
+ return { [TOOL_RESULT]: true, content };
20
+ }
21
+ export function isBrandedToolResult(value) {
22
+ return typeof value === 'object' && value !== null && TOOL_RESULT in value;
23
+ }
24
+ export function paramsToJsonSchema(params) {
25
+ const schema = z.object(params);
26
+ return z.toJSONSchema(schema);
27
+ }
28
+ //# sourceMappingURL=tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool.js","sourceRoot":"","sources":["../src/tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAkB,MAAM,KAAK,CAAA;AAGvC,MAAM,WAAW,GAAkB,MAAM,CAAC,YAAY,CAAC,CAAA;AAcvD,MAAM,UAAU,UAAU,CAAC,OAA0B;IACnD,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM;QAChC,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC;QACpC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAiB,EAAE,UAAU,EAAE,EAAE,EAAE,CAAA;IAC/C,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE;YACN,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,WAAW;YACX,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB;KACF,CAAA;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAAsB;IAC/C,OAAO,EAAE,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;AACzC,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAChD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,WAAW,IAAI,KAAK,CAAA;AAC5E,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAAiC;IAClE,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAC/B,OAAO,CAAC,CAAC,YAAY,CAAC,MAAM,CAA4B,CAAA;AAC1D,CAAC"}
package/dist/types.d.ts CHANGED
@@ -143,11 +143,33 @@ export type Connector = {
143
143
  createOutput(context: ConnectorOutputContext): ConnectorOutput;
144
144
  };
145
145
  export type McpConfig = Record<string, unknown>;
146
- export type ToolPort = {
146
+ export type McpToolPort = {
147
147
  name: string;
148
- type: 'builtin' | 'mcp-http' | 'mcp-stdio';
148
+ type: 'mcp-http' | 'mcp-stdio';
149
149
  toMcpConfig(runtime: RuntimeInfo): McpConfig;
150
150
  };
151
+ export type ToolContent = {
152
+ type: 'text';
153
+ text: string;
154
+ } | {
155
+ type: 'image';
156
+ data: string;
157
+ mimeType: string;
158
+ };
159
+ export type { BrandedToolResult } from './tool.js';
160
+ import type { BrandedToolResult } from './tool.js';
161
+ export type InlineToolDef = {
162
+ description: string;
163
+ params?: Record<string, import('zod').ZodSchema>;
164
+ inputSchema: Record<string, unknown>;
165
+ handler: (params: any) => string | object | BrandedToolResult | Promise<string | object | BrandedToolResult>;
166
+ };
167
+ export type InlineToolPort = {
168
+ name: string;
169
+ type: 'inline';
170
+ inline: InlineToolDef;
171
+ };
172
+ export type ToolPort = McpToolPort | InlineToolPort;
151
173
  export type Schedule = {
152
174
  name: string;
153
175
  type: 'cron' | 'heartbeat';
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/worker.d.ts CHANGED
@@ -1,7 +1,9 @@
1
1
  import type { ResolvedSenaConfig } from './config.js';
2
+ import type { SessionStore } from './types.js';
2
3
  export type WorkerOptions = {
3
4
  config: ResolvedSenaConfig;
4
5
  port?: number;
6
+ sessionStore?: SessionStore;
5
7
  };
6
8
  /**
7
9
  * Creates and starts a Worker that runs connectors, hooks, runtime, and scheduler.
@@ -1 +1 @@
1
- {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAIrD,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,kBAAkB,CAAA;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,aAAa;iBAuFzB,OAAO,CAAC,IAAI,CAAC;gBA4Dd,OAAO,CAAC,IAAI,CAAC;;;;EAYrC"}
1
+ {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AACrD,OAAO,KAAK,EAAuC,YAAY,EAAc,MAAM,YAAY,CAAA;AAG/F,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,kBAAkB,CAAA;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,YAAY,CAAC,EAAE,YAAY,CAAA;CAC5B,CAAA;AAYD;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,aAAa;iBAqGzB,OAAO,CAAC,IAAI,CAAC;gBA4Dd,OAAO,CAAC,IAAI,CAAC;;;;EAYrC"}
package/dist/worker.js CHANGED
@@ -1,10 +1,20 @@
1
1
  import { createServer } from 'node:http';
2
2
  import { createTurnEngine } from './engine.js';
3
+ /** Simple in-memory session store (conversationId → SDK sessionId) */
4
+ function createInMemorySessionStore() {
5
+ const map = new Map();
6
+ return {
7
+ async get(conversationId) { return map.get(conversationId) ?? null; },
8
+ async set(conversationId, sessionId) { map.set(conversationId, sessionId); },
9
+ async delete(conversationId) { map.delete(conversationId); },
10
+ };
11
+ }
3
12
  /**
4
13
  * Creates and starts a Worker that runs connectors, hooks, runtime, and scheduler.
5
14
  */
6
15
  export function createWorker(options) {
7
16
  const { config, port = parseInt(process.env.SENA_WORKER_PORT ?? '0', 10) } = options;
17
+ const sessionStore = options.sessionStore ?? createInMemorySessionStore();
8
18
  let server = null;
9
19
  const engine = createTurnEngine({
10
20
  name: config.name,
@@ -30,9 +40,15 @@ export function createWorker(options) {
30
40
  connector: event.connector,
31
41
  });
32
42
  try {
43
+ // Look up existing session for this conversation
44
+ const existingSessionId = await sessionStore.get(event.conversationId);
45
+ if (existingSessionId) {
46
+ console.log(`[worker] resuming session ${existingSessionId.slice(0, 8)} for ${event.conversationId}`);
47
+ }
33
48
  const trace = await engine.processTurn({
34
49
  input: event.text,
35
50
  trigger: 'connector',
51
+ sessionId: existingSessionId,
36
52
  connector: {
37
53
  name: event.connector,
38
54
  conversationId: event.conversationId,
@@ -47,6 +63,11 @@ export function createWorker(options) {
47
63
  }
48
64
  } : undefined,
49
65
  });
66
+ // Save session ID for future turns in this conversation
67
+ if (trace.result?.sessionId) {
68
+ await sessionStore.set(event.conversationId, trace.result.sessionId);
69
+ console.log(`[worker] saved session ${trace.result.sessionId.slice(0, 8)} for ${event.conversationId}`);
70
+ }
50
71
  // Send result or error to the connector
51
72
  if (trace.result) {
52
73
  console.log(`[worker] sending result to ${event.connector} (${trace.result.text.length}ch)`);
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sena-ai/core",
3
- "version": "0.0.11",
3
+ "version": "0.0.15",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -12,11 +12,14 @@
12
12
  "files": [
13
13
  "dist"
14
14
  ],
15
+ "devDependencies": {
16
+ "typescript": "^5.8.0"
17
+ },
18
+ "dependencies": {
19
+ "zod": "^4.3.6"
20
+ },
15
21
  "scripts": {
16
22
  "build": "tsc -b",
17
23
  "dev": "tsc -b --watch"
18
- },
19
- "devDependencies": {
20
- "typescript": "^5.8.0"
21
24
  }
22
- }
25
+ }