@goondan/openharness-base 0.0.1-alpha1

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 (83) hide show
  1. package/README.md +11 -0
  2. package/dist/extensions/compaction.d.ts +12 -0
  3. package/dist/extensions/compaction.d.ts.map +1 -0
  4. package/dist/extensions/compaction.js +162 -0
  5. package/dist/extensions/compaction.js.map +1 -0
  6. package/dist/extensions/context-message.d.ts +9 -0
  7. package/dist/extensions/context-message.d.ts.map +1 -0
  8. package/dist/extensions/context-message.js +451 -0
  9. package/dist/extensions/context-message.js.map +1 -0
  10. package/dist/extensions/index.d.ts +13 -0
  11. package/dist/extensions/index.d.ts.map +1 -0
  12. package/dist/extensions/index.js +7 -0
  13. package/dist/extensions/index.js.map +1 -0
  14. package/dist/extensions/logging.d.ts +11 -0
  15. package/dist/extensions/logging.d.ts.map +1 -0
  16. package/dist/extensions/logging.js +140 -0
  17. package/dist/extensions/logging.js.map +1 -0
  18. package/dist/extensions/message-integrity.d.ts +8 -0
  19. package/dist/extensions/message-integrity.d.ts.map +1 -0
  20. package/dist/extensions/message-integrity.js +88 -0
  21. package/dist/extensions/message-integrity.js.map +1 -0
  22. package/dist/extensions/message-window.d.ts +7 -0
  23. package/dist/extensions/message-window.d.ts.map +1 -0
  24. package/dist/extensions/message-window.js +60 -0
  25. package/dist/extensions/message-window.js.map +1 -0
  26. package/dist/extensions/required-tools-guard.d.ts +9 -0
  27. package/dist/extensions/required-tools-guard.d.ts.map +1 -0
  28. package/dist/extensions/required-tools-guard.js +74 -0
  29. package/dist/extensions/required-tools-guard.js.map +1 -0
  30. package/dist/extensions/tool-search.d.ts +10 -0
  31. package/dist/extensions/tool-search.d.ts.map +1 -0
  32. package/dist/extensions/tool-search.js +198 -0
  33. package/dist/extensions/tool-search.js.map +1 -0
  34. package/dist/harness.yaml +503 -0
  35. package/dist/index.d.ts +5 -0
  36. package/dist/index.d.ts.map +1 -0
  37. package/dist/index.js +5 -0
  38. package/dist/index.js.map +1 -0
  39. package/dist/manifests/base.d.ts +8 -0
  40. package/dist/manifests/base.d.ts.map +1 -0
  41. package/dist/manifests/base.js +352 -0
  42. package/dist/manifests/base.js.map +1 -0
  43. package/dist/manifests/index.d.ts +3 -0
  44. package/dist/manifests/index.d.ts.map +1 -0
  45. package/dist/manifests/index.js +2 -0
  46. package/dist/manifests/index.js.map +1 -0
  47. package/dist/tools/bash.d.ts +8 -0
  48. package/dist/tools/bash.d.ts.map +1 -0
  49. package/dist/tools/bash.js +119 -0
  50. package/dist/tools/bash.js.map +1 -0
  51. package/dist/tools/file-system.d.ts +12 -0
  52. package/dist/tools/file-system.d.ts.map +1 -0
  53. package/dist/tools/file-system.js +117 -0
  54. package/dist/tools/file-system.js.map +1 -0
  55. package/dist/tools/http-fetch.d.ts +8 -0
  56. package/dist/tools/http-fetch.d.ts.map +1 -0
  57. package/dist/tools/http-fetch.js +149 -0
  58. package/dist/tools/http-fetch.js.map +1 -0
  59. package/dist/tools/index.d.ts +7 -0
  60. package/dist/tools/index.d.ts.map +1 -0
  61. package/dist/tools/index.js +7 -0
  62. package/dist/tools/index.js.map +1 -0
  63. package/dist/tools/json-query.d.ts +12 -0
  64. package/dist/tools/json-query.d.ts.map +1 -0
  65. package/dist/tools/json-query.js +176 -0
  66. package/dist/tools/json-query.js.map +1 -0
  67. package/dist/tools/text-transform.d.ts +16 -0
  68. package/dist/tools/text-transform.d.ts.map +1 -0
  69. package/dist/tools/text-transform.js +127 -0
  70. package/dist/tools/text-transform.js.map +1 -0
  71. package/dist/tools/wait.d.ts +6 -0
  72. package/dist/tools/wait.d.ts.map +1 -0
  73. package/dist/tools/wait.js +32 -0
  74. package/dist/tools/wait.js.map +1 -0
  75. package/dist/types.d.ts +4 -0
  76. package/dist/types.d.ts.map +1 -0
  77. package/dist/types.js +6 -0
  78. package/dist/types.js.map +1 -0
  79. package/dist/utils.d.ts +17 -0
  80. package/dist/utils.d.ts.map +1 -0
  81. package/dist/utils.js +155 -0
  82. package/dist/utils.js.map +1 -0
  83. package/package.json +45 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-message.js","sourceRoot":"","sources":["../../src/extensions/context-message.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,7 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,11 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,140 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logging.js","sourceRoot":"","sources":["../../src/extensions/logging.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { Message } from '../types.js';
2
+ /**
3
+ * Removes messages that would leave invalid tool_result references after trimming.
4
+ * Anthropic requires every tool_result block to map to a tool_use/tool-call block
5
+ * in the immediately previous assistant message.
6
+ */
7
+ export declare function normalizeRemovalTargets(messages: Message[], initialRemovedIds: ReadonlySet<string>): Set<string>;
8
+ //# sourceMappingURL=message-integrity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-integrity.d.ts","sourceRoot":"","sources":["../../src/extensions/message-integrity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAsB,MAAM,aAAa,CAAC;AA4E/D;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,OAAO,EAAE,EACnB,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAC,GACrC,GAAG,CAAC,MAAM,CAAC,CAwBb"}
@@ -0,0 +1,88 @@
1
+ function readToolCallId(part) {
2
+ const value = part.toolCallId;
3
+ if (typeof value !== 'string' || value.length === 0) {
4
+ return null;
5
+ }
6
+ return value;
7
+ }
8
+ function collectToolCallIds(message) {
9
+ const ids = new Set();
10
+ if (!message) {
11
+ return ids;
12
+ }
13
+ const content = message.data.content;
14
+ if (!Array.isArray(content)) {
15
+ return ids;
16
+ }
17
+ for (const part of content) {
18
+ if (part.type !== 'tool-call' && part.type !== 'tool_call' && part.type !== 'tool_use') {
19
+ continue;
20
+ }
21
+ const toolCallId = readToolCallId(part);
22
+ if (!toolCallId) {
23
+ continue;
24
+ }
25
+ ids.add(toolCallId);
26
+ }
27
+ return ids;
28
+ }
29
+ function collectToolResultIds(message) {
30
+ const content = message.data.content;
31
+ if (!Array.isArray(content)) {
32
+ return [];
33
+ }
34
+ const ids = [];
35
+ for (const part of content) {
36
+ if (part.type !== 'tool-result' && part.type !== 'tool_result') {
37
+ continue;
38
+ }
39
+ const toolCallId = readToolCallId(part);
40
+ if (!toolCallId) {
41
+ continue;
42
+ }
43
+ ids.push(toolCallId);
44
+ }
45
+ return ids;
46
+ }
47
+ function hasDanglingToolResult(message, previousMessage) {
48
+ const toolResultIds = collectToolResultIds(message);
49
+ if (toolResultIds.length === 0) {
50
+ return false;
51
+ }
52
+ const previousToolCallIds = collectToolCallIds(previousMessage);
53
+ if (previousToolCallIds.size === 0) {
54
+ return true;
55
+ }
56
+ for (const toolResultId of toolResultIds) {
57
+ if (!previousToolCallIds.has(toolResultId)) {
58
+ return true;
59
+ }
60
+ }
61
+ return false;
62
+ }
63
+ /**
64
+ * Removes messages that would leave invalid tool_result references after trimming.
65
+ * Anthropic requires every tool_result block to map to a tool_use/tool-call block
66
+ * in the immediately previous assistant message.
67
+ */
68
+ export function normalizeRemovalTargets(messages, initialRemovedIds) {
69
+ const removedIds = new Set(initialRemovedIds);
70
+ let changed = true;
71
+ while (changed) {
72
+ changed = false;
73
+ let previousRemainingMessage;
74
+ for (const message of messages) {
75
+ if (removedIds.has(message.id)) {
76
+ continue;
77
+ }
78
+ if (hasDanglingToolResult(message, previousRemainingMessage)) {
79
+ removedIds.add(message.id);
80
+ changed = true;
81
+ continue;
82
+ }
83
+ previousRemainingMessage = message;
84
+ }
85
+ }
86
+ return removedIds;
87
+ }
88
+ //# sourceMappingURL=message-integrity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-integrity.js","sourceRoot":"","sources":["../../src/extensions/message-integrity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,60 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,9 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"required-tools-guard.d.ts","sourceRoot":"","sources":["../../src/extensions/required-tools-guard.ts"],"names":[],"mappings":"AAAA,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;AA+BD,wBAAgB,QAAQ,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,wBAAwB,GAAG,IAAI,CAwDnF"}
@@ -0,0 +1,74 @@
1
+ function createUserMessage(text) {
2
+ return {
3
+ id: `rtg-${Date.now()}-${Math.random().toString(36).slice(2, 6)}`,
4
+ data: { role: 'user', content: text },
5
+ metadata: {},
6
+ createdAt: new Date(),
7
+ source: { type: 'extension', extensionName: 'required-tools-guard' },
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"required-tools-guard.js","sourceRoot":"","sources":["../../src/extensions/required-tools-guard.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
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
@@ -0,0 +1 @@
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"}