@manifesto-ai/core 0.3.0 → 1.3.0

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 (279) hide show
  1. package/README.md +148 -498
  2. package/dist/__tests__/apply.test.d.ts +2 -0
  3. package/dist/__tests__/apply.test.d.ts.map +1 -0
  4. package/dist/__tests__/apply.test.js +144 -0
  5. package/dist/__tests__/apply.test.js.map +1 -0
  6. package/dist/__tests__/jcs.test.d.ts +2 -0
  7. package/dist/__tests__/jcs.test.d.ts.map +1 -0
  8. package/dist/__tests__/jcs.test.js +45 -0
  9. package/dist/__tests__/jcs.test.js.map +1 -0
  10. package/dist/core/apply.d.ts +17 -0
  11. package/dist/core/apply.d.ts.map +1 -0
  12. package/dist/core/apply.js +130 -0
  13. package/dist/core/apply.js.map +1 -0
  14. package/dist/core/compute.d.ts +17 -0
  15. package/dist/core/compute.d.ts.map +1 -0
  16. package/dist/core/compute.js +287 -0
  17. package/dist/core/compute.js.map +1 -0
  18. package/dist/core/compute.test.d.ts +2 -0
  19. package/dist/core/compute.test.d.ts.map +1 -0
  20. package/dist/core/compute.test.js +633 -0
  21. package/dist/core/compute.test.js.map +1 -0
  22. package/dist/core/explain.d.ts +14 -0
  23. package/dist/core/explain.d.ts.map +1 -0
  24. package/dist/core/explain.js +78 -0
  25. package/dist/core/explain.js.map +1 -0
  26. package/dist/core/index.d.ts +5 -0
  27. package/dist/core/index.d.ts.map +1 -0
  28. package/dist/core/index.js +5 -0
  29. package/dist/core/index.js.map +1 -0
  30. package/dist/core/validate.d.ts +16 -0
  31. package/dist/core/validate.d.ts.map +1 -0
  32. package/dist/core/validate.js +361 -0
  33. package/dist/core/validate.js.map +1 -0
  34. package/dist/core/validate.test.d.ts +2 -0
  35. package/dist/core/validate.test.d.ts.map +1 -0
  36. package/dist/core/validate.test.js +638 -0
  37. package/dist/core/validate.test.js.map +1 -0
  38. package/dist/core/validation-utils.d.ts +20 -0
  39. package/dist/core/validation-utils.d.ts.map +1 -0
  40. package/dist/core/validation-utils.js +289 -0
  41. package/dist/core/validation-utils.js.map +1 -0
  42. package/dist/errors.d.ts +30 -0
  43. package/dist/errors.d.ts.map +1 -0
  44. package/dist/errors.js +51 -0
  45. package/dist/errors.js.map +1 -0
  46. package/dist/evaluator/computed.d.ts +14 -0
  47. package/dist/evaluator/computed.d.ts.map +1 -0
  48. package/dist/evaluator/computed.js +60 -0
  49. package/dist/evaluator/computed.js.map +1 -0
  50. package/dist/evaluator/context.d.ts +59 -0
  51. package/dist/evaluator/context.d.ts.map +1 -0
  52. package/dist/evaluator/context.js +41 -0
  53. package/dist/evaluator/context.js.map +1 -0
  54. package/dist/evaluator/dag.d.ts +30 -0
  55. package/dist/evaluator/dag.d.ts.map +1 -0
  56. package/dist/evaluator/dag.js +121 -0
  57. package/dist/evaluator/dag.js.map +1 -0
  58. package/dist/evaluator/expr.d.ts +11 -0
  59. package/dist/evaluator/expr.d.ts.map +1 -0
  60. package/dist/evaluator/expr.js +649 -0
  61. package/dist/evaluator/expr.js.map +1 -0
  62. package/dist/evaluator/expr.test.d.ts +2 -0
  63. package/dist/evaluator/expr.test.d.ts.map +1 -0
  64. package/dist/evaluator/expr.test.js +449 -0
  65. package/dist/evaluator/expr.test.js.map +1 -0
  66. package/dist/evaluator/flow.d.ts +35 -0
  67. package/dist/evaluator/flow.d.ts.map +1 -0
  68. package/dist/evaluator/flow.js +387 -0
  69. package/dist/evaluator/flow.js.map +1 -0
  70. package/dist/evaluator/flow.test.d.ts +2 -0
  71. package/dist/evaluator/flow.test.d.ts.map +1 -0
  72. package/dist/evaluator/flow.test.js +499 -0
  73. package/dist/evaluator/flow.test.js.map +1 -0
  74. package/dist/evaluator/index.d.ts +6 -0
  75. package/dist/evaluator/index.d.ts.map +1 -0
  76. package/dist/evaluator/index.js +6 -0
  77. package/dist/evaluator/index.js.map +1 -0
  78. package/dist/factories.d.ts +22 -0
  79. package/dist/factories.d.ts.map +1 -0
  80. package/dist/factories.js +44 -0
  81. package/dist/factories.js.map +1 -0
  82. package/dist/index.d.ts +47 -11
  83. package/dist/index.d.ts.map +1 -1
  84. package/dist/index.js +30 -45
  85. package/dist/index.js.map +1 -1
  86. package/dist/index.test.d.ts +2 -0
  87. package/dist/index.test.d.ts.map +1 -0
  88. package/dist/index.test.js +13 -0
  89. package/dist/index.test.js.map +1 -0
  90. package/dist/schema/action.d.ts +14 -0
  91. package/dist/schema/action.d.ts.map +1 -0
  92. package/dist/schema/action.js +30 -0
  93. package/dist/schema/action.js.map +1 -0
  94. package/dist/schema/common.d.ts +37 -0
  95. package/dist/schema/common.d.ts.map +1 -0
  96. package/dist/schema/common.js +20 -0
  97. package/dist/schema/common.js.map +1 -0
  98. package/dist/schema/computed.d.ts +23 -0
  99. package/dist/schema/computed.d.ts.map +1 -0
  100. package/dist/schema/computed.js +34 -0
  101. package/dist/schema/computed.js.map +1 -0
  102. package/dist/schema/domain.d.ts +50 -0
  103. package/dist/schema/domain.d.ts.map +1 -0
  104. package/dist/schema/domain.js +60 -0
  105. package/dist/schema/domain.js.map +1 -0
  106. package/dist/schema/expr.d.ts +303 -0
  107. package/dist/schema/expr.d.ts.map +1 -0
  108. package/dist/schema/expr.js +283 -0
  109. package/dist/schema/expr.js.map +1 -0
  110. package/dist/schema/field.d.ts +48 -0
  111. package/dist/schema/field.d.ts.map +1 -0
  112. package/dist/schema/field.js +31 -0
  113. package/dist/schema/field.js.map +1 -0
  114. package/dist/schema/flow.d.ts +103 -0
  115. package/dist/schema/flow.d.ts.map +1 -0
  116. package/dist/schema/flow.js +82 -0
  117. package/dist/schema/flow.js.map +1 -0
  118. package/dist/schema/host-context.d.ts +12 -0
  119. package/dist/schema/host-context.d.ts.map +1 -0
  120. package/dist/schema/host-context.js +23 -0
  121. package/dist/schema/host-context.js.map +1 -0
  122. package/dist/schema/index.d.ts +13 -2
  123. package/dist/schema/index.d.ts.map +1 -1
  124. package/dist/schema/index.js +25 -2
  125. package/dist/schema/index.js.map +1 -1
  126. package/dist/schema/patch.d.ts +59 -0
  127. package/dist/schema/patch.d.ts.map +1 -0
  128. package/dist/schema/patch.js +60 -0
  129. package/dist/schema/patch.js.map +1 -0
  130. package/dist/schema/result.d.ts +142 -0
  131. package/dist/schema/result.d.ts.map +1 -0
  132. package/dist/schema/result.js +94 -0
  133. package/dist/schema/result.js.map +1 -0
  134. package/dist/schema/snapshot.d.ts +153 -0
  135. package/dist/schema/snapshot.d.ts.map +1 -0
  136. package/dist/schema/snapshot.js +160 -0
  137. package/dist/schema/snapshot.js.map +1 -0
  138. package/dist/schema/trace.d.ts +98 -0
  139. package/dist/schema/trace.d.ts.map +1 -0
  140. package/dist/schema/trace.js +90 -0
  141. package/dist/schema/trace.js.map +1 -0
  142. package/dist/schema/type-spec.d.ts +34 -0
  143. package/dist/schema/type-spec.d.ts.map +1 -0
  144. package/dist/schema/type-spec.js +40 -0
  145. package/dist/schema/type-spec.js.map +1 -0
  146. package/dist/utils/canonical.d.ts +37 -0
  147. package/dist/utils/canonical.d.ts.map +1 -0
  148. package/dist/utils/canonical.js +122 -0
  149. package/dist/utils/canonical.js.map +1 -0
  150. package/dist/utils/canonical.test.d.ts +2 -0
  151. package/dist/utils/canonical.test.d.ts.map +1 -0
  152. package/dist/utils/canonical.test.js +183 -0
  153. package/dist/utils/canonical.test.js.map +1 -0
  154. package/dist/utils/hash.d.ts +28 -0
  155. package/dist/utils/hash.d.ts.map +1 -0
  156. package/dist/utils/hash.js +152 -0
  157. package/dist/utils/hash.js.map +1 -0
  158. package/dist/utils/hash.test.d.ts +2 -0
  159. package/dist/utils/hash.test.d.ts.map +1 -0
  160. package/dist/utils/hash.test.js +170 -0
  161. package/dist/utils/hash.test.js.map +1 -0
  162. package/dist/utils/index.d.ts +4 -0
  163. package/dist/utils/index.d.ts.map +1 -0
  164. package/dist/utils/index.js +4 -0
  165. package/dist/utils/index.js.map +1 -0
  166. package/dist/utils/path.d.ts +40 -0
  167. package/dist/utils/path.d.ts.map +1 -0
  168. package/dist/utils/path.js +132 -0
  169. package/dist/utils/path.js.map +1 -0
  170. package/dist/utils/path.test.d.ts +2 -0
  171. package/dist/utils/path.test.d.ts.map +1 -0
  172. package/dist/utils/path.test.js +191 -0
  173. package/dist/utils/path.test.js.map +1 -0
  174. package/package.json +28 -41
  175. package/LICENSE +0 -21
  176. package/dist/dag/graph.d.ts +0 -62
  177. package/dist/dag/graph.d.ts.map +0 -1
  178. package/dist/dag/graph.js +0 -244
  179. package/dist/dag/graph.js.map +0 -1
  180. package/dist/dag/index.d.ts +0 -4
  181. package/dist/dag/index.d.ts.map +0 -1
  182. package/dist/dag/index.js +0 -4
  183. package/dist/dag/index.js.map +0 -1
  184. package/dist/dag/propagation.d.ts +0 -58
  185. package/dist/dag/propagation.d.ts.map +0 -1
  186. package/dist/dag/propagation.js +0 -224
  187. package/dist/dag/propagation.js.map +0 -1
  188. package/dist/dag/topological.d.ts +0 -33
  189. package/dist/dag/topological.d.ts.map +0 -1
  190. package/dist/dag/topological.js +0 -173
  191. package/dist/dag/topological.js.map +0 -1
  192. package/dist/domain/define.d.ts +0 -82
  193. package/dist/domain/define.d.ts.map +0 -1
  194. package/dist/domain/define.js +0 -105
  195. package/dist/domain/define.js.map +0 -1
  196. package/dist/domain/index.d.ts +0 -4
  197. package/dist/domain/index.d.ts.map +0 -1
  198. package/dist/domain/index.js +0 -4
  199. package/dist/domain/index.js.map +0 -1
  200. package/dist/domain/types.d.ts +0 -203
  201. package/dist/domain/types.d.ts.map +0 -1
  202. package/dist/domain/types.js +0 -2
  203. package/dist/domain/types.js.map +0 -1
  204. package/dist/domain/validate.d.ts +0 -17
  205. package/dist/domain/validate.d.ts.map +0 -1
  206. package/dist/domain/validate.js +0 -204
  207. package/dist/domain/validate.js.map +0 -1
  208. package/dist/effect/index.d.ts +0 -4
  209. package/dist/effect/index.d.ts.map +0 -1
  210. package/dist/effect/index.js +0 -4
  211. package/dist/effect/index.js.map +0 -1
  212. package/dist/effect/result.d.ts +0 -100
  213. package/dist/effect/result.d.ts.map +0 -1
  214. package/dist/effect/result.js +0 -163
  215. package/dist/effect/result.js.map +0 -1
  216. package/dist/effect/runner.d.ts +0 -98
  217. package/dist/effect/runner.d.ts.map +0 -1
  218. package/dist/effect/runner.js +0 -321
  219. package/dist/effect/runner.js.map +0 -1
  220. package/dist/effect/types.d.ts +0 -169
  221. package/dist/effect/types.d.ts.map +0 -1
  222. package/dist/effect/types.js +0 -28
  223. package/dist/effect/types.js.map +0 -1
  224. package/dist/expression/analyzer.d.ts +0 -42
  225. package/dist/expression/analyzer.d.ts.map +0 -1
  226. package/dist/expression/analyzer.js +0 -166
  227. package/dist/expression/analyzer.js.map +0 -1
  228. package/dist/expression/evaluator.d.ts +0 -16
  229. package/dist/expression/evaluator.d.ts.map +0 -1
  230. package/dist/expression/evaluator.js +0 -382
  231. package/dist/expression/evaluator.js.map +0 -1
  232. package/dist/expression/index.d.ts +0 -5
  233. package/dist/expression/index.d.ts.map +0 -1
  234. package/dist/expression/index.js +0 -5
  235. package/dist/expression/index.js.map +0 -1
  236. package/dist/expression/parser.d.ts +0 -37
  237. package/dist/expression/parser.d.ts.map +0 -1
  238. package/dist/expression/parser.js +0 -201
  239. package/dist/expression/parser.js.map +0 -1
  240. package/dist/expression/types.d.ts +0 -123
  241. package/dist/expression/types.d.ts.map +0 -1
  242. package/dist/expression/types.js +0 -10
  243. package/dist/expression/types.js.map +0 -1
  244. package/dist/policy/field-policy.d.ts +0 -63
  245. package/dist/policy/field-policy.d.ts.map +0 -1
  246. package/dist/policy/field-policy.js +0 -138
  247. package/dist/policy/field-policy.js.map +0 -1
  248. package/dist/policy/index.d.ts +0 -3
  249. package/dist/policy/index.d.ts.map +0 -1
  250. package/dist/policy/index.js +0 -3
  251. package/dist/policy/index.js.map +0 -1
  252. package/dist/policy/precondition.d.ts +0 -58
  253. package/dist/policy/precondition.d.ts.map +0 -1
  254. package/dist/policy/precondition.js +0 -115
  255. package/dist/policy/precondition.js.map +0 -1
  256. package/dist/runtime/index.d.ts +0 -4
  257. package/dist/runtime/index.d.ts.map +0 -1
  258. package/dist/runtime/index.js +0 -4
  259. package/dist/runtime/index.js.map +0 -1
  260. package/dist/runtime/runtime.d.ts +0 -94
  261. package/dist/runtime/runtime.d.ts.map +0 -1
  262. package/dist/runtime/runtime.js +0 -294
  263. package/dist/runtime/runtime.js.map +0 -1
  264. package/dist/runtime/snapshot.d.ts +0 -39
  265. package/dist/runtime/snapshot.d.ts.map +0 -1
  266. package/dist/runtime/snapshot.js +0 -264
  267. package/dist/runtime/snapshot.js.map +0 -1
  268. package/dist/runtime/subscription.d.ts +0 -82
  269. package/dist/runtime/subscription.d.ts.map +0 -1
  270. package/dist/runtime/subscription.js +0 -222
  271. package/dist/runtime/subscription.js.map +0 -1
  272. package/dist/schema/integration.d.ts +0 -89
  273. package/dist/schema/integration.d.ts.map +0 -1
  274. package/dist/schema/integration.js +0 -171
  275. package/dist/schema/integration.js.map +0 -1
  276. package/dist/schema/validation.d.ts +0 -51
  277. package/dist/schema/validation.d.ts.map +0 -1
  278. package/dist/schema/validation.js +0 -212
  279. package/dist/schema/validation.js.map +0 -1
@@ -1,123 +0,0 @@
1
- /**
2
- * Expression DSL Types
3
- *
4
- * MapGL-like 선언적 표현식 언어
5
- * - JSON-serializable (코드가 아닌 데이터)
6
- * - Side-effect 없음 (순수 함수)
7
- * - 정적 분석 가능 (의존성 추출, AI 파싱)
8
- */
9
- import type { SemanticPath } from '../domain/types.js';
10
- /** 리터럴 값 */
11
- export type LiteralExpr = string | number | boolean | null;
12
- /** 경로로 값 읽기 */
13
- export type GetExpr = ['get', SemanticPath];
14
- /** 비교 연산자 */
15
- export type EqExpr = ['==', Expression, Expression];
16
- export type NeqExpr = ['!=', Expression, Expression];
17
- export type GtExpr = ['>', Expression, Expression];
18
- export type GteExpr = ['>=', Expression, Expression];
19
- export type LtExpr = ['<', Expression, Expression];
20
- export type LteExpr = ['<=', Expression, Expression];
21
- export type ComparisonExpr = EqExpr | NeqExpr | GtExpr | GteExpr | LtExpr | LteExpr;
22
- /** 논리 연산자 */
23
- export type NotExpr = ['!', Expression];
24
- export type AllExpr = ['all', ...Expression[]];
25
- export type AnyExpr = ['any', ...Expression[]];
26
- export type LogicalExpr = NotExpr | AllExpr | AnyExpr;
27
- /** 산술 연산자 */
28
- export type AddExpr = ['+', Expression, Expression];
29
- export type SubExpr = ['-', Expression, Expression];
30
- export type MulExpr = ['*', Expression, Expression];
31
- export type DivExpr = ['/', Expression, Expression];
32
- export type ModExpr = ['%', Expression, Expression];
33
- export type ArithmeticExpr = AddExpr | SubExpr | MulExpr | DivExpr | ModExpr;
34
- /** Case clause: [condition, result] */
35
- export type CaseClause = [Expression, Expression];
36
- /** Match clause: [pattern, result] */
37
- export type MatchClause = [Expression, Expression];
38
- /** case: if-else chain */
39
- export type CaseExpr = ['case', ...CaseClause[], Expression];
40
- /** match: pattern match */
41
- export type MatchExpr = ['match', Expression, ...MatchClause[], Expression];
42
- /** coalesce: first non-null */
43
- export type CoalesceExpr = ['coalesce', ...Expression[]];
44
- export type ConditionalExpr = CaseExpr | MatchExpr | CoalesceExpr;
45
- export type ConcatExpr = ['concat', ...Expression[]];
46
- export type UpperExpr = ['upper', Expression];
47
- export type LowerExpr = ['lower', Expression];
48
- export type TrimExpr = ['trim', Expression];
49
- export type SliceExpr = ['slice', Expression, number, number?];
50
- export type SplitExpr = ['split', Expression, string];
51
- export type JoinExpr = ['join', Expression, string];
52
- export type MatchesExpr = ['matches', Expression, string];
53
- export type ReplaceExpr = ['replace', Expression, string, string];
54
- export type StringFn = ConcatExpr | UpperExpr | LowerExpr | TrimExpr | SliceExpr | SplitExpr | JoinExpr | MatchesExpr | ReplaceExpr;
55
- export type LengthExpr = ['length', Expression];
56
- export type AtExpr = ['at', Expression, number];
57
- export type FirstExpr = ['first', Expression];
58
- export type LastExpr = ['last', Expression];
59
- export type IncludesExpr = ['includes', Expression, Expression];
60
- export type IndexOfExpr = ['indexOf', Expression, Expression];
61
- export type MapExpr = ['map', Expression, Expression];
62
- export type FilterExpr = ['filter', Expression, Expression];
63
- export type EveryExpr = ['every', Expression, Expression];
64
- export type SomeExpr = ['some', Expression, Expression];
65
- export type ReduceExpr = ['reduce', Expression, Expression, Expression];
66
- export type FlattenExpr = ['flatten', Expression];
67
- export type UniqueExpr = ['unique', Expression];
68
- export type SortExpr = ['sort', Expression, Expression?];
69
- export type ReverseExpr = ['reverse', Expression];
70
- export type ArrayFn = LengthExpr | AtExpr | FirstExpr | LastExpr | IncludesExpr | IndexOfExpr | MapExpr | FilterExpr | EveryExpr | SomeExpr | ReduceExpr | FlattenExpr | UniqueExpr | SortExpr | ReverseExpr;
71
- export type SumExpr = ['sum', Expression];
72
- export type MinExpr = ['min', Expression];
73
- export type MaxExpr = ['max', Expression];
74
- export type AvgExpr = ['avg', Expression];
75
- export type CountExpr = ['count', Expression];
76
- export type RoundExpr = ['round', Expression, number?];
77
- export type FloorExpr = ['floor', Expression];
78
- export type CeilExpr = ['ceil', Expression];
79
- export type AbsExpr = ['abs', Expression];
80
- export type ClampExpr = ['clamp', Expression, number, number];
81
- export type NumberFn = SumExpr | MinExpr | MaxExpr | AvgExpr | CountExpr | RoundExpr | FloorExpr | CeilExpr | AbsExpr | ClampExpr;
82
- export type HasExpr = ['has', Expression, string];
83
- export type KeysExpr = ['keys', Expression];
84
- export type ValuesExpr = ['values', Expression];
85
- export type EntriesExpr = ['entries', Expression];
86
- export type PickExpr = ['pick', Expression, ...string[]];
87
- export type OmitExpr = ['omit', Expression, ...string[]];
88
- export type ObjectFn = HasExpr | KeysExpr | ValuesExpr | EntriesExpr | PickExpr | OmitExpr;
89
- export type IsNullExpr = ['isNull', Expression];
90
- export type IsNumberExpr = ['isNumber', Expression];
91
- export type IsStringExpr = ['isString', Expression];
92
- export type IsArrayExpr = ['isArray', Expression];
93
- export type IsObjectExpr = ['isObject', Expression];
94
- export type ToNumberExpr = ['toNumber', Expression];
95
- export type ToStringExpr = ['toString', Expression];
96
- export type TypeFn = IsNullExpr | IsNumberExpr | IsStringExpr | IsArrayExpr | IsObjectExpr | ToNumberExpr | ToStringExpr;
97
- export type NowExpr = ['now'];
98
- export type DateExpr = ['date', Expression];
99
- export type YearExpr = ['year', Expression];
100
- export type MonthExpr = ['month', Expression];
101
- export type DayExpr = ['day', Expression];
102
- export type DiffExpr = ['diff', Expression, Expression, string];
103
- export type DateFn = NowExpr | DateExpr | YearExpr | MonthExpr | DayExpr | DiffExpr;
104
- export type OperatorExpr = ComparisonExpr | LogicalExpr | ArithmeticExpr;
105
- export type FunctionExpr = ConditionalExpr | StringFn | ArrayFn | NumberFn | ObjectFn | TypeFn | DateFn;
106
- /**
107
- * Expression: MapGL-like 선언적 표현식
108
- */
109
- export type Expression = LiteralExpr | GetExpr | OperatorExpr | FunctionExpr;
110
- /**
111
- * EvaluationContext: Expression 평가에 필요한 컨텍스트
112
- */
113
- export type EvaluationContext = {
114
- /** 모든 경로의 값을 조회하는 함수 */
115
- get: (path: SemanticPath) => unknown;
116
- /** 현재 컨텍스트 값 (map/filter 내부에서 사용) */
117
- current?: unknown;
118
- /** 현재 인덱스 (map/filter 내부에서 사용) */
119
- index?: number;
120
- /** 누적값 (reduce에서 사용) */
121
- accumulator?: unknown;
122
- };
123
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/expression/types.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- /**
2
- * Expression DSL Types
3
- *
4
- * MapGL-like 선언적 표현식 언어
5
- * - JSON-serializable (코드가 아닌 데이터)
6
- * - Side-effect 없음 (순수 함수)
7
- * - 정적 분석 가능 (의존성 추출, AI 파싱)
8
- */
9
- export {};
10
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/expression/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
@@ -1,63 +0,0 @@
1
- import type { SemanticPath, ConditionRef, FieldPolicy } from '../domain/types.js';
2
- import type { EvaluationContext } from '../expression/types.js';
3
- /**
4
- * FieldPolicyEvaluation: 필드 정책 평가 결과
5
- */
6
- export type FieldPolicyEvaluation = {
7
- /** 이 필드가 현재 의미있는지 (표시할지) */
8
- relevant: boolean;
9
- relevantReason?: string;
10
- relevantConditions?: ConditionEvaluationDetail[];
11
- /** 이 필드가 현재 수정 가능한지 */
12
- editable: boolean;
13
- editableReason?: string;
14
- editableConditions?: ConditionEvaluationDetail[];
15
- /** 이 필드가 현재 필수인지 */
16
- required: boolean;
17
- requiredReason?: string;
18
- requiredConditions?: ConditionEvaluationDetail[];
19
- };
20
- /**
21
- * ConditionEvaluationDetail: 조건 평가 상세
22
- */
23
- export type ConditionEvaluationDetail = {
24
- condition: ConditionRef;
25
- actualValue: unknown;
26
- satisfied: boolean;
27
- };
28
- /**
29
- * 필드 정책 평가
30
- */
31
- export declare function evaluateFieldPolicy(policy: FieldPolicy | undefined, ctx: EvaluationContext): FieldPolicyEvaluation;
32
- /**
33
- * UI 표현을 위한 필드 상태
34
- */
35
- export type FieldUIState = {
36
- /** 보여야 하는지 */
37
- visible: boolean;
38
- /** 활성화 상태인지 */
39
- enabled: boolean;
40
- /** 필수 표시를 보여야 하는지 */
41
- showRequired: boolean;
42
- /** 비활성화 이유 (있으면) */
43
- disabledReason?: string;
44
- /** 숨김 이유 (있으면) */
45
- hiddenReason?: string;
46
- };
47
- /**
48
- * 필드 정책을 UI 상태로 변환
49
- */
50
- export declare function policyToUIState(evaluation: FieldPolicyEvaluation): FieldUIState;
51
- /**
52
- * 필드 정책의 의존성 추출
53
- */
54
- export declare function extractFieldPolicyDependencies(policy: FieldPolicy): SemanticPath[];
55
- /**
56
- * 다중 필드 정책 평가 (배치)
57
- */
58
- export declare function evaluateMultipleFieldPolicies(policies: Record<SemanticPath, FieldPolicy | undefined>, ctx: EvaluationContext): Record<SemanticPath, FieldPolicyEvaluation>;
59
- /**
60
- * AI용 필드 정책 설명 생성
61
- */
62
- export declare function explainFieldPolicy(path: SemanticPath, evaluation: FieldPolicyEvaluation): string;
63
- //# sourceMappingURL=field-policy.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"field-policy.d.ts","sourceRoot":"","sources":["../../src/policy/field-policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAClF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,4BAA4B;IAC5B,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,yBAAyB,EAAE,CAAC;IAEjD,uBAAuB;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,yBAAyB,EAAE,CAAC;IAEjD,oBAAoB;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,yBAAyB,EAAE,CAAC;CAClD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACtC,SAAS,EAAE,YAAY,CAAC;IACxB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,GAAG,EAAE,iBAAiB,GACrB,qBAAqB,CA0BvB;AA+CD;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,cAAc;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,qBAAqB;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,oBAAoB;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF;;GAEG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,qBAAqB,GAAG,YAAY,CAQ/E;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,WAAW,GAAG,YAAY,EAAE,CAgBlF;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,MAAM,CAAC,YAAY,EAAE,WAAW,GAAG,SAAS,CAAC,EACvD,GAAG,EAAE,iBAAiB,GACrB,MAAM,CAAC,YAAY,EAAE,qBAAqB,CAAC,CAQ7C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,YAAY,EAClB,UAAU,EAAE,qBAAqB,GAChC,MAAM,CA4CR"}
@@ -1,138 +0,0 @@
1
- /**
2
- * 필드 정책 평가
3
- */
4
- export function evaluateFieldPolicy(policy, ctx) {
5
- if (!policy) {
6
- return {
7
- relevant: true,
8
- editable: true,
9
- required: false,
10
- };
11
- }
12
- const relevantResult = evaluateConditionList(policy.relevantWhen, ctx, true);
13
- const editableResult = evaluateConditionList(policy.editableWhen, ctx, true);
14
- const requiredResult = evaluateConditionList(policy.requiredWhen, ctx, false);
15
- return {
16
- relevant: relevantResult.satisfied,
17
- relevantReason: relevantResult.reason,
18
- relevantConditions: relevantResult.details,
19
- editable: editableResult.satisfied,
20
- editableReason: editableResult.reason,
21
- editableConditions: editableResult.details,
22
- required: requiredResult.satisfied,
23
- requiredReason: requiredResult.reason,
24
- requiredConditions: requiredResult.details,
25
- };
26
- }
27
- /**
28
- * 조건 목록 평가
29
- */
30
- function evaluateConditionList(conditions, ctx, defaultValue) {
31
- if (!conditions || conditions.length === 0) {
32
- return { satisfied: defaultValue, details: [] };
33
- }
34
- const details = [];
35
- let firstUnsatisfiedReason;
36
- for (const condition of conditions) {
37
- const actualValue = ctx.get(condition.path);
38
- const actualBoolean = Boolean(actualValue);
39
- const expectedBoolean = condition.expect !== 'false';
40
- const satisfied = actualBoolean === expectedBoolean;
41
- details.push({
42
- condition,
43
- actualValue,
44
- satisfied,
45
- });
46
- if (!satisfied && !firstUnsatisfiedReason) {
47
- firstUnsatisfiedReason = condition.reason;
48
- }
49
- }
50
- const allSatisfied = details.every((d) => d.satisfied);
51
- return {
52
- satisfied: allSatisfied,
53
- reason: allSatisfied ? undefined : firstUnsatisfiedReason,
54
- details,
55
- };
56
- }
57
- /**
58
- * 필드 정책을 UI 상태로 변환
59
- */
60
- export function policyToUIState(evaluation) {
61
- return {
62
- visible: evaluation.relevant,
63
- enabled: evaluation.relevant && evaluation.editable,
64
- showRequired: evaluation.relevant && evaluation.required,
65
- disabledReason: evaluation.editable ? undefined : evaluation.editableReason,
66
- hiddenReason: evaluation.relevant ? undefined : evaluation.relevantReason,
67
- };
68
- }
69
- /**
70
- * 필드 정책의 의존성 추출
71
- */
72
- export function extractFieldPolicyDependencies(policy) {
73
- const deps = new Set();
74
- for (const cond of policy.relevantWhen ?? []) {
75
- deps.add(cond.path);
76
- }
77
- for (const cond of policy.editableWhen ?? []) {
78
- deps.add(cond.path);
79
- }
80
- for (const cond of policy.requiredWhen ?? []) {
81
- deps.add(cond.path);
82
- }
83
- return [...deps];
84
- }
85
- /**
86
- * 다중 필드 정책 평가 (배치)
87
- */
88
- export function evaluateMultipleFieldPolicies(policies, ctx) {
89
- const results = {};
90
- for (const [path, policy] of Object.entries(policies)) {
91
- results[path] = evaluateFieldPolicy(policy, ctx);
92
- }
93
- return results;
94
- }
95
- /**
96
- * AI용 필드 정책 설명 생성
97
- */
98
- export function explainFieldPolicy(path, evaluation) {
99
- const lines = [];
100
- lines.push(`Field: ${path}`);
101
- lines.push('');
102
- // Relevance
103
- lines.push(`Relevant: ${evaluation.relevant ? 'Yes' : 'No'}`);
104
- if (!evaluation.relevant) {
105
- lines.push(` Reason: ${evaluation.relevantReason ?? 'Condition not met'}`);
106
- if (evaluation.relevantConditions) {
107
- for (const detail of evaluation.relevantConditions) {
108
- if (!detail.satisfied) {
109
- lines.push(` - ${detail.condition.path}: expected ${detail.condition.expect ?? 'true'}, got ${Boolean(detail.actualValue)}`);
110
- }
111
- }
112
- }
113
- }
114
- // Editable
115
- lines.push(`Editable: ${evaluation.editable ? 'Yes' : 'No'}`);
116
- if (!evaluation.editable) {
117
- lines.push(` Reason: ${evaluation.editableReason ?? 'Condition not met'}`);
118
- if (evaluation.editableConditions) {
119
- for (const detail of evaluation.editableConditions) {
120
- if (!detail.satisfied) {
121
- lines.push(` - ${detail.condition.path}: expected ${detail.condition.expect ?? 'true'}, got ${Boolean(detail.actualValue)}`);
122
- }
123
- }
124
- }
125
- }
126
- // Required
127
- lines.push(`Required: ${evaluation.required ? 'Yes' : 'No'}`);
128
- if (evaluation.required && evaluation.requiredConditions) {
129
- lines.push(' Because:');
130
- for (const detail of evaluation.requiredConditions) {
131
- if (detail.satisfied) {
132
- lines.push(` - ${detail.condition.path} = ${JSON.stringify(detail.actualValue)}`);
133
- }
134
- }
135
- }
136
- return lines.join('\n');
137
- }
138
- //# sourceMappingURL=field-policy.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"field-policy.js","sourceRoot":"","sources":["../../src/policy/field-policy.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- export * from './precondition.js';
2
- export * from './field-policy.js';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/policy/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC"}
@@ -1,3 +0,0 @@
1
- export * from './precondition.js';
2
- export * from './field-policy.js';
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/policy/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC"}
@@ -1,58 +0,0 @@
1
- import type { SemanticPath, ConditionRef, ActionDefinition } from '../domain/types.js';
2
- import type { EvaluationContext } from '../expression/types.js';
3
- /**
4
- * PreconditionEvaluationResult: 전제조건 평가 결과
5
- */
6
- export type PreconditionEvaluationResult = {
7
- /** 조건 참조 */
8
- condition: ConditionRef;
9
- /** 실제 평가된 값 */
10
- actualValue: unknown;
11
- /** 조건 충족 여부 */
12
- satisfied: boolean;
13
- /** 디버그 정보 */
14
- debug?: {
15
- path: SemanticPath;
16
- expectedBoolean: boolean;
17
- actualBoolean: boolean;
18
- };
19
- };
20
- /**
21
- * ActionAvailability: 액션 실행 가능성
22
- */
23
- export type ActionAvailability = {
24
- /** 실행 가능 여부 */
25
- available: boolean;
26
- /** 충족되지 않은 조건들 */
27
- unsatisfiedConditions: PreconditionEvaluationResult[];
28
- /** 사람이 읽을 수 있는 이유 */
29
- reasons: string[];
30
- /** AI용 상세 설명 */
31
- explanation: string;
32
- };
33
- /**
34
- * 전제조건 평가
35
- */
36
- export declare function evaluatePrecondition(condition: ConditionRef, ctx: EvaluationContext): PreconditionEvaluationResult;
37
- /**
38
- * 모든 전제조건 평가
39
- */
40
- export declare function evaluateAllPreconditions(conditions: ConditionRef[], ctx: EvaluationContext): PreconditionEvaluationResult[];
41
- /**
42
- * 액션 실행 가능성 확인
43
- */
44
- export declare function checkActionAvailability(action: ActionDefinition, ctx: EvaluationContext): ActionAvailability;
45
- /**
46
- * 전제조건 의존성 추출
47
- */
48
- export declare function extractPreconditionDependencies(conditions: ConditionRef[]): SemanticPath[];
49
- /**
50
- * 전제조건 충족을 위한 필요 변경 분석
51
- */
52
- export declare function analyzePreconditionRequirements(unsatisfied: PreconditionEvaluationResult[]): Array<{
53
- path: SemanticPath;
54
- currentValue: unknown;
55
- requiredValue: boolean;
56
- reason?: string;
57
- }>;
58
- //# sourceMappingURL=precondition.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"precondition.d.ts","sourceRoot":"","sources":["../../src/policy/precondition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACvF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAGhE;;GAEG;AACH,MAAM,MAAM,4BAA4B,GAAG;IACzC,YAAY;IACZ,SAAS,EAAE,YAAY,CAAC;IACxB,eAAe;IACf,WAAW,EAAE,OAAO,CAAC;IACrB,eAAe;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa;IACb,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,YAAY,CAAC;QACnB,eAAe,EAAE,OAAO,CAAC;QACzB,aAAa,EAAE,OAAO,CAAC;KACxB,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,eAAe;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,kBAAkB;IAClB,qBAAqB,EAAE,4BAA4B,EAAE,CAAC;IACtD,qBAAqB;IACrB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,gBAAgB;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,YAAY,EACvB,GAAG,EAAE,iBAAiB,GACrB,4BAA4B,CAgB9B;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,YAAY,EAAE,EAC1B,GAAG,EAAE,iBAAiB,GACrB,4BAA4B,EAAE,CAEhC;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,gBAAgB,EACxB,GAAG,EAAE,iBAAiB,GACrB,kBAAkB,CAuCpB;AA8CD;;GAEG;AACH,wBAAgB,+BAA+B,CAC7C,UAAU,EAAE,YAAY,EAAE,GACzB,YAAY,EAAE,CAEhB;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAC7C,WAAW,EAAE,4BAA4B,EAAE,GAC1C,KAAK,CAAC;IACP,IAAI,EAAE,YAAY,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC,CAOD"}
@@ -1,115 +0,0 @@
1
- import { evaluate } from '../expression/evaluator.js';
2
- /**
3
- * 전제조건 평가
4
- */
5
- export function evaluatePrecondition(condition, ctx) {
6
- const actualValue = ctx.get(condition.path);
7
- const actualBoolean = Boolean(actualValue);
8
- const expectedBoolean = condition.expect !== 'false';
9
- const satisfied = actualBoolean === expectedBoolean;
10
- return {
11
- condition,
12
- actualValue,
13
- satisfied,
14
- debug: {
15
- path: condition.path,
16
- expectedBoolean,
17
- actualBoolean,
18
- },
19
- };
20
- }
21
- /**
22
- * 모든 전제조건 평가
23
- */
24
- export function evaluateAllPreconditions(conditions, ctx) {
25
- return conditions.map((cond) => evaluatePrecondition(cond, ctx));
26
- }
27
- /**
28
- * 액션 실행 가능성 확인
29
- */
30
- export function checkActionAvailability(action, ctx) {
31
- if (!action.preconditions || action.preconditions.length === 0) {
32
- return {
33
- available: true,
34
- unsatisfiedConditions: [],
35
- reasons: [],
36
- explanation: `Action "${action.semantic.verb}" is available with no preconditions.`,
37
- };
38
- }
39
- const results = evaluateAllPreconditions(action.preconditions, ctx);
40
- const unsatisfied = results.filter((r) => !r.satisfied);
41
- if (unsatisfied.length === 0) {
42
- return {
43
- available: true,
44
- unsatisfiedConditions: [],
45
- reasons: [],
46
- explanation: `Action "${action.semantic.verb}" is available. All ${results.length} preconditions are satisfied.`,
47
- };
48
- }
49
- const reasons = unsatisfied.map((r) => {
50
- if (r.condition.reason) {
51
- return r.condition.reason;
52
- }
53
- const expected = r.condition.expect !== 'false' ? 'true' : 'false';
54
- const actual = Boolean(r.actualValue) ? 'true' : 'false';
55
- return `${r.condition.path} should be ${expected}, but is ${actual}`;
56
- });
57
- const explanation = generateExplanation(action, unsatisfied);
58
- return {
59
- available: false,
60
- unsatisfiedConditions: unsatisfied,
61
- reasons,
62
- explanation,
63
- };
64
- }
65
- /**
66
- * AI용 설명 생성
67
- */
68
- function generateExplanation(action, unsatisfied) {
69
- const lines = [];
70
- lines.push(`Action "${action.semantic.verb}" is NOT available.`);
71
- lines.push('');
72
- lines.push('Unsatisfied preconditions:');
73
- for (const result of unsatisfied) {
74
- const cond = result.condition;
75
- const expected = cond.expect !== 'false' ? 'true' : 'false';
76
- const actual = Boolean(result.actualValue) ? 'true' : 'false';
77
- lines.push(` - ${cond.path}`);
78
- lines.push(` Expected: ${expected}`);
79
- lines.push(` Actual: ${actual} (raw: ${JSON.stringify(result.actualValue)})`);
80
- if (cond.reason) {
81
- lines.push(` Reason: ${cond.reason}`);
82
- }
83
- }
84
- lines.push('');
85
- lines.push('To enable this action:');
86
- for (const result of unsatisfied) {
87
- const cond = result.condition;
88
- const expected = cond.expect !== 'false';
89
- if (expected) {
90
- lines.push(` - Make ${cond.path} evaluate to true`);
91
- }
92
- else {
93
- lines.push(` - Make ${cond.path} evaluate to false`);
94
- }
95
- }
96
- return lines.join('\n');
97
- }
98
- /**
99
- * 전제조건 의존성 추출
100
- */
101
- export function extractPreconditionDependencies(conditions) {
102
- return conditions.map((c) => c.path);
103
- }
104
- /**
105
- * 전제조건 충족을 위한 필요 변경 분석
106
- */
107
- export function analyzePreconditionRequirements(unsatisfied) {
108
- return unsatisfied.map((result) => ({
109
- path: result.condition.path,
110
- currentValue: result.actualValue,
111
- requiredValue: result.condition.expect !== 'false',
112
- reason: result.condition.reason,
113
- }));
114
- }
115
- //# sourceMappingURL=precondition.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"precondition.js","sourceRoot":"","sources":["../../src/policy/precondition.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- export * from './snapshot.js';
2
- export * from './subscription.js';
3
- export * from './runtime.js';
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC"}
@@ -1,4 +0,0 @@
1
- export * from './snapshot.js';
2
- export * from './subscription.js';
3
- export * from './runtime.js';
4
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC"}