@sogni-ai/sogni-intelligence-client 2.4.3 → 3.0.0-alpha.10

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 (200) hide show
  1. package/dist/agent/index.d.ts +5 -0
  2. package/dist/agent/index.d.ts.map +1 -0
  3. package/dist/agent/index.js +38 -0
  4. package/dist/agent/index.js.map +1 -0
  5. package/dist/agent/intentInput.d.ts +106 -0
  6. package/dist/agent/intentInput.d.ts.map +1 -0
  7. package/dist/agent/intentInput.js +410 -0
  8. package/dist/agent/intentInput.js.map +1 -0
  9. package/dist/agent/toolMetadata.d.ts +37 -0
  10. package/dist/agent/toolMetadata.d.ts.map +1 -0
  11. package/dist/agent/toolMetadata.js +146 -0
  12. package/dist/agent/toolMetadata.js.map +1 -0
  13. package/dist/agent/turnAnalysis.d.ts +34 -0
  14. package/dist/agent/turnAnalysis.d.ts.map +1 -0
  15. package/dist/agent/turnAnalysis.js +155 -0
  16. package/dist/agent/turnAnalysis.js.map +1 -0
  17. package/dist/agent/turnPlan.d.ts +40 -0
  18. package/dist/agent/turnPlan.d.ts.map +1 -0
  19. package/dist/agent/turnPlan.js +187 -0
  20. package/dist/agent/turnPlan.js.map +1 -0
  21. package/dist/artifacts/graph.d.ts +92 -0
  22. package/dist/artifacts/graph.d.ts.map +1 -0
  23. package/dist/artifacts/graph.js +484 -0
  24. package/dist/artifacts/graph.js.map +1 -0
  25. package/dist/artifacts/index.d.ts +3 -0
  26. package/dist/artifacts/index.d.ts.map +1 -0
  27. package/dist/artifacts/index.js +28 -0
  28. package/dist/artifacts/index.js.map +1 -0
  29. package/dist/artifacts/queries.d.ts +7 -0
  30. package/dist/artifacts/queries.d.ts.map +1 -0
  31. package/dist/artifacts/queries.js +85 -0
  32. package/dist/artifacts/queries.js.map +1 -0
  33. package/dist/billing/index.d.ts +3 -0
  34. package/dist/billing/index.d.ts.map +1 -0
  35. package/dist/billing/index.js +27 -0
  36. package/dist/billing/index.js.map +1 -0
  37. package/dist/billing/spendGate.d.ts +72 -0
  38. package/dist/billing/spendGate.d.ts.map +1 -0
  39. package/dist/billing/spendGate.js +344 -0
  40. package/dist/billing/spendGate.js.map +1 -0
  41. package/dist/billing/workflowAuthorization.d.ts +56 -0
  42. package/dist/billing/workflowAuthorization.d.ts.map +1 -0
  43. package/dist/billing/workflowAuthorization.js +270 -0
  44. package/dist/billing/workflowAuthorization.js.map +1 -0
  45. package/dist/contracts/data/promptContracts.d.ts.map +1 -1
  46. package/dist/contracts/data/promptContracts.js +48 -36
  47. package/dist/contracts/data/promptContracts.js.map +1 -1
  48. package/dist/contracts/data/toolPermissions.d.ts +2 -0
  49. package/dist/contracts/data/toolPermissions.d.ts.map +1 -1
  50. package/dist/contracts/data/toolPermissions.js +2 -13
  51. package/dist/contracts/data/toolPermissions.js.map +1 -1
  52. package/dist/contracts/index.d.ts +2 -2
  53. package/dist/contracts/index.d.ts.map +1 -1
  54. package/dist/contracts/index.js +5 -3
  55. package/dist/contracts/index.js.map +1 -1
  56. package/dist/contracts/toolGatingPolicy.d.ts.map +1 -1
  57. package/dist/contracts/toolGatingPolicy.js +6 -2
  58. package/dist/contracts/toolGatingPolicy.js.map +1 -1
  59. package/dist/contracts/toolSurface.d.ts +1 -0
  60. package/dist/contracts/toolSurface.d.ts.map +1 -1
  61. package/dist/contracts/toolSurface.js +12 -5
  62. package/dist/contracts/toolSurface.js.map +1 -1
  63. package/dist/contracts/turnPolicy.d.ts +2 -1
  64. package/dist/contracts/turnPolicy.d.ts.map +1 -1
  65. package/dist/contracts/turnPolicy.js +14 -0
  66. package/dist/contracts/turnPolicy.js.map +1 -1
  67. package/dist/events/index.d.ts +2 -0
  68. package/dist/events/index.d.ts.map +1 -0
  69. package/dist/events/index.js +12 -0
  70. package/dist/events/index.js.map +1 -0
  71. package/dist/events/runEvent.d.ts +31 -0
  72. package/dist/events/runEvent.d.ts.map +1 -0
  73. package/dist/events/runEvent.js +161 -0
  74. package/dist/events/runEvent.js.map +1 -0
  75. package/dist/index.d.ts +6 -0
  76. package/dist/index.d.ts.map +1 -1
  77. package/dist/index.js +26 -1
  78. package/dist/index.js.map +1 -1
  79. package/dist/public-skill-runtime/index.d.ts +1 -1
  80. package/dist/public-skill-runtime/index.d.ts.map +1 -1
  81. package/dist/public-skill-runtime/index.js +229 -119
  82. package/dist/public-skill-runtime/index.js.map +1 -1
  83. package/dist/schemas/agent/intent-input.schema.json +128 -0
  84. package/dist/schemas/agent/turn-analysis.schema.json +75 -0
  85. package/dist/schemas/artifacts/artifact-graph.schema.json +42 -0
  86. package/dist/schemas/artifacts/artifact-node.schema.json +137 -0
  87. package/dist/schemas/billing/spend-gate.schema.json +130 -0
  88. package/dist/schemas/billing/workflow-authorization.schema.json +83 -0
  89. package/dist/schemas/events/run-event.schema.json +111 -0
  90. package/dist/schemas/tools/tool-metadata.schema.json +78 -0
  91. package/dist/tools/definitions/animate-photo/definition.js +5 -5
  92. package/dist/tools/definitions/animate-photo/definition.js.map +1 -1
  93. package/dist/tools/definitions/edit-image/definition.js +3 -3
  94. package/dist/tools/definitions/edit-image/definition.js.map +1 -1
  95. package/dist/tools/definitions/generate-image/definition.js +4 -4
  96. package/dist/tools/definitions/generate-image/definition.js.map +1 -1
  97. package/dist/tools/definitions/generate-music/definition.js +2 -2
  98. package/dist/tools/definitions/generate-music/definition.js.map +1 -1
  99. package/dist/tools/definitions/generate-video/definition.js +2 -2
  100. package/dist/tools/definitions/generate-video/definition.js.map +1 -1
  101. package/dist/tools/definitions/sound-to-video/definition.js +2 -2
  102. package/dist/tools/definitions/sound-to-video/definition.js.map +1 -1
  103. package/dist/tools/index.d.ts +1 -1
  104. package/dist/tools/index.d.ts.map +1 -1
  105. package/dist/tools/index.js +3 -2
  106. package/dist/tools/index.js.map +1 -1
  107. package/dist/tools/normalizeArgs.d.ts +1 -0
  108. package/dist/tools/normalizeArgs.d.ts.map +1 -1
  109. package/dist/tools/normalizeArgs.js +83 -8
  110. package/dist/tools/normalizeArgs.js.map +1 -1
  111. package/dist/utils/helpers.d.ts.map +1 -1
  112. package/dist/utils/helpers.js +4 -2
  113. package/dist/utils/helpers.js.map +1 -1
  114. package/dist/workflows/index.d.ts +2 -0
  115. package/dist/workflows/index.d.ts.map +1 -1
  116. package/dist/workflows/index.js +7 -1
  117. package/dist/workflows/index.js.map +1 -1
  118. package/dist/workflows/primitives/index.d.ts +1 -0
  119. package/dist/workflows/primitives/index.d.ts.map +1 -1
  120. package/dist/workflows/primitives/index.js +1 -0
  121. package/dist/workflows/primitives/index.js.map +1 -1
  122. package/dist/workflows/primitives/sanitizer.d.ts +22 -0
  123. package/dist/workflows/primitives/sanitizer.d.ts.map +1 -0
  124. package/dist/workflows/primitives/sanitizer.js +96 -0
  125. package/dist/workflows/primitives/sanitizer.js.map +1 -0
  126. package/dist-esm/agent/index.js +5 -0
  127. package/dist-esm/agent/index.js.map +1 -0
  128. package/dist-esm/agent/intentInput.js +397 -0
  129. package/dist-esm/agent/intentInput.js.map +1 -0
  130. package/dist-esm/agent/toolMetadata.js +136 -0
  131. package/dist-esm/agent/toolMetadata.js.map +1 -0
  132. package/dist-esm/agent/turnAnalysis.js +147 -0
  133. package/dist-esm/agent/turnAnalysis.js.map +1 -0
  134. package/dist-esm/agent/turnPlan.js +180 -0
  135. package/dist-esm/agent/turnPlan.js.map +1 -0
  136. package/dist-esm/artifacts/graph.js +465 -0
  137. package/dist-esm/artifacts/graph.js.map +1 -0
  138. package/dist-esm/artifacts/index.js +3 -0
  139. package/dist-esm/artifacts/index.js.map +1 -0
  140. package/dist-esm/artifacts/queries.js +78 -0
  141. package/dist-esm/artifacts/queries.js.map +1 -0
  142. package/dist-esm/billing/index.js +3 -0
  143. package/dist-esm/billing/index.js.map +1 -0
  144. package/dist-esm/billing/spendGate.js +329 -0
  145. package/dist-esm/billing/spendGate.js.map +1 -0
  146. package/dist-esm/billing/workflowAuthorization.js +260 -0
  147. package/dist-esm/billing/workflowAuthorization.js.map +1 -0
  148. package/dist-esm/contracts/data/promptContracts.js +48 -36
  149. package/dist-esm/contracts/data/promptContracts.js.map +1 -1
  150. package/dist-esm/contracts/data/toolPermissions.js +2 -13
  151. package/dist-esm/contracts/data/toolPermissions.js.map +1 -1
  152. package/dist-esm/contracts/index.js +2 -2
  153. package/dist-esm/contracts/index.js.map +1 -1
  154. package/dist-esm/contracts/toolGatingPolicy.js +6 -2
  155. package/dist-esm/contracts/toolGatingPolicy.js.map +1 -1
  156. package/dist-esm/contracts/toolSurface.js +11 -4
  157. package/dist-esm/contracts/toolSurface.js.map +1 -1
  158. package/dist-esm/contracts/turnPolicy.js +13 -0
  159. package/dist-esm/contracts/turnPolicy.js.map +1 -1
  160. package/dist-esm/events/index.js +2 -0
  161. package/dist-esm/events/index.js.map +1 -0
  162. package/dist-esm/events/runEvent.js +152 -0
  163. package/dist-esm/events/runEvent.js.map +1 -0
  164. package/dist-esm/index.js +5 -0
  165. package/dist-esm/index.js.map +1 -1
  166. package/dist-esm/public-skill-runtime/index.js +229 -119
  167. package/dist-esm/public-skill-runtime/index.js.map +1 -1
  168. package/dist-esm/schemas/agent/intent-input.schema.json +128 -0
  169. package/dist-esm/schemas/agent/turn-analysis.schema.json +75 -0
  170. package/dist-esm/schemas/artifacts/artifact-graph.schema.json +42 -0
  171. package/dist-esm/schemas/artifacts/artifact-node.schema.json +137 -0
  172. package/dist-esm/schemas/billing/spend-gate.schema.json +130 -0
  173. package/dist-esm/schemas/billing/workflow-authorization.schema.json +83 -0
  174. package/dist-esm/schemas/events/run-event.schema.json +111 -0
  175. package/dist-esm/schemas/tools/tool-metadata.schema.json +78 -0
  176. package/dist-esm/tools/definitions/animate-photo/definition.js +5 -5
  177. package/dist-esm/tools/definitions/animate-photo/definition.js.map +1 -1
  178. package/dist-esm/tools/definitions/edit-image/definition.js +3 -3
  179. package/dist-esm/tools/definitions/edit-image/definition.js.map +1 -1
  180. package/dist-esm/tools/definitions/generate-image/definition.js +4 -4
  181. package/dist-esm/tools/definitions/generate-image/definition.js.map +1 -1
  182. package/dist-esm/tools/definitions/generate-music/definition.js +2 -2
  183. package/dist-esm/tools/definitions/generate-music/definition.js.map +1 -1
  184. package/dist-esm/tools/definitions/generate-video/definition.js +2 -2
  185. package/dist-esm/tools/definitions/generate-video/definition.js.map +1 -1
  186. package/dist-esm/tools/definitions/sound-to-video/definition.js +2 -2
  187. package/dist-esm/tools/definitions/sound-to-video/definition.js.map +1 -1
  188. package/dist-esm/tools/index.js +1 -1
  189. package/dist-esm/tools/index.js.map +1 -1
  190. package/dist-esm/tools/normalizeArgs.js +82 -8
  191. package/dist-esm/tools/normalizeArgs.js.map +1 -1
  192. package/dist-esm/utils/helpers.js +4 -2
  193. package/dist-esm/utils/helpers.js.map +1 -1
  194. package/dist-esm/workflows/index.js +1 -0
  195. package/dist-esm/workflows/index.js.map +1 -1
  196. package/dist-esm/workflows/primitives/index.js +1 -0
  197. package/dist-esm/workflows/primitives/index.js.map +1 -1
  198. package/dist-esm/workflows/primitives/sanitizer.js +89 -0
  199. package/dist-esm/workflows/primitives/sanitizer.js.map +1 -0
  200. package/package.json +30 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolMetadata.d.ts","sourceRoot":"","sources":["../../src/agent/toolMetadata.ts"],"names":[],"mappings":"AA0BA,MAAM,MAAM,UAAU,GAClB,UAAU,GACV,aAAa,GACb,UAAU,GACV,QAAQ,GACR,UAAU,GACV,UAAU,GACV,SAAS,CAAC;AAWd,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,QAAQ,GAAG,KAAK,GAAG,UAAU,GAAG,UAAU,CAAC;AAMtF,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;AAM5E,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,aAAa,GAAG,cAAc,CAAC;AASzE,MAAM,MAAM,sBAAsB,GAAG,OAAO,GAAG,MAAM,GAAG,aAAa,GAAG,QAAQ,CAAC;AAOjF,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,qBAAqB,GAAG,UAAU,CAAC;AAMhF,MAAM,WAAW,YAAY;IAK3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,CAAC;IACnB,aAAa,EAAE,iBAAiB,CAAC;IAKjC,cAAc,EAAE,MAAM,CAAC;IAKvB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,aAAa,CAAC;IACzB,YAAY,EAAE,gBAAgB,CAAC;IAK/B,WAAW,EAAE,OAAO,CAAC;IAKrB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,oBAAoB,EAAE,sBAAsB,CAAC;IAC7C,WAAW,EAAE,eAAe,CAAC;IAM7B,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AA+CD,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAEhE;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,iBAAiB,CAE9E;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAEtE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,gBAAgB,CAE5E;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,sBAAsB,CAExF;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAE1E;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAiBpE;AAGD,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,4BAA4B;IAC3C,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,2BAA2B,EAAE,CAAC;CACvC;AAeD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,4BAA4B,CA8CjF"}
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isToolFamily = isToolFamily;
4
+ exports.isToolExecutionMode = isToolExecutionMode;
5
+ exports.isToolCostClass = isToolCostClass;
6
+ exports.isToolLatencyClass = isToolLatencyClass;
7
+ exports.isToolConfirmationPolicy = isToolConfirmationPolicy;
8
+ exports.isToolRetrySafety = isToolRetrySafety;
9
+ exports.isToolMetadata = isToolMetadata;
10
+ exports.validateToolMetadata = validateToolMetadata;
11
+ const TOOL_FAMILIES = new Set([
12
+ 'creative',
13
+ 'composition',
14
+ 'artifact',
15
+ 'memory',
16
+ 'settings',
17
+ 'analysis',
18
+ 'control',
19
+ ]);
20
+ const TOOL_EXECUTION_MODES = new Set([
21
+ 'hosted',
22
+ 'client',
23
+ 'app',
24
+ 'workflow',
25
+ 'internal',
26
+ ]);
27
+ const TOOL_COST_CLASSES = new Set([
28
+ 'free',
29
+ 'low',
30
+ 'medium',
31
+ 'high',
32
+ 'variable',
33
+ ]);
34
+ const TOOL_LATENCY_CLASSES = new Set([
35
+ 'inline',
36
+ 'interactive',
37
+ 'long_running',
38
+ ]);
39
+ const TOOL_CONFIRMATION_POLICIES = new Set(['never', 'paid', 'destructive', 'always']);
40
+ const TOOL_RETRY_SAFETIES = new Set([
41
+ 'idempotent',
42
+ 'dedupe_key_required',
43
+ 'not_safe',
44
+ ]);
45
+ function isRecord(value) {
46
+ return value !== null && typeof value === 'object' && !Array.isArray(value);
47
+ }
48
+ function isToolFamily(value) {
49
+ return typeof value === 'string' && TOOL_FAMILIES.has(value);
50
+ }
51
+ function isToolExecutionMode(value) {
52
+ return typeof value === 'string' && TOOL_EXECUTION_MODES.has(value);
53
+ }
54
+ function isToolCostClass(value) {
55
+ return typeof value === 'string' && TOOL_COST_CLASSES.has(value);
56
+ }
57
+ function isToolLatencyClass(value) {
58
+ return typeof value === 'string' && TOOL_LATENCY_CLASSES.has(value);
59
+ }
60
+ function isToolConfirmationPolicy(value) {
61
+ return typeof value === 'string' && TOOL_CONFIRMATION_POLICIES.has(value);
62
+ }
63
+ function isToolRetrySafety(value) {
64
+ return typeof value === 'string' && TOOL_RETRY_SAFETIES.has(value);
65
+ }
66
+ function isToolMetadata(value) {
67
+ if (!isRecord(value))
68
+ return false;
69
+ if (typeof value.name !== 'string' || value.name.length === 0)
70
+ return false;
71
+ if (!isToolFamily(value.family))
72
+ return false;
73
+ if (!isToolExecutionMode(value.executionMode))
74
+ return false;
75
+ if (typeof value.inputSchemaRef !== 'string' || value.inputSchemaRef.length === 0)
76
+ return false;
77
+ if (typeof value.outputSchemaRef !== 'string' || value.outputSchemaRef.length === 0)
78
+ return false;
79
+ if (!isToolCostClass(value.costClass))
80
+ return false;
81
+ if (!isToolLatencyClass(value.latencyClass))
82
+ return false;
83
+ if (typeof value.mutatesData !== 'boolean')
84
+ return false;
85
+ if (typeof value.producesArtifacts !== 'boolean')
86
+ return false;
87
+ if (!isToolConfirmationPolicy(value.requiresConfirmation))
88
+ return false;
89
+ if (!isToolRetrySafety(value.retrySafety))
90
+ return false;
91
+ if (value.hiddenFromModel !== undefined && typeof value.hiddenFromModel !== 'boolean') {
92
+ return false;
93
+ }
94
+ return true;
95
+ }
96
+ function pushError(errors, path, message) {
97
+ errors.push({ path, message });
98
+ }
99
+ function validateToolMetadata(value) {
100
+ const errors = [];
101
+ if (!isRecord(value)) {
102
+ return { valid: false, errors: [{ path: '/', message: 'must be an object' }] };
103
+ }
104
+ const name = value.name;
105
+ if (typeof name !== 'string' || name.length === 0) {
106
+ pushError(errors, '/name', 'must be a non-empty string');
107
+ }
108
+ if (!isToolFamily(value.family)) {
109
+ pushError(errors, '/family', 'must be a valid ToolFamily');
110
+ }
111
+ if (!isToolExecutionMode(value.executionMode)) {
112
+ pushError(errors, '/executionMode', 'must be a valid ToolExecutionMode');
113
+ }
114
+ const inputRef = value.inputSchemaRef;
115
+ if (typeof inputRef !== 'string' || inputRef.length === 0) {
116
+ pushError(errors, '/inputSchemaRef', 'must be a non-empty string');
117
+ }
118
+ const outputRef = value.outputSchemaRef;
119
+ if (typeof outputRef !== 'string' || outputRef.length === 0) {
120
+ pushError(errors, '/outputSchemaRef', 'must be a non-empty string');
121
+ }
122
+ if (!isToolCostClass(value.costClass)) {
123
+ pushError(errors, '/costClass', 'must be a valid ToolCostClass');
124
+ }
125
+ if (!isToolLatencyClass(value.latencyClass)) {
126
+ pushError(errors, '/latencyClass', 'must be a valid ToolLatencyClass');
127
+ }
128
+ if (typeof value.mutatesData !== 'boolean') {
129
+ pushError(errors, '/mutatesData', 'must be a boolean');
130
+ }
131
+ if (typeof value.producesArtifacts !== 'boolean') {
132
+ pushError(errors, '/producesArtifacts', 'must be a boolean');
133
+ }
134
+ if (!isToolConfirmationPolicy(value.requiresConfirmation)) {
135
+ pushError(errors, '/requiresConfirmation', 'must be a valid ToolConfirmationPolicy');
136
+ }
137
+ if (!isToolRetrySafety(value.retrySafety)) {
138
+ pushError(errors, '/retrySafety', 'must be a valid ToolRetrySafety');
139
+ }
140
+ const hidden = value.hiddenFromModel;
141
+ if (hidden !== undefined && typeof hidden !== 'boolean') {
142
+ pushError(errors, '/hiddenFromModel', 'must be a boolean when present');
143
+ }
144
+ return { valid: errors.length === 0, errors };
145
+ }
146
+ //# sourceMappingURL=toolMetadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolMetadata.js","sourceRoot":"","sources":["../../src/agent/toolMetadata.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ export type TurnKind = 'chat' | 'image' | 'video' | 'audio' | 'analysis' | 'workflow' | 'memory' | 'settings' | 'unknown';
2
+ export type TurnIntent = 'generate' | 'edit' | 'analyze' | 'transform' | 'question' | 'capability' | 'continue' | 'reference' | 'configure' | 'clarify' | 'unknown';
3
+ export type TurnExecutionMode = 'none' | 'tool' | 'multi_tool' | 'workflow';
4
+ export type SignalProvenance = 'classifier' | 'planner' | 'runtime_state' | 'artifact_graph' | 'user_explicit';
5
+ export interface TurnAnalysis {
6
+ domain: TurnKind;
7
+ intent: TurnIntent;
8
+ executionMode: TurnExecutionMode;
9
+ userWantsExecution: boolean;
10
+ isCapabilityQuestion: boolean;
11
+ isFutureInstruction: boolean;
12
+ isReferenceOnly: boolean;
13
+ needsPriorContext: boolean;
14
+ referencedArtifacts: string[];
15
+ requiredCapabilities: string[];
16
+ needsClarification: boolean;
17
+ confidence: number;
18
+ provenance: SignalProvenance;
19
+ }
20
+ export declare function isTurnKind(value: unknown): value is TurnKind;
21
+ export declare function isTurnIntent(value: unknown): value is TurnIntent;
22
+ export declare function isTurnExecutionMode(value: unknown): value is TurnExecutionMode;
23
+ export declare function isSignalProvenance(value: unknown): value is SignalProvenance;
24
+ export declare function isTurnAnalysis(value: unknown): value is TurnAnalysis;
25
+ export interface TurnAnalysisValidationError {
26
+ path: string;
27
+ message: string;
28
+ }
29
+ export interface TurnAnalysisValidationResult {
30
+ valid: boolean;
31
+ errors: TurnAnalysisValidationError[];
32
+ }
33
+ export declare function validateTurnAnalysis(value: unknown): TurnAnalysisValidationResult;
34
+ //# sourceMappingURL=turnAnalysis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"turnAnalysis.d.ts","sourceRoot":"","sources":["../../src/agent/turnAnalysis.ts"],"names":[],"mappings":"AAqBA,MAAM,MAAM,QAAQ,GAChB,MAAM,GACN,OAAO,GACP,OAAO,GACP,OAAO,GACP,UAAU,GACV,UAAU,GACV,QAAQ,GACR,UAAU,GACV,SAAS,CAAC;AAGd,MAAM,MAAM,UAAU,GAClB,UAAU,GACV,MAAM,GACN,SAAS,GACT,WAAW,GACX,UAAU,GACV,YAAY,GACZ,UAAU,GACV,WAAW,GACX,WAAW,GACX,SAAS,GACT,SAAS,CAAC;AAGd,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,MAAM,GAAG,YAAY,GAAG,UAAU,CAAC;AAS5E,MAAM,MAAM,gBAAgB,GACxB,YAAY,GACZ,SAAS,GACT,eAAe,GACf,gBAAgB,GAChB,eAAe,CAAC;AAMpB,MAAM,WAAW,YAAY;IAE3B,MAAM,EAAE,QAAQ,CAAC;IACjB,MAAM,EAAE,UAAU,CAAC;IACnB,aAAa,EAAE,iBAAiB,CAAC;IAEjC,kBAAkB,EAAE,OAAO,CAAC;IAE5B,oBAAoB,EAAE,OAAO,CAAC;IAE9B,mBAAmB,EAAE,OAAO,CAAC;IAE7B,eAAe,EAAE,OAAO,CAAC;IAEzB,iBAAiB,EAAE,OAAO,CAAC;IAE3B,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAE9B,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAE/B,kBAAkB,EAAE,OAAO,CAAC;IAE5B,UAAU,EAAE,MAAM,CAAC;IAEnB,UAAU,EAAE,gBAAgB,CAAC;CAC9B;AA2CD,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAE5D;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAEhE;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,iBAAiB,CAE9E;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,gBAAgB,CAE5E;AAUD,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAgBpE;AAGD,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,4BAA4B;IAC3C,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,2BAA2B,EAAE,CAAC;CACvC;AAgBD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,4BAA4B,CAsDjF"}
@@ -0,0 +1,155 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isTurnKind = isTurnKind;
4
+ exports.isTurnIntent = isTurnIntent;
5
+ exports.isTurnExecutionMode = isTurnExecutionMode;
6
+ exports.isSignalProvenance = isSignalProvenance;
7
+ exports.isTurnAnalysis = isTurnAnalysis;
8
+ exports.validateTurnAnalysis = validateTurnAnalysis;
9
+ const TURN_KINDS = new Set([
10
+ 'chat',
11
+ 'image',
12
+ 'video',
13
+ 'audio',
14
+ 'analysis',
15
+ 'workflow',
16
+ 'memory',
17
+ 'settings',
18
+ 'unknown',
19
+ ]);
20
+ const TURN_INTENTS = new Set([
21
+ 'generate',
22
+ 'edit',
23
+ 'analyze',
24
+ 'transform',
25
+ 'question',
26
+ 'capability',
27
+ 'continue',
28
+ 'reference',
29
+ 'configure',
30
+ 'clarify',
31
+ 'unknown',
32
+ ]);
33
+ const TURN_EXECUTION_MODES = new Set([
34
+ 'none',
35
+ 'tool',
36
+ 'multi_tool',
37
+ 'workflow',
38
+ ]);
39
+ const SIGNAL_PROVENANCES = new Set([
40
+ 'classifier',
41
+ 'planner',
42
+ 'runtime_state',
43
+ 'artifact_graph',
44
+ 'user_explicit',
45
+ ]);
46
+ function isTurnKind(value) {
47
+ return typeof value === 'string' && TURN_KINDS.has(value);
48
+ }
49
+ function isTurnIntent(value) {
50
+ return typeof value === 'string' && TURN_INTENTS.has(value);
51
+ }
52
+ function isTurnExecutionMode(value) {
53
+ return typeof value === 'string' && TURN_EXECUTION_MODES.has(value);
54
+ }
55
+ function isSignalProvenance(value) {
56
+ return typeof value === 'string' && SIGNAL_PROVENANCES.has(value);
57
+ }
58
+ function isStringArray(value) {
59
+ return Array.isArray(value) && value.every((item) => typeof item === 'string');
60
+ }
61
+ function isRecord(value) {
62
+ return value !== null && typeof value === 'object' && !Array.isArray(value);
63
+ }
64
+ function isTurnAnalysis(value) {
65
+ if (!isRecord(value))
66
+ return false;
67
+ if (!isTurnKind(value.domain))
68
+ return false;
69
+ if (!isTurnIntent(value.intent))
70
+ return false;
71
+ if (!isTurnExecutionMode(value.executionMode))
72
+ return false;
73
+ if (typeof value.userWantsExecution !== 'boolean')
74
+ return false;
75
+ if (typeof value.isCapabilityQuestion !== 'boolean')
76
+ return false;
77
+ if (typeof value.isFutureInstruction !== 'boolean')
78
+ return false;
79
+ if (typeof value.isReferenceOnly !== 'boolean')
80
+ return false;
81
+ if (typeof value.needsPriorContext !== 'boolean')
82
+ return false;
83
+ if (!isStringArray(value.referencedArtifacts))
84
+ return false;
85
+ if (!isStringArray(value.requiredCapabilities))
86
+ return false;
87
+ if (typeof value.needsClarification !== 'boolean')
88
+ return false;
89
+ if (typeof value.confidence !== 'number' || !Number.isFinite(value.confidence))
90
+ return false;
91
+ if (!isSignalProvenance(value.provenance))
92
+ return false;
93
+ return true;
94
+ }
95
+ function pushError(errors, path, message) {
96
+ errors.push({ path, message });
97
+ }
98
+ function validateTurnAnalysis(value) {
99
+ const errors = [];
100
+ if (!isRecord(value)) {
101
+ return { valid: false, errors: [{ path: '/', message: 'must be an object' }] };
102
+ }
103
+ if (!isTurnKind(value.domain)) {
104
+ pushError(errors, '/domain', 'must be a valid TurnKind');
105
+ }
106
+ if (!isTurnIntent(value.intent)) {
107
+ pushError(errors, '/intent', 'must be a valid TurnIntent');
108
+ }
109
+ if (!isTurnExecutionMode(value.executionMode)) {
110
+ pushError(errors, '/executionMode', 'must be a valid TurnExecutionMode');
111
+ }
112
+ for (const key of [
113
+ 'userWantsExecution',
114
+ 'isCapabilityQuestion',
115
+ 'isFutureInstruction',
116
+ 'isReferenceOnly',
117
+ 'needsPriorContext',
118
+ 'needsClarification',
119
+ ]) {
120
+ if (typeof value[key] !== 'boolean') {
121
+ pushError(errors, `/${key}`, 'must be a boolean');
122
+ }
123
+ }
124
+ const refs = value.referencedArtifacts;
125
+ if (!Array.isArray(refs)) {
126
+ pushError(errors, '/referencedArtifacts', 'must be an array');
127
+ }
128
+ else {
129
+ refs.forEach((ref, idx) => {
130
+ if (typeof ref !== 'string') {
131
+ pushError(errors, `/referencedArtifacts/${idx}`, 'must be a string');
132
+ }
133
+ });
134
+ }
135
+ const caps = value.requiredCapabilities;
136
+ if (!Array.isArray(caps)) {
137
+ pushError(errors, '/requiredCapabilities', 'must be an array');
138
+ }
139
+ else {
140
+ caps.forEach((cap, idx) => {
141
+ if (typeof cap !== 'string') {
142
+ pushError(errors, `/requiredCapabilities/${idx}`, 'must be a string');
143
+ }
144
+ });
145
+ }
146
+ const conf = value.confidence;
147
+ if (typeof conf !== 'number' || !Number.isFinite(conf)) {
148
+ pushError(errors, '/confidence', 'must be a finite number');
149
+ }
150
+ if (!isSignalProvenance(value.provenance)) {
151
+ pushError(errors, '/provenance', 'must be a valid SignalProvenance');
152
+ }
153
+ return { valid: errors.length === 0, errors };
154
+ }
155
+ //# sourceMappingURL=turnAnalysis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"turnAnalysis.js","sourceRoot":"","sources":["../../src/agent/turnAnalysis.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import { type ArtifactType } from './intentInput.js';
2
+ export interface PlannerArtifactRef {
3
+ artifactId: string;
4
+ artifactType?: ArtifactType;
5
+ }
6
+ export interface PlannerProposedWorkflow {
7
+ templateId: string;
8
+ inputs: Record<string, unknown>;
9
+ reason?: string;
10
+ }
11
+ export interface PlannerSpendEstimate {
12
+ tokenCost: number | null;
13
+ usdCost: number | null;
14
+ estimateAvailable: boolean;
15
+ preferredModel?: string;
16
+ }
17
+ export interface TurnPlan {
18
+ proposedTools: string[];
19
+ proposedWorkflow?: PlannerProposedWorkflow;
20
+ resolvedReferences: PlannerArtifactRef[];
21
+ needsClarification?: {
22
+ question: string;
23
+ };
24
+ spendEstimate?: PlannerSpendEstimate;
25
+ confidence: number;
26
+ }
27
+ export declare function isPlannerArtifactRef(value: unknown): value is PlannerArtifactRef;
28
+ export declare function isPlannerProposedWorkflow(value: unknown): value is PlannerProposedWorkflow;
29
+ export declare function isPlannerSpendEstimate(value: unknown): value is PlannerSpendEstimate;
30
+ export declare function isTurnPlan(value: unknown): value is TurnPlan;
31
+ export interface TurnPlanValidationError {
32
+ path: string;
33
+ message: string;
34
+ }
35
+ export interface TurnPlanValidationResult {
36
+ valid: boolean;
37
+ errors: TurnPlanValidationError[];
38
+ }
39
+ export declare function validateTurnPlan(value: unknown): TurnPlanValidationResult;
40
+ //# sourceMappingURL=turnPlan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"turnPlan.d.ts","sourceRoot":"","sources":["../../src/agent/turnPlan.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAQrE,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAMD,MAAM,WAAW,uBAAuB;IAEtC,UAAU,EAAE,MAAM,CAAC;IAEnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEhC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAcD,MAAM,WAAW,oBAAoB;IAKnC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAIzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAKvB,iBAAiB,EAAE,OAAO,CAAC;IAK3B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAQD,MAAM,WAAW,QAAQ;IAOvB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,gBAAgB,CAAC,EAAE,uBAAuB,CAAC;IAK3C,kBAAkB,EAAE,kBAAkB,EAAE,CAAC;IAKzC,kBAAkB,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,aAAa,CAAC,EAAE,oBAAoB,CAAC;IAErC,UAAU,EAAE,MAAM,CAAC;CACpB;AAUD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,kBAAkB,CAKhF;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,uBAAuB,CAM1F;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,oBAAoB,CAYpF;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAwB5D;AAGD,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,uBAAuB,EAAE,CAAC;CACnC;AAoFD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,wBAAwB,CAiDzE"}
@@ -0,0 +1,187 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isPlannerArtifactRef = isPlannerArtifactRef;
4
+ exports.isPlannerProposedWorkflow = isPlannerProposedWorkflow;
5
+ exports.isPlannerSpendEstimate = isPlannerSpendEstimate;
6
+ exports.isTurnPlan = isTurnPlan;
7
+ exports.validateTurnPlan = validateTurnPlan;
8
+ const intentInput_js_1 = require("./intentInput.js");
9
+ function isRecord(value) {
10
+ return value !== null && typeof value === 'object' && !Array.isArray(value);
11
+ }
12
+ function isStringArray(value) {
13
+ return Array.isArray(value) && value.every((item) => typeof item === 'string');
14
+ }
15
+ function isPlannerArtifactRef(value) {
16
+ if (!isRecord(value))
17
+ return false;
18
+ if (typeof value.artifactId !== 'string' || value.artifactId.length === 0)
19
+ return false;
20
+ if (value.artifactType !== undefined && !(0, intentInput_js_1.isArtifactType)(value.artifactType))
21
+ return false;
22
+ return true;
23
+ }
24
+ function isPlannerProposedWorkflow(value) {
25
+ if (!isRecord(value))
26
+ return false;
27
+ if (typeof value.templateId !== 'string' || value.templateId.length === 0)
28
+ return false;
29
+ if (!isRecord(value.inputs))
30
+ return false;
31
+ if (value.reason !== undefined && typeof value.reason !== 'string')
32
+ return false;
33
+ return true;
34
+ }
35
+ function isPlannerSpendEstimate(value) {
36
+ if (!isRecord(value))
37
+ return false;
38
+ const { tokenCost, usdCost, estimateAvailable, preferredModel } = value;
39
+ if (tokenCost !== null && (typeof tokenCost !== 'number' || !Number.isFinite(tokenCost))) {
40
+ return false;
41
+ }
42
+ if (usdCost !== null && (typeof usdCost !== 'number' || !Number.isFinite(usdCost))) {
43
+ return false;
44
+ }
45
+ if (typeof estimateAvailable !== 'boolean')
46
+ return false;
47
+ if (preferredModel !== undefined && typeof preferredModel !== 'string')
48
+ return false;
49
+ return true;
50
+ }
51
+ function isTurnPlan(value) {
52
+ if (!isRecord(value))
53
+ return false;
54
+ if (!isStringArray(value.proposedTools))
55
+ return false;
56
+ if (value.proposedWorkflow !== undefined && !isPlannerProposedWorkflow(value.proposedWorkflow)) {
57
+ return false;
58
+ }
59
+ if (!Array.isArray(value.resolvedReferences) || !value.resolvedReferences.every(isPlannerArtifactRef)) {
60
+ return false;
61
+ }
62
+ if (value.needsClarification !== undefined) {
63
+ if (!isRecord(value.needsClarification))
64
+ return false;
65
+ if (typeof value.needsClarification.question !== 'string' ||
66
+ value.needsClarification.question.length === 0) {
67
+ return false;
68
+ }
69
+ }
70
+ if (value.spendEstimate !== undefined && !isPlannerSpendEstimate(value.spendEstimate)) {
71
+ return false;
72
+ }
73
+ if (typeof value.confidence !== 'number' || !Number.isFinite(value.confidence))
74
+ return false;
75
+ if (value.confidence < 0 || value.confidence > 1)
76
+ return false;
77
+ return true;
78
+ }
79
+ function pushError(errors, path, message) {
80
+ errors.push({ path, message });
81
+ }
82
+ function validateArtifactRefInternal(value, basePath, errors) {
83
+ if (!isRecord(value)) {
84
+ pushError(errors, basePath, 'must be an object');
85
+ return;
86
+ }
87
+ const artifactId = value.artifactId;
88
+ if (typeof artifactId !== 'string' || artifactId.length === 0) {
89
+ pushError(errors, `${basePath}/artifactId`, 'must be a non-empty string');
90
+ }
91
+ const artifactType = value.artifactType;
92
+ if (artifactType !== undefined && !(0, intentInput_js_1.isArtifactType)(artifactType)) {
93
+ pushError(errors, `${basePath}/artifactType`, 'must be a valid ArtifactType when present');
94
+ }
95
+ }
96
+ function validateProposedWorkflowInternal(value, basePath, errors) {
97
+ if (!isRecord(value)) {
98
+ pushError(errors, basePath, 'must be an object');
99
+ return;
100
+ }
101
+ const templateId = value.templateId;
102
+ if (typeof templateId !== 'string' || templateId.length === 0) {
103
+ pushError(errors, `${basePath}/templateId`, 'must be a non-empty string');
104
+ }
105
+ const inputs = value.inputs;
106
+ if (!isRecord(inputs)) {
107
+ pushError(errors, `${basePath}/inputs`, 'must be an object');
108
+ }
109
+ const reason = value.reason;
110
+ if (reason !== undefined && typeof reason !== 'string') {
111
+ pushError(errors, `${basePath}/reason`, 'must be a string when present');
112
+ }
113
+ }
114
+ function validateSpendEstimateInternal(value, basePath, errors) {
115
+ if (!isRecord(value)) {
116
+ pushError(errors, basePath, 'must be an object');
117
+ return;
118
+ }
119
+ const tokenCost = value.tokenCost;
120
+ if (tokenCost !== null && (typeof tokenCost !== 'number' || !Number.isFinite(tokenCost))) {
121
+ pushError(errors, `${basePath}/tokenCost`, 'must be a finite number or null');
122
+ }
123
+ const usdCost = value.usdCost;
124
+ if (usdCost !== null && (typeof usdCost !== 'number' || !Number.isFinite(usdCost))) {
125
+ pushError(errors, `${basePath}/usdCost`, 'must be a finite number or null');
126
+ }
127
+ if (typeof value.estimateAvailable !== 'boolean') {
128
+ pushError(errors, `${basePath}/estimateAvailable`, 'must be a boolean');
129
+ }
130
+ const preferredModel = value.preferredModel;
131
+ if (preferredModel !== undefined && typeof preferredModel !== 'string') {
132
+ pushError(errors, `${basePath}/preferredModel`, 'must be a string when present');
133
+ }
134
+ }
135
+ function validateTurnPlan(value) {
136
+ const errors = [];
137
+ if (!isRecord(value)) {
138
+ return { valid: false, errors: [{ path: '/', message: 'must be an object' }] };
139
+ }
140
+ const proposedTools = value.proposedTools;
141
+ if (!Array.isArray(proposedTools)) {
142
+ pushError(errors, '/proposedTools', 'must be an array');
143
+ }
144
+ else {
145
+ proposedTools.forEach((t, idx) => {
146
+ if (typeof t !== 'string') {
147
+ pushError(errors, `/proposedTools/${idx}`, 'must be a string');
148
+ }
149
+ });
150
+ }
151
+ const proposedWorkflow = value.proposedWorkflow;
152
+ if (proposedWorkflow !== undefined) {
153
+ validateProposedWorkflowInternal(proposedWorkflow, '/proposedWorkflow', errors);
154
+ }
155
+ const refs = value.resolvedReferences;
156
+ if (!Array.isArray(refs)) {
157
+ pushError(errors, '/resolvedReferences', 'must be an array');
158
+ }
159
+ else {
160
+ refs.forEach((ref, idx) => validateArtifactRefInternal(ref, `/resolvedReferences/${idx}`, errors));
161
+ }
162
+ const needsClarification = value.needsClarification;
163
+ if (needsClarification !== undefined) {
164
+ if (!isRecord(needsClarification)) {
165
+ pushError(errors, '/needsClarification', 'must be an object when present');
166
+ }
167
+ else {
168
+ const q = needsClarification.question;
169
+ if (typeof q !== 'string' || q.length === 0) {
170
+ pushError(errors, '/needsClarification/question', 'must be a non-empty string');
171
+ }
172
+ }
173
+ }
174
+ const spendEstimate = value.spendEstimate;
175
+ if (spendEstimate !== undefined) {
176
+ validateSpendEstimateInternal(spendEstimate, '/spendEstimate', errors);
177
+ }
178
+ const conf = value.confidence;
179
+ if (typeof conf !== 'number' || !Number.isFinite(conf)) {
180
+ pushError(errors, '/confidence', 'must be a finite number');
181
+ }
182
+ else if (conf < 0 || conf > 1) {
183
+ pushError(errors, '/confidence', 'must be in [0, 1]');
184
+ }
185
+ return { valid: errors.length === 0, errors };
186
+ }
187
+ //# sourceMappingURL=turnPlan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"turnPlan.js","sourceRoot":"","sources":["../../src/agent/turnPlan.ts"],"names":[],"mappings":"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"}