@agentteams/runner 0.0.124 → 0.0.125

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.
Files changed (43) hide show
  1. package/dist/executable.js +3 -1
  2. package/dist/executable.js.map +1 -1
  3. package/dist/executable.test.js +11 -0
  4. package/dist/executable.test.js.map +1 -1
  5. package/dist/runners/capabilities.d.ts +1 -1
  6. package/dist/runners/capabilities.js +3 -0
  7. package/dist/runners/capabilities.js.map +1 -1
  8. package/dist/runners/capabilities.test.js +12 -2
  9. package/dist/runners/capabilities.test.js.map +1 -1
  10. package/dist/runners/engine-commands.js +3 -0
  11. package/dist/runners/engine-commands.js.map +1 -1
  12. package/dist/runners/index.js +3 -0
  13. package/dist/runners/index.js.map +1 -1
  14. package/dist/runners/index.test.js +2 -0
  15. package/dist/runners/index.test.js.map +1 -1
  16. package/dist/runners/muse-code-identity.d.ts +8 -0
  17. package/dist/runners/muse-code-identity.js +18 -0
  18. package/dist/runners/muse-code-identity.js.map +1 -0
  19. package/dist/runners/muse-code-json-parser.d.ts +14 -0
  20. package/dist/runners/muse-code-json-parser.js +168 -0
  21. package/dist/runners/muse-code-json-parser.js.map +1 -0
  22. package/dist/runners/muse-code.d.ts +28 -0
  23. package/dist/runners/muse-code.js +327 -0
  24. package/dist/runners/muse-code.js.map +1 -0
  25. package/dist/runners/muse-code.test.d.ts +1 -0
  26. package/dist/runners/muse-code.test.js +237 -0
  27. package/dist/runners/muse-code.test.js.map +1 -0
  28. package/dist/utils/engine-probe.js +5 -2
  29. package/dist/utils/engine-probe.js.map +1 -1
  30. package/dist/utils/engine-probe.test.js +10 -0
  31. package/dist/utils/engine-probe.test.js.map +1 -1
  32. package/dist/utils/model-enumerator.d.ts +5 -0
  33. package/dist/utils/model-enumerator.js +36 -0
  34. package/dist/utils/model-enumerator.js.map +1 -1
  35. package/dist/utils/muse-code-models.d.ts +9 -0
  36. package/dist/utils/muse-code-models.js +81 -0
  37. package/dist/utils/muse-code-models.js.map +1 -0
  38. package/dist/utils/muse-code-models.test.d.ts +1 -0
  39. package/dist/utils/muse-code-models.test.js +81 -0
  40. package/dist/utils/muse-code-models.test.js.map +1 -0
  41. package/native/bin/win32-x64/agentrunner-launcher.exe +0 -0
  42. package/native/bin/win32-x64/manifest.json +2 -2
  43. package/package.json +1 -1
@@ -0,0 +1,81 @@
1
+ import assert from 'node:assert/strict';
2
+ import { EventEmitter } from 'node:events';
3
+ import { readFile } from 'node:fs/promises';
4
+ import { PassThrough } from 'node:stream';
5
+ import test from 'node:test';
6
+ import { executeMuseCodeModelList } from './muse-code-models.js';
7
+ import { enumerateModels, parseMuseCodeModels } from './model-enumerator.js';
8
+ test('Muse model parser reads real four-model catalog without hardcoding a default', async () => {
9
+ const fixture = await readFile(new URL('../runners/fixtures/muse-code-models.json', import.meta.url), 'utf8');
10
+ const result = parseMuseCodeModels(fixture);
11
+ assert.equal(result.status, 'SUCCESS');
12
+ if (result.status !== 'SUCCESS')
13
+ return;
14
+ assert.equal(result.values.length, 4);
15
+ assert.equal(result.values[1].label, 'muse-spark-1.3-contributor (default)');
16
+ assert.equal(result.values[0].maxInputTokens, 1007997);
17
+ assert.deepEqual(await enumerateModels('MUSE_CODE', {
18
+ findMuseCode: async () => '/muse',
19
+ executeMuseCode: async () => ({ stdout: fixture }),
20
+ }), result);
21
+ assert.equal(parseMuseCodeModels('{"models":[null]}').status, 'FORMAT_MISMATCH');
22
+ assert.equal(parseMuseCodeModels('{"models":[]}').status, 'EMPTY_OUTPUT');
23
+ });
24
+ for (const error of [false, true]) {
25
+ test(`Muse MSP orders initialize/initialized/model-list and handles RPC errors (${error})`, async () => {
26
+ const frames = [];
27
+ let killed = false;
28
+ const result = executeMuseCodeModelList('/muse', {
29
+ spawn: ((_cmd, _args, options) => {
30
+ assert.equal(options.windowsHide, true);
31
+ const child = Object.assign(new EventEmitter(), {
32
+ stdin: new PassThrough(),
33
+ stdout: new PassThrough(),
34
+ stderr: new PassThrough(),
35
+ kill: () => {
36
+ killed = true;
37
+ return true;
38
+ },
39
+ });
40
+ child.stdin.on('data', (chunk) => {
41
+ const frame = JSON.parse(String(chunk));
42
+ frames.push(frame);
43
+ queueMicrotask(() => {
44
+ if (frame.method === 'initialize')
45
+ child.stdout.write(JSON.stringify({ jsonrpc: '2.0', id: 1, result: {} }) + '\n');
46
+ if (frame.method === 'model/list')
47
+ child.stdout.write(JSON.stringify({
48
+ jsonrpc: '2.0',
49
+ id: 2,
50
+ ...(error ? { error: { code: -32600, message: 'notInitialized' } } : { result: { models: [] } }),
51
+ }) + '\n');
52
+ });
53
+ });
54
+ return child;
55
+ }),
56
+ });
57
+ if (error)
58
+ await assert.rejects(result, /-32600: notInitialized/);
59
+ else
60
+ assert.equal((await result).stdout, '{"models":[]}');
61
+ assert.deepEqual(frames.map((f) => f.method), ['initialize', 'initialized', 'model/list']);
62
+ assert.equal(killed, true);
63
+ });
64
+ }
65
+ test('Muse MSP times out and kills a silent server', async () => {
66
+ let killed = false;
67
+ await assert.rejects(executeMuseCodeModelList('/muse', {
68
+ timeoutMs: 5,
69
+ spawn: (() => Object.assign(new EventEmitter(), {
70
+ stdin: new PassThrough(),
71
+ stdout: new PassThrough(),
72
+ stderr: new PassThrough(),
73
+ kill: () => {
74
+ killed = true;
75
+ return true;
76
+ },
77
+ })),
78
+ }), /timed out/);
79
+ assert.equal(killed, true);
80
+ });
81
+ //# sourceMappingURL=muse-code-models.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"muse-code-models.test.js","sourceRoot":"","sources":["../../src/utils/muse-code-models.test.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "version": "0.0.124",
3
+ "version": "0.0.125",
4
4
  "platform": "win32",
5
5
  "arch": "x64",
6
6
  "fileName": "agentrunner-launcher.exe",
7
- "sha256": "1161073d995e982e8a24a683e8b63d9bcb8b6e2d08e6560cfbc17b6340817830"
7
+ "sha256": "52b469defe3d78a7ca32c06891ffa997b3bf04e60970e83031891be396fe4376"
8
8
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentteams/runner",
3
- "version": "0.0.124",
3
+ "version": "0.0.125",
4
4
  "description": "AgentRunner - Background runner that polls and executes AI agent tasks",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",