@aigne/ash 0.0.1

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 (146) hide show
  1. package/DESIGN.md +41 -0
  2. package/dist/ai-dev-loop/ash-run-result.cjs +12 -0
  3. package/dist/ai-dev-loop/ash-run-result.d.cts +28 -0
  4. package/dist/ai-dev-loop/ash-run-result.d.cts.map +1 -0
  5. package/dist/ai-dev-loop/ash-run-result.d.mts +28 -0
  6. package/dist/ai-dev-loop/ash-run-result.d.mts.map +1 -0
  7. package/dist/ai-dev-loop/ash-run-result.mjs +11 -0
  8. package/dist/ai-dev-loop/ash-run-result.mjs.map +1 -0
  9. package/dist/ai-dev-loop/ash-typed-error.cjs +51 -0
  10. package/dist/ai-dev-loop/ash-typed-error.d.cts +54 -0
  11. package/dist/ai-dev-loop/ash-typed-error.d.cts.map +1 -0
  12. package/dist/ai-dev-loop/ash-typed-error.d.mts +54 -0
  13. package/dist/ai-dev-loop/ash-typed-error.d.mts.map +1 -0
  14. package/dist/ai-dev-loop/ash-typed-error.mjs +50 -0
  15. package/dist/ai-dev-loop/ash-typed-error.mjs.map +1 -0
  16. package/dist/ai-dev-loop/ash-validate.cjs +27 -0
  17. package/dist/ai-dev-loop/ash-validate.d.cts +7 -0
  18. package/dist/ai-dev-loop/ash-validate.d.cts.map +1 -0
  19. package/dist/ai-dev-loop/ash-validate.d.mts +7 -0
  20. package/dist/ai-dev-loop/ash-validate.d.mts.map +1 -0
  21. package/dist/ai-dev-loop/ash-validate.mjs +28 -0
  22. package/dist/ai-dev-loop/ash-validate.mjs.map +1 -0
  23. package/dist/ai-dev-loop/dev-loop.cjs +134 -0
  24. package/dist/ai-dev-loop/dev-loop.d.cts +28 -0
  25. package/dist/ai-dev-loop/dev-loop.d.cts.map +1 -0
  26. package/dist/ai-dev-loop/dev-loop.d.mts +28 -0
  27. package/dist/ai-dev-loop/dev-loop.d.mts.map +1 -0
  28. package/dist/ai-dev-loop/dev-loop.mjs +135 -0
  29. package/dist/ai-dev-loop/dev-loop.mjs.map +1 -0
  30. package/dist/ai-dev-loop/index.cjs +24 -0
  31. package/dist/ai-dev-loop/index.d.cts +9 -0
  32. package/dist/ai-dev-loop/index.d.mts +9 -0
  33. package/dist/ai-dev-loop/index.mjs +10 -0
  34. package/dist/ai-dev-loop/live-mode.cjs +17 -0
  35. package/dist/ai-dev-loop/live-mode.d.cts +24 -0
  36. package/dist/ai-dev-loop/live-mode.d.cts.map +1 -0
  37. package/dist/ai-dev-loop/live-mode.d.mts +24 -0
  38. package/dist/ai-dev-loop/live-mode.d.mts.map +1 -0
  39. package/dist/ai-dev-loop/live-mode.mjs +17 -0
  40. package/dist/ai-dev-loop/live-mode.mjs.map +1 -0
  41. package/dist/ai-dev-loop/meta-tools.cjs +123 -0
  42. package/dist/ai-dev-loop/meta-tools.d.cts +24 -0
  43. package/dist/ai-dev-loop/meta-tools.d.cts.map +1 -0
  44. package/dist/ai-dev-loop/meta-tools.d.mts +24 -0
  45. package/dist/ai-dev-loop/meta-tools.d.mts.map +1 -0
  46. package/dist/ai-dev-loop/meta-tools.mjs +120 -0
  47. package/dist/ai-dev-loop/meta-tools.mjs.map +1 -0
  48. package/dist/ai-dev-loop/structured-runner.cjs +154 -0
  49. package/dist/ai-dev-loop/structured-runner.d.cts +12 -0
  50. package/dist/ai-dev-loop/structured-runner.d.cts.map +1 -0
  51. package/dist/ai-dev-loop/structured-runner.d.mts +12 -0
  52. package/dist/ai-dev-loop/structured-runner.d.mts.map +1 -0
  53. package/dist/ai-dev-loop/structured-runner.mjs +155 -0
  54. package/dist/ai-dev-loop/structured-runner.mjs.map +1 -0
  55. package/dist/ai-dev-loop/system-prompt.cjs +55 -0
  56. package/dist/ai-dev-loop/system-prompt.d.cts +20 -0
  57. package/dist/ai-dev-loop/system-prompt.d.cts.map +1 -0
  58. package/dist/ai-dev-loop/system-prompt.d.mts +20 -0
  59. package/dist/ai-dev-loop/system-prompt.d.mts.map +1 -0
  60. package/dist/ai-dev-loop/system-prompt.mjs +54 -0
  61. package/dist/ai-dev-loop/system-prompt.mjs.map +1 -0
  62. package/dist/ast.d.cts +140 -0
  63. package/dist/ast.d.cts.map +1 -0
  64. package/dist/ast.d.mts +140 -0
  65. package/dist/ast.d.mts.map +1 -0
  66. package/dist/compiler.cjs +802 -0
  67. package/dist/compiler.d.cts +103 -0
  68. package/dist/compiler.d.cts.map +1 -0
  69. package/dist/compiler.d.mts +103 -0
  70. package/dist/compiler.d.mts.map +1 -0
  71. package/dist/compiler.mjs +802 -0
  72. package/dist/compiler.mjs.map +1 -0
  73. package/dist/index.cjs +14 -0
  74. package/dist/index.d.cts +7 -0
  75. package/dist/index.d.mts +7 -0
  76. package/dist/index.mjs +7 -0
  77. package/dist/lexer.cjs +451 -0
  78. package/dist/lexer.d.cts +14 -0
  79. package/dist/lexer.d.cts.map +1 -0
  80. package/dist/lexer.d.mts +14 -0
  81. package/dist/lexer.d.mts.map +1 -0
  82. package/dist/lexer.mjs +451 -0
  83. package/dist/lexer.mjs.map +1 -0
  84. package/dist/parser.cjs +734 -0
  85. package/dist/parser.d.cts +40 -0
  86. package/dist/parser.d.cts.map +1 -0
  87. package/dist/parser.d.mts +40 -0
  88. package/dist/parser.d.mts.map +1 -0
  89. package/dist/parser.mjs +734 -0
  90. package/dist/parser.mjs.map +1 -0
  91. package/dist/reference.cjs +130 -0
  92. package/dist/reference.d.cts +11 -0
  93. package/dist/reference.d.cts.map +1 -0
  94. package/dist/reference.d.mts +11 -0
  95. package/dist/reference.d.mts.map +1 -0
  96. package/dist/reference.mjs +130 -0
  97. package/dist/reference.mjs.map +1 -0
  98. package/dist/template.cjs +85 -0
  99. package/dist/template.mjs +84 -0
  100. package/dist/template.mjs.map +1 -0
  101. package/dist/type-checker.cjs +582 -0
  102. package/dist/type-checker.d.cts +31 -0
  103. package/dist/type-checker.d.cts.map +1 -0
  104. package/dist/type-checker.d.mts +31 -0
  105. package/dist/type-checker.d.mts.map +1 -0
  106. package/dist/type-checker.mjs +573 -0
  107. package/dist/type-checker.mjs.map +1 -0
  108. package/package.json +29 -0
  109. package/src/ai-dev-loop/ash-run-result.test.ts +113 -0
  110. package/src/ai-dev-loop/ash-run-result.ts +46 -0
  111. package/src/ai-dev-loop/ash-typed-error.test.ts +136 -0
  112. package/src/ai-dev-loop/ash-typed-error.ts +50 -0
  113. package/src/ai-dev-loop/ash-validate.test.ts +54 -0
  114. package/src/ai-dev-loop/ash-validate.ts +34 -0
  115. package/src/ai-dev-loop/dev-loop.test.ts +364 -0
  116. package/src/ai-dev-loop/dev-loop.ts +156 -0
  117. package/src/ai-dev-loop/dry-run.test.ts +107 -0
  118. package/src/ai-dev-loop/e2e-multi-fix.test.ts +473 -0
  119. package/src/ai-dev-loop/e2e.test.ts +324 -0
  120. package/src/ai-dev-loop/index.ts +15 -0
  121. package/src/ai-dev-loop/invariants.test.ts +253 -0
  122. package/src/ai-dev-loop/live-mode.test.ts +63 -0
  123. package/src/ai-dev-loop/live-mode.ts +33 -0
  124. package/src/ai-dev-loop/meta-tools.test.ts +120 -0
  125. package/src/ai-dev-loop/meta-tools.ts +142 -0
  126. package/src/ai-dev-loop/structured-runner.test.ts +159 -0
  127. package/src/ai-dev-loop/structured-runner.ts +209 -0
  128. package/src/ai-dev-loop/system-prompt.test.ts +102 -0
  129. package/src/ai-dev-loop/system-prompt.ts +81 -0
  130. package/src/ast.ts +186 -0
  131. package/src/compiler.test.ts +2933 -0
  132. package/src/compiler.ts +1103 -0
  133. package/src/e2e.test.ts +552 -0
  134. package/src/index.ts +16 -0
  135. package/src/lexer.test.ts +538 -0
  136. package/src/lexer.ts +222 -0
  137. package/src/parser.test.ts +1024 -0
  138. package/src/parser.ts +835 -0
  139. package/src/reference.test.ts +166 -0
  140. package/src/reference.ts +125 -0
  141. package/src/template.test.ts +210 -0
  142. package/src/template.ts +139 -0
  143. package/src/type-checker.test.ts +1494 -0
  144. package/src/type-checker.ts +785 -0
  145. package/tsconfig.json +9 -0
  146. package/tsdown.config.ts +12 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ast.d.cts","names":[],"sources":["../src/ast.ts"],"mappings":";UAAiB,UAAA;EACf,IAAA;EACA,IAAA;EACA,IAAA;EACA,MAAA;AAAA;AAAA,UAGe,cAAA;EACf,KAAA;EACA,EAAA;EACA,KAAA;AAAA;AAAA,UAGe,cAAA;EACf,IAAA;EACA,IAAA;EACA,KAAA,GAAQ,cAAA;AAAA;AAAA,UAGO,WAAA;EACf,IAAA;EACA,IAAA;EACA,EAAA;EACA,KAAA;AAAA;AAAA,UAKe,gBAAA;EACf,IAAA;EACA,EAAA;EACA,IAAA,EAAM,UAAA;EACN,KAAA,EAAO,UAAA;AAAA;AAAA,UAGQ,qBAAA;EACf,IAAA;EACA,IAAA;AAAA;AAAA,UAGe,iBAAA;EACf,IAAA;EACA,KAAA;AAAA;AAAA,UAGe,gBAAA;EACf,IAAA;EACA,IAAA;AAAA;AAAA,KAGU,UAAA,GACR,gBAAA,GACA,qBAAA,GACA,iBAAA,GACA,gBAAA;AAAA,UAEa,aAAA;EACf,IAAA;EACA,KAAA;EACA,QAAA,GAAW,MAAA;EACX,UAAA,GAAa,UAAA;EACb,YAAA,GAAe,MAAA,SAAe,UAAA;AAAA;AAAA,UAGf,cAAA;EACf,IAAA;EACA,IAAA;AAAA;AAAA,UAGe,iBAAA;EACf,IAAA;EACA,IAAA;AAAA;AAAA,UAGe,aAAA;EACf,IAAA;EACA,IAAA;AAAA;AAAA,UAGe,gBAAA;EACf,IAAA;EACA,QAAA,EAAU,aAAA;AAAA;AAAA,UAGK,gBAAA;EACf,IAAA;EACA,OAAA;EACA,UAAA,GAAa,UAAA;AAAA;AAAA,UAGE,eAAA;EACf,IAAA;EACA,MAAA;AAAA;AAAA,UAGe,eAAA;EACf,IAAA;AAAA;AAAA,UAGe,iBAAA;EACf,IAAA;EACA,KAAA;AAAA;AAAA,UAGe,gBAAA;EACf,IAAA;EACA,IAAA;EACA,QAAA;EACA,MAAA,GAAS,MAAA;AAAA;AAAA,UAGM,WAAA;EACf,KAAA;EACA,SAAA;AAAA;AAAA,UAGe,eAAA;EACf,IAAA;EACA,KAAA;EACA,QAAA,EAAU,WAAA;EACV,QAAA;AAAA;AAAA,UAGe,gBAAA;EACf,IAAA;EACA,IAAA;EACA,OAAA;AAAA;AAAA,KAGU,aAAA,GACR,cAAA,GACA,WAAA,GACA,aAAA,GACA,cAAA,GACA,iBAAA,GACA,aAAA,GACA,gBAAA,GACA,gBAAA,GACA,eAAA,GACA,eAAA,GACA,iBAAA,GACA,gBAAA,GACA,eAAA,GACA,gBAAA;AAAA,UAEa,YAAA;EACf,IAAA;EACA,IAAA;EACA,KAAA;AAAA;AAAA,UAGe,WAAA;EACf,IAAA;EACA,UAAA;AAAA;AAAA,KAGU,kBAAA,GAAqB,YAAA,GAAe,WAAA;AAAA,UAE/B,cAAA;EACf,IAAA;EACA,IAAA;EACA,WAAA,EAAa,UAAA;EACb,QAAA,EAAU,aAAA;EACV,OAAA,GAAU,kBAAA;AAAA;AAAA,UAGK,YAAA;EACf,IAAA;EACA,IAAA;EACA,KAAA;EACA,QAAA,GAAW,aAAA;AAAA;AAAA,UAGI,gBAAA;EACf,IAAA;EACA,IAAA;EACA,YAAA;AAAA;AAAA,KAGU,iBAAA,GAAoB,cAAA,GAAiB,gBAAA,GAAmB,YAAA,GAAe,gBAAA;AAAA,UAElE,OAAA;EACf,UAAA,EAAY,iBAAA;EA/FC;EAiGb,IAAA,EAAM,cAAA;AAAA"}
package/dist/ast.d.mts ADDED
@@ -0,0 +1,140 @@
1
+ //#region src/ast.d.ts
2
+ interface Annotation {
3
+ name: string;
4
+ args: string[];
5
+ line: number;
6
+ column: number;
7
+ }
8
+ interface QueryCondition {
9
+ field: string;
10
+ op: "==" | "!=" | ">" | "<" | ">=" | "<=";
11
+ value: string | number;
12
+ }
13
+ interface FindExpression {
14
+ kind: "find";
15
+ path: string;
16
+ query?: QueryCondition;
17
+ }
18
+ interface WhereClause {
19
+ kind: "where";
20
+ left: string;
21
+ op: "==" | "!=" | ">" | "<" | ">=" | "<=";
22
+ right: string | number;
23
+ }
24
+ interface BinaryExpression {
25
+ kind: "binary";
26
+ op: "+" | "-" | "*" | "/";
27
+ left: Expression;
28
+ right: Expression;
29
+ }
30
+ interface FieldAccessExpression {
31
+ kind: "field_access";
32
+ path: string;
33
+ }
34
+ interface LiteralExpression {
35
+ kind: "literal";
36
+ value: string | number;
37
+ }
38
+ interface VarRefExpression {
39
+ kind: "var_ref";
40
+ name: string;
41
+ }
42
+ type Expression = BinaryExpression | FieldAccessExpression | LiteralExpression | VarRefExpression;
43
+ interface MapExpression {
44
+ kind: "map";
45
+ field: string;
46
+ mappings?: Record<string, string>;
47
+ expression?: Expression;
48
+ exprMappings?: Record<string, Expression>;
49
+ }
50
+ interface SaveExpression {
51
+ kind: "save";
52
+ path: string;
53
+ }
54
+ interface PublishExpression {
55
+ kind: "publish";
56
+ path: string;
57
+ }
58
+ interface TeeExpression {
59
+ kind: "tee";
60
+ path: string;
61
+ }
62
+ interface FanoutExpression {
63
+ kind: "fanout";
64
+ branches: PipelineStage[][];
65
+ }
66
+ interface OutputExpression {
67
+ kind: "output";
68
+ message: string;
69
+ expression?: Expression;
70
+ }
71
+ interface InputExpression {
72
+ kind: "input";
73
+ prompt: string;
74
+ }
75
+ interface CountExpression {
76
+ kind: "count";
77
+ }
78
+ interface GroupByExpression {
79
+ kind: "group-by";
80
+ field: string;
81
+ }
82
+ interface ActionExpression {
83
+ kind: "action";
84
+ path: string;
85
+ relative?: boolean;
86
+ params?: Record<string, unknown>;
87
+ }
88
+ interface RouteBranch {
89
+ value: string;
90
+ targetJob: string;
91
+ }
92
+ interface RouteExpression {
93
+ kind: "route";
94
+ field: string;
95
+ branches: RouteBranch[];
96
+ fallback?: string;
97
+ }
98
+ interface LookupExpression {
99
+ kind: "lookup";
100
+ path: string;
101
+ joinKey: string;
102
+ }
103
+ type PipelineStage = FindExpression | WhereClause | MapExpression | SaveExpression | PublishExpression | TeeExpression | FanoutExpression | OutputExpression | InputExpression | CountExpression | GroupByExpression | ActionExpression | RouteExpression | LookupExpression;
104
+ interface EventTrigger {
105
+ kind: "event";
106
+ path: string;
107
+ event: string;
108
+ }
109
+ interface CronTrigger {
110
+ kind: "cron";
111
+ expression: string;
112
+ }
113
+ type TriggerDeclaration = EventTrigger | CronTrigger;
114
+ interface JobDeclaration {
115
+ kind: "job";
116
+ name: string;
117
+ annotations: Annotation[];
118
+ pipeline: PipelineStage[];
119
+ trigger?: TriggerDeclaration;
120
+ }
121
+ interface LetStatement {
122
+ kind: "let";
123
+ name: string;
124
+ value: string | number;
125
+ pipeline?: PipelineStage[];
126
+ }
127
+ interface ParamDeclaration {
128
+ kind: "param";
129
+ name: string;
130
+ defaultValue: string | number;
131
+ }
132
+ type TopLevelStatement = JobDeclaration | OutputExpression | LetStatement | ParamDeclaration;
133
+ interface Program {
134
+ statements: TopLevelStatement[];
135
+ /** Backward-compatible accessor: returns only job declarations */
136
+ jobs: JobDeclaration[];
137
+ }
138
+ //#endregion
139
+ export { ActionExpression, BinaryExpression, CountExpression, CronTrigger, EventTrigger, Expression, FieldAccessExpression, FindExpression, GroupByExpression, InputExpression, JobDeclaration, LetStatement, LiteralExpression, LookupExpression, MapExpression, ParamDeclaration, PipelineStage, Program, QueryCondition, RouteBranch, RouteExpression, TopLevelStatement, TriggerDeclaration, VarRefExpression };
140
+ //# sourceMappingURL=ast.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ast.d.mts","names":[],"sources":["../src/ast.ts"],"mappings":";UAAiB,UAAA;EACf,IAAA;EACA,IAAA;EACA,IAAA;EACA,MAAA;AAAA;AAAA,UAGe,cAAA;EACf,KAAA;EACA,EAAA;EACA,KAAA;AAAA;AAAA,UAGe,cAAA;EACf,IAAA;EACA,IAAA;EACA,KAAA,GAAQ,cAAA;AAAA;AAAA,UAGO,WAAA;EACf,IAAA;EACA,IAAA;EACA,EAAA;EACA,KAAA;AAAA;AAAA,UAKe,gBAAA;EACf,IAAA;EACA,EAAA;EACA,IAAA,EAAM,UAAA;EACN,KAAA,EAAO,UAAA;AAAA;AAAA,UAGQ,qBAAA;EACf,IAAA;EACA,IAAA;AAAA;AAAA,UAGe,iBAAA;EACf,IAAA;EACA,KAAA;AAAA;AAAA,UAGe,gBAAA;EACf,IAAA;EACA,IAAA;AAAA;AAAA,KAGU,UAAA,GACR,gBAAA,GACA,qBAAA,GACA,iBAAA,GACA,gBAAA;AAAA,UAEa,aAAA;EACf,IAAA;EACA,KAAA;EACA,QAAA,GAAW,MAAA;EACX,UAAA,GAAa,UAAA;EACb,YAAA,GAAe,MAAA,SAAe,UAAA;AAAA;AAAA,UAGf,cAAA;EACf,IAAA;EACA,IAAA;AAAA;AAAA,UAGe,iBAAA;EACf,IAAA;EACA,IAAA;AAAA;AAAA,UAGe,aAAA;EACf,IAAA;EACA,IAAA;AAAA;AAAA,UAGe,gBAAA;EACf,IAAA;EACA,QAAA,EAAU,aAAA;AAAA;AAAA,UAGK,gBAAA;EACf,IAAA;EACA,OAAA;EACA,UAAA,GAAa,UAAA;AAAA;AAAA,UAGE,eAAA;EACf,IAAA;EACA,MAAA;AAAA;AAAA,UAGe,eAAA;EACf,IAAA;AAAA;AAAA,UAGe,iBAAA;EACf,IAAA;EACA,KAAA;AAAA;AAAA,UAGe,gBAAA;EACf,IAAA;EACA,IAAA;EACA,QAAA;EACA,MAAA,GAAS,MAAA;AAAA;AAAA,UAGM,WAAA;EACf,KAAA;EACA,SAAA;AAAA;AAAA,UAGe,eAAA;EACf,IAAA;EACA,KAAA;EACA,QAAA,EAAU,WAAA;EACV,QAAA;AAAA;AAAA,UAGe,gBAAA;EACf,IAAA;EACA,IAAA;EACA,OAAA;AAAA;AAAA,KAGU,aAAA,GACR,cAAA,GACA,WAAA,GACA,aAAA,GACA,cAAA,GACA,iBAAA,GACA,aAAA,GACA,gBAAA,GACA,gBAAA,GACA,eAAA,GACA,eAAA,GACA,iBAAA,GACA,gBAAA,GACA,eAAA,GACA,gBAAA;AAAA,UAEa,YAAA;EACf,IAAA;EACA,IAAA;EACA,KAAA;AAAA;AAAA,UAGe,WAAA;EACf,IAAA;EACA,UAAA;AAAA;AAAA,KAGU,kBAAA,GAAqB,YAAA,GAAe,WAAA;AAAA,UAE/B,cAAA;EACf,IAAA;EACA,IAAA;EACA,WAAA,EAAa,UAAA;EACb,QAAA,EAAU,aAAA;EACV,OAAA,GAAU,kBAAA;AAAA;AAAA,UAGK,YAAA;EACf,IAAA;EACA,IAAA;EACA,KAAA;EACA,QAAA,GAAW,aAAA;AAAA;AAAA,UAGI,gBAAA;EACf,IAAA;EACA,IAAA;EACA,YAAA;AAAA;AAAA,KAGU,iBAAA,GAAoB,cAAA,GAAiB,gBAAA,GAAmB,YAAA,GAAe,gBAAA;AAAA,UAElE,OAAA;EACf,UAAA,EAAY,iBAAA;EA/FC;EAiGb,IAAA,EAAM,cAAA;AAAA"}