@goondan/openharness-base 0.1.7 → 0.1.9

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 (98) hide show
  1. package/package.json +14 -9
  2. package/dist/extensions/compaction.d.ts +0 -12
  3. package/dist/extensions/compaction.d.ts.map +0 -1
  4. package/dist/extensions/compaction.js +0 -159
  5. package/dist/extensions/compaction.js.map +0 -1
  6. package/dist/extensions/context-message.d.ts +0 -9
  7. package/dist/extensions/context-message.d.ts.map +0 -1
  8. package/dist/extensions/context-message.js +0 -446
  9. package/dist/extensions/context-message.js.map +0 -1
  10. package/dist/extensions/index.d.ts +0 -13
  11. package/dist/extensions/index.d.ts.map +0 -1
  12. package/dist/extensions/index.js +0 -7
  13. package/dist/extensions/index.js.map +0 -1
  14. package/dist/extensions/logging.d.ts +0 -11
  15. package/dist/extensions/logging.d.ts.map +0 -1
  16. package/dist/extensions/logging.js +0 -140
  17. package/dist/extensions/logging.js.map +0 -1
  18. package/dist/extensions/message-window.d.ts +0 -7
  19. package/dist/extensions/message-window.d.ts.map +0 -1
  20. package/dist/extensions/message-window.js +0 -60
  21. package/dist/extensions/message-window.js.map +0 -1
  22. package/dist/extensions/required-tools-guard.d.ts +0 -9
  23. package/dist/extensions/required-tools-guard.d.ts.map +0 -1
  24. package/dist/extensions/required-tools-guard.js +0 -74
  25. package/dist/extensions/required-tools-guard.js.map +0 -1
  26. package/dist/extensions/tool-search.d.ts +0 -10
  27. package/dist/extensions/tool-search.d.ts.map +0 -1
  28. package/dist/extensions/tool-search.js +0 -198
  29. package/dist/extensions/tool-search.js.map +0 -1
  30. package/dist/harness.yaml +0 -503
  31. package/dist/index.d.ts.map +0 -1
  32. package/dist/index.js.map +0 -1
  33. package/dist/manifests/base.d.ts +0 -8
  34. package/dist/manifests/base.d.ts.map +0 -1
  35. package/dist/manifests/base.js +0 -352
  36. package/dist/manifests/base.js.map +0 -1
  37. package/dist/manifests/index.d.ts +0 -3
  38. package/dist/manifests/index.d.ts.map +0 -1
  39. package/dist/manifests/index.js +0 -2
  40. package/dist/manifests/index.js.map +0 -1
  41. package/dist/tools/bash.d.ts +0 -8
  42. package/dist/tools/bash.d.ts.map +0 -1
  43. package/dist/tools/bash.js +0 -119
  44. package/dist/tools/bash.js.map +0 -1
  45. package/dist/tools/file-system.d.ts +0 -12
  46. package/dist/tools/file-system.d.ts.map +0 -1
  47. package/dist/tools/file-system.js +0 -117
  48. package/dist/tools/file-system.js.map +0 -1
  49. package/dist/tools/http-fetch.d.ts +0 -8
  50. package/dist/tools/http-fetch.d.ts.map +0 -1
  51. package/dist/tools/http-fetch.js +0 -149
  52. package/dist/tools/http-fetch.js.map +0 -1
  53. package/dist/tools/index.d.ts +0 -7
  54. package/dist/tools/index.d.ts.map +0 -1
  55. package/dist/tools/index.js +0 -7
  56. package/dist/tools/index.js.map +0 -1
  57. package/dist/tools/json-query.d.ts +0 -12
  58. package/dist/tools/json-query.d.ts.map +0 -1
  59. package/dist/tools/json-query.js +0 -176
  60. package/dist/tools/json-query.js.map +0 -1
  61. package/dist/tools/text-transform.d.ts +0 -16
  62. package/dist/tools/text-transform.d.ts.map +0 -1
  63. package/dist/tools/text-transform.js +0 -127
  64. package/dist/tools/text-transform.js.map +0 -1
  65. package/dist/tools/wait.d.ts +0 -6
  66. package/dist/tools/wait.d.ts.map +0 -1
  67. package/dist/tools/wait.js +0 -32
  68. package/dist/tools/wait.js.map +0 -1
  69. package/dist/types.d.ts +0 -4
  70. package/dist/types.d.ts.map +0 -1
  71. package/dist/types.js +0 -6
  72. package/dist/types.js.map +0 -1
  73. package/dist/utils.d.ts +0 -17
  74. package/dist/utils.d.ts.map +0 -1
  75. package/dist/utils.js +0 -159
  76. package/dist/utils.js.map +0 -1
  77. package/src/__tests__/basic-system-prompt.test.ts +0 -186
  78. package/src/__tests__/compaction-summarize.test.ts +0 -282
  79. package/src/__tests__/logging.test.ts +0 -200
  80. package/src/__tests__/message-window.test.ts +0 -194
  81. package/src/__tests__/required-tools-guard.test.ts +0 -207
  82. package/src/__tests__/tool-search.test.ts +0 -187
  83. package/src/__tests__/tools.test.ts +0 -332
  84. package/src/extensions/basic-system-prompt.ts +0 -48
  85. package/src/extensions/compaction-summarize.ts +0 -104
  86. package/src/extensions/logging.ts +0 -42
  87. package/src/extensions/message-window.ts +0 -23
  88. package/src/extensions/required-tools-guard.ts +0 -24
  89. package/src/extensions/tool-search.ts +0 -38
  90. package/src/index.ts +0 -16
  91. package/src/tools/bash.ts +0 -38
  92. package/src/tools/file-system.ts +0 -83
  93. package/src/tools/http-fetch.ts +0 -64
  94. package/src/tools/json-query.ts +0 -71
  95. package/src/tools/text-transform.ts +0 -59
  96. package/src/tools/wait.ts +0 -46
  97. package/tsconfig.json +0 -8
  98. package/vitest.config.ts +0 -7
@@ -1 +0,0 @@
1
- {"version":3,"file":"context-message.js","sourceRoot":"","sources":["../../src/extensions/context-message.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- export { register as registerLoggingExtension, registerLoggingExtension as createLoggingExtension, } from './logging.js';
2
- export type { LoggingExtensionConfig } from './logging.js';
3
- export { register as registerCompactionExtension, registerCompactionExtension as createCompactionExtension, } from './compaction.js';
4
- export type { CompactionExtensionConfig } from './compaction.js';
5
- export { register as registerMessageWindowExtension, registerMessageWindowExtension as createMessageWindowExtension, } from './message-window.js';
6
- export type { MessageWindowExtensionConfig } from './message-window.js';
7
- export { register as registerToolSearchExtension, registerToolSearchExtension as createToolSearchExtension, } from './tool-search.js';
8
- export type { ToolSearchExtensionConfig } from './tool-search.js';
9
- export { register as registerContextMessageExtension, register as createContextMessageExtension, } from './context-message.js';
10
- export type { ContextMessageExtensionConfig } from './context-message.js';
11
- export { register as registerRequiredToolsGuardExtension } from './required-tools-guard.js';
12
- export type { RequiredToolsGuardConfig } from './required-tools-guard.js';
13
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/extensions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,IAAI,wBAAwB,EACpC,wBAAwB,IAAI,sBAAsB,GACnD,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAE3D,OAAO,EACL,QAAQ,IAAI,2BAA2B,EACvC,2BAA2B,IAAI,yBAAyB,GACzD,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAEjE,OAAO,EACL,QAAQ,IAAI,8BAA8B,EAC1C,8BAA8B,IAAI,4BAA4B,GAC/D,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AAExE,OAAO,EACL,QAAQ,IAAI,2BAA2B,EACvC,2BAA2B,IAAI,yBAAyB,GACzD,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAElE,OAAO,EACL,QAAQ,IAAI,+BAA+B,EAC3C,QAAQ,IAAI,6BAA6B,GAC1C,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AAE1E,OAAO,EAAE,QAAQ,IAAI,mCAAmC,EAAE,MAAM,2BAA2B,CAAC;AAC5F,YAAY,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC"}
@@ -1,7 +0,0 @@
1
- export { register as registerLoggingExtension, registerLoggingExtension as createLoggingExtension, } from './logging.js';
2
- export { register as registerCompactionExtension, registerCompactionExtension as createCompactionExtension, } from './compaction.js';
3
- export { register as registerMessageWindowExtension, registerMessageWindowExtension as createMessageWindowExtension, } from './message-window.js';
4
- export { register as registerToolSearchExtension, registerToolSearchExtension as createToolSearchExtension, } from './tool-search.js';
5
- export { register as registerContextMessageExtension, register as createContextMessageExtension, } from './context-message.js';
6
- export { register as registerRequiredToolsGuardExtension } from './required-tools-guard.js';
7
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/extensions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,IAAI,wBAAwB,EACpC,wBAAwB,IAAI,sBAAsB,GACnD,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,QAAQ,IAAI,2BAA2B,EACvC,2BAA2B,IAAI,yBAAyB,GACzD,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,QAAQ,IAAI,8BAA8B,EAC1C,8BAA8B,IAAI,4BAA4B,GAC/D,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,QAAQ,IAAI,2BAA2B,EACvC,2BAA2B,IAAI,yBAAyB,GACzD,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,QAAQ,IAAI,+BAA+B,EAC3C,QAAQ,IAAI,6BAA6B,GAC1C,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,QAAQ,IAAI,mCAAmC,EAAE,MAAM,2BAA2B,CAAC"}
@@ -1,11 +0,0 @@
1
- import type { ExtensionApi } from '../types.js';
2
- type LogLevel = 'debug' | 'info' | 'warn' | 'error';
3
- export interface LoggingExtensionConfig {
4
- level?: LogLevel;
5
- includeToolArgs?: boolean;
6
- includeTurnMetadata?: boolean;
7
- }
8
- export declare function registerLoggingExtension(api: ExtensionApi, config?: LoggingExtensionConfig): void;
9
- export declare function register(api: ExtensionApi, config?: LoggingExtensionConfig): void;
10
- export {};
11
- //# sourceMappingURL=logging.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../../src/extensions/logging.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EAIb,MAAM,aAAa,CAAC;AAErB,KAAK,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAEpD,MAAM,WAAW,sBAAsB;IACrC,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAsCD,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,YAAY,EACjB,MAAM,GAAE,sBAA2B,GAClC,IAAI,CA0GN;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAEjF"}
@@ -1,140 +0,0 @@
1
- const LOG_LEVEL_WEIGHT = {
2
- debug: 10,
3
- info: 20,
4
- warn: 30,
5
- error: 40,
6
- };
7
- function toErrorMessage(error) {
8
- if (error instanceof Error) {
9
- return error.message;
10
- }
11
- return String(error);
12
- }
13
- function shouldLog(minimum, level) {
14
- return LOG_LEVEL_WEIGHT[level] >= LOG_LEVEL_WEIGHT[minimum];
15
- }
16
- function buildTurnMeta(ctx) {
17
- return {
18
- turnId: ctx.turnId,
19
- traceId: ctx.traceId,
20
- inputType: ctx.inputEvent.type,
21
- };
22
- }
23
- function buildToolMeta(ctx) {
24
- return {
25
- turnId: ctx.turnId,
26
- traceId: ctx.traceId,
27
- stepIndex: ctx.stepIndex,
28
- toolCallId: ctx.toolCallId,
29
- toolName: ctx.toolName,
30
- };
31
- }
32
- export function registerLoggingExtension(api, config = {}) {
33
- const level = config.level ?? 'info';
34
- const includeToolArgs = config.includeToolArgs ?? false;
35
- const includeTurnMetadata = config.includeTurnMetadata ?? true;
36
- api.pipeline.register('turn', async (ctx) => {
37
- const startedAt = Date.now();
38
- if (shouldLog(level, 'info')) {
39
- if (includeTurnMetadata) {
40
- api.logger.info('[logging.turn] start', buildTurnMeta(ctx));
41
- }
42
- else {
43
- api.logger.info(`[logging.turn] start turnId=${ctx.turnId}`);
44
- }
45
- }
46
- try {
47
- const result = await ctx.next();
48
- if (shouldLog(level, 'info')) {
49
- api.logger.info('[logging.turn] complete', {
50
- turnId: ctx.turnId,
51
- durationMs: Date.now() - startedAt,
52
- finishReason: result.finishReason,
53
- });
54
- }
55
- return result;
56
- }
57
- catch (error) {
58
- if (shouldLog(level, 'error')) {
59
- api.logger.error('[logging.turn] failed', {
60
- turnId: ctx.turnId,
61
- durationMs: Date.now() - startedAt,
62
- error: toErrorMessage(error),
63
- });
64
- }
65
- throw error;
66
- }
67
- });
68
- api.pipeline.register('step', async (ctx) => {
69
- const startedAt = Date.now();
70
- if (shouldLog(level, 'info')) {
71
- api.logger.info('[logging.step] start', {
72
- turnId: ctx.turnId,
73
- stepIndex: ctx.stepIndex,
74
- catalogSize: ctx.toolCatalog.length,
75
- });
76
- }
77
- try {
78
- const result = await ctx.next();
79
- if (shouldLog(level, 'info')) {
80
- api.logger.info('[logging.step] complete', {
81
- turnId: ctx.turnId,
82
- stepIndex: ctx.stepIndex,
83
- durationMs: Date.now() - startedAt,
84
- shouldContinue: result.shouldContinue,
85
- });
86
- }
87
- return result;
88
- }
89
- catch (error) {
90
- if (shouldLog(level, 'error')) {
91
- api.logger.error('[logging.step] failed', {
92
- turnId: ctx.turnId,
93
- stepIndex: ctx.stepIndex,
94
- durationMs: Date.now() - startedAt,
95
- error: toErrorMessage(error),
96
- });
97
- }
98
- throw error;
99
- }
100
- });
101
- api.pipeline.register('toolCall', async (ctx) => {
102
- const startedAt = Date.now();
103
- if (shouldLog(level, 'debug')) {
104
- if (includeToolArgs) {
105
- api.logger.debug('[logging.toolCall] start', {
106
- ...buildToolMeta(ctx),
107
- args: ctx.args,
108
- });
109
- }
110
- else {
111
- api.logger.debug('[logging.toolCall] start', buildToolMeta(ctx));
112
- }
113
- }
114
- try {
115
- const result = await ctx.next();
116
- if (shouldLog(level, 'debug')) {
117
- api.logger.debug('[logging.toolCall] complete', {
118
- ...buildToolMeta(ctx),
119
- durationMs: Date.now() - startedAt,
120
- status: result.status,
121
- });
122
- }
123
- return result;
124
- }
125
- catch (error) {
126
- if (shouldLog(level, 'error')) {
127
- api.logger.error('[logging.toolCall] failed', {
128
- ...buildToolMeta(ctx),
129
- durationMs: Date.now() - startedAt,
130
- error: toErrorMessage(error),
131
- });
132
- }
133
- throw error;
134
- }
135
- });
136
- }
137
- export function register(api, config) {
138
- registerLoggingExtension(api, config);
139
- }
140
- //# sourceMappingURL=logging.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logging.js","sourceRoot":"","sources":["../../src/extensions/logging.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- import type { ExtensionApi } from '../types.js';
2
- export interface MessageWindowExtensionConfig {
3
- maxMessages?: number;
4
- }
5
- export declare function registerMessageWindowExtension(api: ExtensionApi, config?: MessageWindowExtensionConfig): void;
6
- export declare function register(api: ExtensionApi, config?: MessageWindowExtensionConfig): void;
7
- //# sourceMappingURL=message-window.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"message-window.d.ts","sourceRoot":"","sources":["../../src/extensions/message-window.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAyB,MAAM,aAAa,CAAC;AAGvE,MAAM,WAAW,4BAA4B;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAmBD,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,YAAY,EACjB,MAAM,CAAC,EAAE,4BAA4B,GACpC,IAAI,CA+CN;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,4BAA4B,GAAG,IAAI,CAEvF"}
@@ -1,60 +0,0 @@
1
- import { normalizeRemovalTargets } from './message-integrity.js';
2
- const DEFAULT_CONFIG = {
3
- maxMessages: 40,
4
- };
5
- function isPinned(message) {
6
- return message.metadata.pinned === true;
7
- }
8
- function resolveMaxMessages(config) {
9
- const value = config?.maxMessages;
10
- if (typeof value !== 'number' || !Number.isFinite(value) || value < 1) {
11
- return DEFAULT_CONFIG.maxMessages;
12
- }
13
- return Math.floor(value);
14
- }
15
- export function registerMessageWindowExtension(api, config) {
16
- const maxMessages = resolveMaxMessages(config);
17
- api.pipeline.register('turn', async (ctx) => {
18
- const messages = ctx.conversationState.nextMessages;
19
- const removedIds = new Set();
20
- if (messages.length > maxMessages) {
21
- const removeCount = messages.length - maxMessages;
22
- let removed = 0;
23
- for (const message of messages) {
24
- if (removed >= removeCount) {
25
- break;
26
- }
27
- if (!message) {
28
- continue;
29
- }
30
- if (isPinned(message)) {
31
- continue;
32
- }
33
- removedIds.add(message.id);
34
- removed += 1;
35
- }
36
- }
37
- const normalizedRemovedIds = normalizeRemovalTargets(messages, removedIds);
38
- if (normalizedRemovedIds.size === 0) {
39
- return ctx.next();
40
- }
41
- const events = [];
42
- for (const message of messages) {
43
- if (!normalizedRemovedIds.has(message.id)) {
44
- continue;
45
- }
46
- events.push({
47
- type: 'remove',
48
- targetId: message.id,
49
- });
50
- }
51
- for (const event of events) {
52
- ctx.emitMessageEvent(event);
53
- }
54
- return ctx.next();
55
- });
56
- }
57
- export function register(api, config) {
58
- registerMessageWindowExtension(api, config);
59
- }
60
- //# sourceMappingURL=message-window.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"message-window.js","sourceRoot":"","sources":["../../src/extensions/message-window.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAMjE,MAAM,cAAc,GAA2C;IAC7D,WAAW,EAAE,EAAE;CAChB,CAAC;AAEF,SAAS,QAAQ,CAAC,OAAgB;IAChC,OAAO,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC;AAC1C,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAqC;IAC/D,MAAM,KAAK,GAAG,MAAM,EAAE,WAAW,CAAC;IAClC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACtE,OAAO,cAAc,CAAC,WAAW,CAAC;IACpC,CAAC;IAED,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,GAAiB,EACjB,MAAqC;IAErC,MAAM,WAAW,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAE/C,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC1C,MAAM,QAAQ,GAAG,GAAG,CAAC,iBAAiB,CAAC,YAAY,CAAC;QACpD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QACrC,IAAI,QAAQ,CAAC,MAAM,GAAG,WAAW,EAAE,CAAC;YAClC,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,GAAG,WAAW,CAAC;YAClD,IAAI,OAAO,GAAG,CAAC,CAAC;YAChB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,IAAI,OAAO,IAAI,WAAW,EAAE,CAAC;oBAC3B,MAAM;gBACR,CAAC;gBACD,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,SAAS;gBACX,CAAC;gBACD,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;oBACtB,SAAS;gBACX,CAAC;gBACD,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC3B,OAAO,IAAI,CAAC,CAAC;YACf,CAAC;QACH,CAAC;QAED,MAAM,oBAAoB,GAAG,uBAAuB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC3E,IAAI,oBAAoB,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACpC,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC;QAED,MAAM,MAAM,GAAmB,EAAE,CAAC;QAClC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC1C,SAAS;YACX,CAAC;YAED,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,OAAO,CAAC,EAAE;aACrB,CAAC,CAAC;QACL,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,GAAG,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;QAED,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,GAAiB,EAAE,MAAqC;IAC/E,8BAA8B,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AAC9C,CAAC"}
@@ -1,9 +0,0 @@
1
- import type { ExtensionApi } from '../types.js';
2
- export interface RequiredToolsGuardConfig {
3
- /** Turn 종료 전 반드시 성공 호출되어야 하는 tool 이름 목록 (최소 1개). */
4
- requiredTools?: string[];
5
- /** 미충족 시 LLM에 주입할 오류 메시지. */
6
- errorMessage?: string;
7
- }
8
- export declare function register(api: ExtensionApi, config?: RequiredToolsGuardConfig): void;
9
- //# sourceMappingURL=required-tools-guard.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"required-tools-guard.d.ts","sourceRoot":"","sources":["../../src/extensions/required-tools-guard.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,WAAW,wBAAwB;IACvC,oDAAoD;IACpD,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,6BAA6B;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AA8BD,wBAAgB,QAAQ,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,wBAAwB,GAAG,IAAI,CAwDnF"}
@@ -1,74 +0,0 @@
1
- import { randomUUID } from "node:crypto";
2
- function createUserMessage(text) {
3
- return {
4
- id: `rtg_${randomUUID()}`,
5
- data: { role: 'user', content: text },
6
- metadata: { __createdBy: 'required-tools-guard' },
7
- createdAt: new Date(),
8
- };
9
- }
10
- function normalizeConfig(raw) {
11
- const config = {};
12
- if (Array.isArray(raw?.requiredTools)) {
13
- const requiredTools = raw.requiredTools.filter((entry) => typeof entry === 'string' && entry.trim().length > 0);
14
- if (requiredTools.length > 0) {
15
- config.requiredTools = requiredTools;
16
- }
17
- }
18
- if (typeof raw?.errorMessage === 'string') {
19
- config.errorMessage = raw.errorMessage;
20
- }
21
- return config;
22
- }
23
- export function register(api, config) {
24
- const rawConfig = normalizeConfig(config);
25
- const requiredTools = Array.isArray(rawConfig.requiredTools) ? rawConfig.requiredTools : [];
26
- const errorMessage = typeof rawConfig.errorMessage === 'string' && rawConfig.errorMessage.trim().length > 0
27
- ? rawConfig.errorMessage
28
- : `다음 도구 중 하나를 반드시 호출하세요: ${requiredTools.join(', ')}`;
29
- if (requiredTools.length === 0)
30
- return;
31
- // turnId별 성공한 tool 호출 추적
32
- const calledToolsPerTurn = new Map();
33
- api.pipeline.register('turn', async (ctx) => {
34
- // turn 경계에서 누적 상태를 강제 리셋한다.
35
- calledToolsPerTurn.clear();
36
- calledToolsPerTurn.set(ctx.turnId, new Set());
37
- try {
38
- return await ctx.next();
39
- }
40
- finally {
41
- calledToolsPerTurn.delete(ctx.turnId);
42
- calledToolsPerTurn.clear();
43
- }
44
- });
45
- api.pipeline.register('toolCall', async (ctx) => {
46
- const result = await ctx.next();
47
- if (result.status === 'ok') {
48
- if (!calledToolsPerTurn.has(ctx.turnId)) {
49
- calledToolsPerTurn.set(ctx.turnId, new Set());
50
- }
51
- calledToolsPerTurn.get(ctx.turnId)?.add(ctx.toolName);
52
- }
53
- return result;
54
- });
55
- api.pipeline.register('step', async (ctx) => {
56
- const result = await ctx.next();
57
- if (result.shouldContinue)
58
- return result;
59
- // 현재 step의 결과도 반영
60
- const calledTools = calledToolsPerTurn.get(ctx.turnId) ?? new Set();
61
- for (const tr of result.toolResults) {
62
- if (tr.status === 'ok')
63
- calledTools.add(tr.toolName);
64
- }
65
- const satisfied = requiredTools.some((t) => calledTools.has(t));
66
- if (satisfied) {
67
- calledToolsPerTurn.delete(ctx.turnId);
68
- return result;
69
- }
70
- ctx.emitMessageEvent({ type: 'append', message: createUserMessage(errorMessage) });
71
- return { ...result, shouldContinue: true };
72
- });
73
- }
74
- //# sourceMappingURL=required-tools-guard.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"required-tools-guard.js","sourceRoot":"","sources":["../../src/extensions/required-tools-guard.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- import type { ExtensionApi } from '../types.js';
2
- export interface ToolSearchExtensionConfig {
3
- toolName?: string;
4
- maxResults?: number;
5
- minQueryLength?: number;
6
- persistSelection?: boolean;
7
- }
8
- export declare function registerToolSearchExtension(api: ExtensionApi, config?: ToolSearchExtensionConfig): void;
9
- export declare function register(api: ExtensionApi, config?: ToolSearchExtensionConfig): void;
10
- //# sourceMappingURL=tool-search.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tool-search.d.ts","sourceRoot":"","sources":["../../src/extensions/tool-search.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EAOb,MAAM,aAAa,CAAC;AAOrB,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AA8ND,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,YAAY,EACjB,MAAM,CAAC,EAAE,yBAAyB,GACjC,IAAI,CAqCN;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,yBAAyB,GAAG,IAAI,CAEpF"}
@@ -1,198 +0,0 @@
1
- import { isJsonObject, optionalNumber, requireString, } from '../utils.js';
2
- const DEFAULT_CONFIG = {
3
- toolName: 'tool-search__search',
4
- maxResults: 10,
5
- minQueryLength: 1,
6
- persistSelection: true,
7
- };
8
- function readStringArray(value) {
9
- if (!Array.isArray(value)) {
10
- return [];
11
- }
12
- const output = [];
13
- for (const item of value) {
14
- if (typeof item === 'string') {
15
- output.push(item);
16
- }
17
- }
18
- return output;
19
- }
20
- function readSnapshot(value) {
21
- if (!Array.isArray(value)) {
22
- return [];
23
- }
24
- const snapshot = [];
25
- for (const item of value) {
26
- if (!isJsonObject(item)) {
27
- continue;
28
- }
29
- const name = item.name;
30
- const description = item.description;
31
- if (typeof name !== 'string') {
32
- continue;
33
- }
34
- if (description !== undefined && typeof description !== 'string') {
35
- continue;
36
- }
37
- snapshot.push({ name, description });
38
- }
39
- return snapshot;
40
- }
41
- function readState(raw) {
42
- if (!isJsonObject(raw)) {
43
- return {
44
- selectedTools: [],
45
- catalogSnapshot: [],
46
- };
47
- }
48
- const selectedTools = readStringArray(raw.selectedTools);
49
- const catalogSnapshot = readSnapshot(raw.catalogSnapshot);
50
- const lastQuery = typeof raw.lastQuery === 'string' ? raw.lastQuery : undefined;
51
- return {
52
- selectedTools,
53
- catalogSnapshot,
54
- lastQuery,
55
- };
56
- }
57
- function writeState(state) {
58
- const serializedSnapshot = [];
59
- for (const item of state.catalogSnapshot) {
60
- const row = { name: item.name };
61
- if (item.description) {
62
- row.description = item.description;
63
- }
64
- serializedSnapshot.push(row);
65
- }
66
- const output = {
67
- selectedTools: state.selectedTools,
68
- catalogSnapshot: serializedSnapshot,
69
- };
70
- if (state.lastQuery) {
71
- output.lastQuery = state.lastQuery;
72
- }
73
- return output;
74
- }
75
- function normalizeQuery(query) {
76
- return query.trim().toLowerCase();
77
- }
78
- function searchSnapshot(snapshot, query, limit) {
79
- if (query.length === 0) {
80
- return [];
81
- }
82
- const matched = [];
83
- for (const item of snapshot) {
84
- const nameMatch = item.name.toLowerCase().includes(query);
85
- const descriptionMatch = item.description
86
- ? item.description.toLowerCase().includes(query)
87
- : false;
88
- if (!nameMatch && !descriptionMatch) {
89
- continue;
90
- }
91
- matched.push(item);
92
- if (matched.length >= limit) {
93
- break;
94
- }
95
- }
96
- return matched;
97
- }
98
- function toJsonResults(items) {
99
- return items.map((item) => {
100
- const output = {
101
- name: item.name,
102
- };
103
- if (item.description) {
104
- output.description = item.description;
105
- }
106
- return output;
107
- });
108
- }
109
- function createSearchHandler(api, config) {
110
- return async (_ctx, input) => {
111
- const query = requireString(input, 'query');
112
- const normalizedQuery = normalizeQuery(query);
113
- if (normalizedQuery.length < config.minQueryLength) {
114
- return {
115
- query,
116
- results: [],
117
- selectedTools: [],
118
- };
119
- }
120
- const requestedLimit = optionalNumber(input, 'limit', config.maxResults) ?? config.maxResults;
121
- const safeLimit = Math.max(1, Math.min(config.maxResults, Math.floor(requestedLimit)));
122
- const currentState = readState(await api.state.get());
123
- const results = searchSnapshot(currentState.catalogSnapshot, normalizedQuery, safeLimit);
124
- const selectedTools = results.map((item) => item.name);
125
- if (config.persistSelection) {
126
- const nextState = {
127
- selectedTools,
128
- catalogSnapshot: currentState.catalogSnapshot,
129
- lastQuery: query,
130
- };
131
- await api.state.set(writeState(nextState));
132
- }
133
- return {
134
- query,
135
- results: toJsonResults(results),
136
- selectedTools,
137
- };
138
- };
139
- }
140
- function snapshotCatalog(catalog) {
141
- return catalog.map((item) => ({
142
- name: item.name,
143
- description: item.description,
144
- }));
145
- }
146
- function filterCatalog(ctx, selectedTools, searchToolName) {
147
- if (selectedTools.length === 0) {
148
- return;
149
- }
150
- const allow = new Set();
151
- for (const toolName of selectedTools) {
152
- allow.add(toolName);
153
- }
154
- allow.add(searchToolName);
155
- ctx.toolCatalog = ctx.toolCatalog.filter((item) => allow.has(item.name));
156
- }
157
- function mergeConfig(config) {
158
- return {
159
- toolName: config?.toolName ?? DEFAULT_CONFIG.toolName,
160
- maxResults: config?.maxResults ?? DEFAULT_CONFIG.maxResults,
161
- minQueryLength: config?.minQueryLength ?? DEFAULT_CONFIG.minQueryLength,
162
- persistSelection: config?.persistSelection ?? DEFAULT_CONFIG.persistSelection,
163
- };
164
- }
165
- export function registerToolSearchExtension(api, config) {
166
- const settings = mergeConfig(config);
167
- api.tools.register({
168
- name: settings.toolName,
169
- description: 'Search available tools and store next-step catalog selection',
170
- parameters: {
171
- type: 'object',
172
- properties: {
173
- query: { type: 'string' },
174
- limit: { type: 'number' },
175
- },
176
- required: ['query'],
177
- },
178
- source: {
179
- type: 'extension',
180
- name: 'tool-search',
181
- },
182
- }, createSearchHandler(api, settings));
183
- api.pipeline.register('step', async (ctx) => {
184
- const previousState = readState(await api.state.get());
185
- filterCatalog(ctx, previousState.selectedTools, settings.toolName);
186
- const nextState = {
187
- selectedTools: previousState.selectedTools,
188
- lastQuery: previousState.lastQuery,
189
- catalogSnapshot: snapshotCatalog(ctx.toolCatalog),
190
- };
191
- await api.state.set(writeState(nextState));
192
- return ctx.next();
193
- });
194
- }
195
- export function register(api, config) {
196
- registerToolSearchExtension(api, config);
197
- }
198
- //# sourceMappingURL=tool-search.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tool-search.js","sourceRoot":"","sources":["../../src/extensions/tool-search.ts"],"names":[],"mappings":"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"}