@atheory-ai/ce-plugin-sdk 0.1.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 (46) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +86 -0
  3. package/dist/abi.d.ts +33 -0
  4. package/dist/abi.d.ts.map +1 -0
  5. package/dist/abi.js +162 -0
  6. package/dist/abi.js.map +7 -0
  7. package/dist/build/ce-abi.d.ts +7 -0
  8. package/dist/build/ce-abi.d.ts.map +1 -0
  9. package/dist/build/ce-abi.js +65 -0
  10. package/dist/build/ce-abi.js.map +7 -0
  11. package/dist/define.d.ts +18 -0
  12. package/dist/define.d.ts.map +1 -0
  13. package/dist/effects.d.ts +21 -0
  14. package/dist/effects.d.ts.map +1 -0
  15. package/dist/eslint/index.d.ts +29 -0
  16. package/dist/eslint/index.d.ts.map +1 -0
  17. package/dist/eslint/index.js +309 -0
  18. package/dist/eslint/index.js.map +7 -0
  19. package/dist/eslint/rules/concept-term-format.d.ts +4 -0
  20. package/dist/eslint/rules/concept-term-format.d.ts.map +1 -0
  21. package/dist/eslint/rules/extract-return-type.d.ts +4 -0
  22. package/dist/eslint/rules/extract-return-type.d.ts.map +1 -0
  23. package/dist/eslint/rules/id-helpers-required.d.ts +4 -0
  24. package/dist/eslint/rules/id-helpers-required.d.ts.map +1 -0
  25. package/dist/eslint/rules/no-node-apis.d.ts +4 -0
  26. package/dist/eslint/rules/no-node-apis.d.ts.map +1 -0
  27. package/dist/eslint/rules/pure-activate.d.ts +4 -0
  28. package/dist/eslint/rules/pure-activate.d.ts.map +1 -0
  29. package/dist/eslint/rules/tool-description-length.d.ts +4 -0
  30. package/dist/eslint/rules/tool-description-length.d.ts.map +1 -0
  31. package/dist/host.d.ts +13 -0
  32. package/dist/host.d.ts.map +1 -0
  33. package/dist/iir.d.ts +83 -0
  34. package/dist/iir.d.ts.map +1 -0
  35. package/dist/index.cjs +267 -0
  36. package/dist/index.cjs.map +7 -0
  37. package/dist/index.d.ts +9 -0
  38. package/dist/index.d.ts.map +1 -0
  39. package/dist/index.js +244 -0
  40. package/dist/index.js.map +7 -0
  41. package/dist/tree.d.ts +27 -0
  42. package/dist/tree.d.ts.map +1 -0
  43. package/dist/types.d.ts +175 -0
  44. package/dist/types.d.ts.map +1 -0
  45. package/package.json +84 -0
  46. package/tsconfig.plugin.json +7 -0
package/dist/tree.d.ts ADDED
@@ -0,0 +1,27 @@
1
+ import type { SyntaxNode } from "./types.js";
2
+ /**
3
+ * walk visits node and every descendant in pre-order. Iterative (explicit
4
+ * stack) so a deeply nested CST — long expression chains, minified/generated
5
+ * code — cannot overflow the call stack.
6
+ */
7
+ export declare function walk(node: SyntaxNode | null, visit: (n: SyntaxNode) => void): void;
8
+ /**
9
+ * walkTopLevel visits node and its descendants, but does NOT descend into
10
+ * nested function/closure scopes — a boundary node itself is visited, its body
11
+ * is not. Use it to collect a scope's own declarations without pulling in ones
12
+ * nested inside inner functions.
13
+ */
14
+ export declare function walkTopLevel(node: SyntaxNode | null, visit: (n: SyntaxNode) => void): void;
15
+ /** childByField returns the child occupying the given field, or null. */
16
+ export declare function childByField(node: SyntaxNode, field: string): SyntaxNode | null;
17
+ /** childrenByType returns direct children of a given type. */
18
+ export declare function childrenByType(node: SyntaxNode, type: string): SyntaxNode[];
19
+ /** firstByType returns the first direct child of a given type, or null. */
20
+ export declare function firstByType(node: SyntaxNode, type: string): SyntaxNode | null;
21
+ /** hasChildType reports whether node has a direct child (named or token) of the given type. */
22
+ export declare function hasChildType(node: SyntaxNode, type: string): boolean;
23
+ /** fieldText returns the text of the child in the given field, or "". */
24
+ export declare function fieldText(node: SyntaxNode, field: string): string;
25
+ /** firstDescendantByType returns the first descendant of a given type (pre-order), or null. */
26
+ export declare function firstDescendantByType(node: SyntaxNode, type: string): SyntaxNode | null;
27
+ //# sourceMappingURL=tree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../src/tree.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAQ5C;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI,CASlF;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI,CAe1F;AAWD,yEAAyE;AACzE,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAK/E;AAED,8DAA8D;AAC9D,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,EAAE,CAE3E;AAED,2EAA2E;AAC3E,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAE7E;AAED,+FAA+F;AAC/F,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAEpE;AAED,yEAAyE;AACzE,wBAAgB,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEjE;AAED,+FAA+F;AAC/F,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAMvF"}
@@ -0,0 +1,175 @@
1
+ import type { ExtractedFunction } from "./iir.js";
2
+ export type NodeType = "symbol" | "namespace" | "concept" | "file" | "directory" | string;
3
+ export type EdgeType = "calls" | "imports" | "implements" | "extends" | "contains" | "references" | "defines" | "belongs_to" | "synonym_of" | "co_activates" | "annotates" | string;
4
+ export type SourceClass = "structural" | "associative" | "speculative" | "derived";
5
+ export interface Node {
6
+ id: string;
7
+ type: NodeType;
8
+ label: string;
9
+ canonicalID: string;
10
+ sourceClass: SourceClass;
11
+ properties: Record<string, unknown>;
12
+ }
13
+ export interface Edge {
14
+ id: string;
15
+ sourceID: string;
16
+ targetID: string;
17
+ type: EdgeType;
18
+ sourceClass: SourceClass;
19
+ properties: Record<string, unknown>;
20
+ }
21
+ export interface ExtractionResult {
22
+ nodes: Node[];
23
+ edges: Edge[];
24
+ iir?: ExtractedFunction[];
25
+ }
26
+ export interface Position {
27
+ row: number;
28
+ column: number;
29
+ }
30
+ export interface SyntaxNode {
31
+ /** tree-sitter node type, e.g. "function_declaration", "identifier". */
32
+ type: string;
33
+ /** true for grammar-named nodes, false for anonymous tokens ("(", "async"). */
34
+ isNamed: boolean;
35
+ /** the field this node occupies in its parent, e.g. "name", "body"; null if none. */
36
+ fieldName: string | null;
37
+ /** source text spanned by this node. */
38
+ text: string;
39
+ startByte: number;
40
+ endByte: number;
41
+ startPosition: Position;
42
+ endPosition: Position;
43
+ /** child nodes; absent (null) on leaf nodes — use the SDK's tree helpers, which tolerate this. */
44
+ children: SyntaxNode[] | null;
45
+ }
46
+ export interface ConceptSeed {
47
+ term: string;
48
+ definition?: string;
49
+ related?: string[];
50
+ synonyms?: string[];
51
+ }
52
+ export interface AnchorRef {
53
+ type: "symbol" | "namespace" | "concept" | "file";
54
+ id: string;
55
+ confidence: "high" | "medium" | "low";
56
+ }
57
+ export interface Anchor {
58
+ ref: AnchorRef;
59
+ node?: Node;
60
+ edges: Edge[];
61
+ activation: number;
62
+ }
63
+ export interface IR {
64
+ mode: "thinking" | "direct" | "audit";
65
+ anchors: AnchorRef[];
66
+ predicates: Record<string, string>;
67
+ openQueries: string[];
68
+ maxLoops: number;
69
+ kLimit: number;
70
+ roleHint: string;
71
+ modelTier: string;
72
+ }
73
+ export interface Emission {
74
+ channel: "thinking" | "action" | "debug" | "warning";
75
+ content: string;
76
+ metadata?: Record<string, unknown>;
77
+ }
78
+ export interface ToolRequest {
79
+ runID: string;
80
+ turnID: string;
81
+ loopIndex: number;
82
+ ir: IR;
83
+ anchors: Anchor[];
84
+ }
85
+ export interface ToolResult {
86
+ emissions: Emission[];
87
+ proposedNodes: Node[];
88
+ proposedEdges: Edge[];
89
+ }
90
+ export interface SubstrateQuery {
91
+ projectID: string;
92
+ nodeTypes?: NodeType[];
93
+ minActivation?: number;
94
+ properties?: Record<string, string>;
95
+ limit?: number;
96
+ }
97
+ export interface LanguageDefinition {
98
+ match: (filePath: string) => boolean;
99
+ /**
100
+ * File extensions (with leading dot, e.g. [".ex", ".exs"]) this language
101
+ * covers. Used by the host to route those files to `grammar` for parsing.
102
+ * Optional — omit when relying on a host built-in grammar.
103
+ */
104
+ extensions?: string[];
105
+ /**
106
+ * Path to a tree-sitter grammar WASM (relative to the plugin .wasm), letting a
107
+ * plugin add a language the host doesn't bundle. The host loads it at runtime
108
+ * for the declared `extensions`. Optional — omit to use a host built-in.
109
+ */
110
+ grammar?: string;
111
+ /**
112
+ * Turn a file into graph nodes/edges. `tree` is the host's parsed CST — walk
113
+ * it rather than matching raw text. It is null only when no grammar is
114
+ * available for the file (rare); for grammared languages it is always present.
115
+ */
116
+ extract: (filePath: string, content: string, tree: SyntaxNode | null) => ExtractionResult;
117
+ concepts?: ConceptSeed[];
118
+ }
119
+ export interface RoleDefinition {
120
+ name: string;
121
+ systemPrompt: string;
122
+ tools?: string[];
123
+ }
124
+ export interface AnalyzerDefinition {
125
+ name: string;
126
+ description: string;
127
+ analyze: (nodes: Node[]) => Edge[];
128
+ }
129
+ export interface SubstrateClient {
130
+ query: (q: SubstrateQuery) => Node[];
131
+ }
132
+ export interface ToolDefinition {
133
+ name: string;
134
+ description: string;
135
+ activationHint?: string;
136
+ activate: (ir: IR) => boolean;
137
+ execute: (request: ToolRequest, substrate: SubstrateClient) => ToolResult;
138
+ }
139
+ export type IIRSeverity = "error" | "warning" | "info";
140
+ export type IIRTarget = "FunctionIntent";
141
+ export interface IIRExprPattern {
142
+ ops?: string[];
143
+ operandLiteral?: string;
144
+ }
145
+ export interface IIRRuleWhen {
146
+ visibility?: "public" | "private";
147
+ hasFailureModes?: boolean;
148
+ }
149
+ export interface IIRRuleRequire {
150
+ explicitReturnType?: boolean;
151
+ sideEffectsDeclared?: boolean;
152
+ failureStrategy?: string;
153
+ forbidConditionShape?: IIRExprPattern;
154
+ }
155
+ export interface IIRRule {
156
+ id: string;
157
+ target: IIRTarget;
158
+ severity: IIRSeverity;
159
+ when?: IIRRuleWhen;
160
+ require?: IIRRuleRequire;
161
+ }
162
+ export interface IIRRulePack {
163
+ rules: IIRRule[];
164
+ }
165
+ export interface PluginDefinition {
166
+ id: string;
167
+ name: string;
168
+ version: string;
169
+ language?: LanguageDefinition;
170
+ role?: RoleDefinition;
171
+ analyzers?: AnalyzerDefinition[];
172
+ tools?: ToolDefinition[];
173
+ iirRules?: IIRRulePack;
174
+ }
175
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAIjD,MAAM,MAAM,QAAQ,GAChB,QAAQ,GACR,WAAW,GACX,SAAS,GACT,MAAM,GACN,WAAW,GACX,MAAM,CAAA;AAEV,MAAM,MAAM,QAAQ,GAChB,OAAO,GACP,SAAS,GACT,YAAY,GACZ,SAAS,GACT,UAAU,GACV,YAAY,GACZ,SAAS,GACT,YAAY,GACZ,YAAY,GACZ,cAAc,GACd,WAAW,GACX,MAAM,CAAA;AAEV,MAAM,MAAM,WAAW,GACnB,YAAY,GACZ,aAAa,GACb,aAAa,GACb,SAAS,CAAA;AAEb,MAAM,WAAW,IAAI;IACnB,EAAE,EAAW,MAAM,CAAA;IACnB,IAAI,EAAS,QAAQ,CAAA;IACrB,KAAK,EAAQ,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,WAAW,CAAA;IACxB,UAAU,EAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACrC;AAED,MAAM,WAAW,IAAI;IACnB,EAAE,EAAW,MAAM,CAAA;IACnB,QAAQ,EAAK,MAAM,CAAA;IACnB,QAAQ,EAAK,MAAM,CAAA;IACnB,IAAI,EAAS,QAAQ,CAAA;IACrB,WAAW,EAAE,WAAW,CAAA;IACxB,UAAU,EAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACrC;AAID,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,IAAI,EAAE,CAAA;IACb,KAAK,EAAE,IAAI,EAAE,CAAA;IAIb,GAAG,CAAC,EAAG,iBAAiB,EAAE,CAAA;CAC3B;AAOD,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAK,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,UAAU;IACzB,wEAAwE;IACxE,IAAI,EAAW,MAAM,CAAA;IACrB,+EAA+E;IAC/E,OAAO,EAAQ,OAAO,CAAA;IACtB,qFAAqF;IACrF,SAAS,EAAM,MAAM,GAAG,IAAI,CAAA;IAC5B,wCAAwC;IACxC,IAAI,EAAW,MAAM,CAAA;IACrB,SAAS,EAAM,MAAM,CAAA;IACrB,OAAO,EAAQ,MAAM,CAAA;IACrB,aAAa,EAAE,QAAQ,CAAA;IACvB,WAAW,EAAI,QAAQ,CAAA;IACvB,kGAAkG;IAClG,QAAQ,EAAO,UAAU,EAAE,GAAG,IAAI,CAAA;CACnC;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAS,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAK,MAAM,EAAE,CAAA;IACrB,QAAQ,CAAC,EAAI,MAAM,EAAE,CAAA;CACtB;AAID,MAAM,WAAW,SAAS;IACxB,IAAI,EAAQ,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,MAAM,CAAA;IACvD,EAAE,EAAU,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAA;CACtC;AAED,MAAM,WAAW,MAAM;IACrB,GAAG,EAAS,SAAS,CAAA;IACrB,IAAI,CAAC,EAAO,IAAI,CAAA;IAChB,KAAK,EAAO,IAAI,EAAE,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,EAAE;IACjB,IAAI,EAAS,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAA;IAC5C,OAAO,EAAM,SAAS,EAAE,CAAA;IACxB,UAAU,EAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACnC,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,QAAQ,EAAK,MAAM,CAAA;IACnB,MAAM,EAAO,MAAM,CAAA;IACnB,QAAQ,EAAK,MAAM,CAAA;IACnB,SAAS,EAAI,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAI,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAA;IACtD,OAAO,EAAI,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAM,MAAM,CAAA;IACjB,MAAM,EAAK,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,EAAE,EAAS,EAAE,CAAA;IACb,OAAO,EAAI,MAAM,EAAE,CAAA;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAM,QAAQ,EAAE,CAAA;IACzB,aAAa,EAAE,IAAI,EAAE,CAAA;IACrB,aAAa,EAAE,IAAI,EAAE,CAAA;CACtB;AAID,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAO,MAAM,CAAA;IACtB,SAAS,CAAC,EAAM,QAAQ,EAAE,CAAA;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,UAAU,CAAC,EAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACtC,KAAK,CAAC,EAAU,MAAM,CAAA;CACvB;AAID,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAM,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAA;IACxC;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB;;;;OAIG;IACH,OAAO,CAAC,EAAG,MAAM,CAAA;IACjB;;;;OAIG;IACH,OAAO,EAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,KAAK,gBAAgB,CAAA;IAC3F,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAA;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAU,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAQ,MAAM,EAAE,CAAA;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAS,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAM,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,CAAA;CACvC;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,CAAC,CAAC,EAAE,cAAc,KAAK,IAAI,EAAE,CAAA;CACrC;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAa,MAAM,CAAA;IACvB,WAAW,EAAM,MAAM,CAAA;IACvB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,EAAS,CAAC,EAAE,EAAE,EAAE,KAAK,OAAO,CAAA;IACpC,OAAO,EAAU,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,KAAK,UAAU,CAAA;CAClF;AASD,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAA;AAGtD,MAAM,MAAM,SAAS,GAAG,gBAAgB,CAAA;AAMxC,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAa,MAAM,EAAE,CAAA;IACzB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,CAAC,EAAO,QAAQ,GAAG,SAAS,CAAA;IACtC,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,kBAAkB,CAAC,EAAI,OAAO,CAAA;IAC9B,mBAAmB,CAAC,EAAG,OAAO,CAAA;IAC9B,eAAe,CAAC,EAAO,MAAM,CAAA;IAC7B,oBAAoB,CAAC,EAAE,cAAc,CAAA;CACtC;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAS,MAAM,CAAA;IACjB,MAAM,EAAK,SAAS,CAAA;IACpB,QAAQ,EAAG,WAAW,CAAA;IACtB,IAAI,CAAC,EAAM,WAAW,CAAA;IACtB,OAAO,CAAC,EAAG,cAAc,CAAA;CAC1B;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,OAAO,EAAE,CAAA;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAW,MAAM,CAAA;IACnB,IAAI,EAAS,MAAM,CAAA;IACnB,OAAO,EAAM,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAI,kBAAkB,CAAA;IAC/B,IAAI,CAAC,EAAQ,cAAc,CAAA;IAC3B,SAAS,CAAC,EAAG,kBAAkB,EAAE,CAAA;IACjC,KAAK,CAAC,EAAO,cAAc,EAAE,CAAA;IAE7B,QAAQ,CAAC,EAAI,WAAW,CAAA;CACzB"}
package/package.json ADDED
@@ -0,0 +1,84 @@
1
+ {
2
+ "name": "@atheory-ai/ce-plugin-sdk",
3
+ "version": "0.1.0",
4
+ "description": "TypeScript SDK for authoring Context Engine plugins.",
5
+ "type": "module",
6
+ "main": "./dist/index.cjs",
7
+ "module": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "import": "./dist/index.js",
12
+ "require": "./dist/index.cjs",
13
+ "types": "./dist/index.d.ts"
14
+ },
15
+ "./abi": {
16
+ "import": "./dist/abi.js",
17
+ "types": "./dist/abi.d.ts"
18
+ },
19
+ "./build/abi": {
20
+ "import": "./dist/build/ce-abi.js",
21
+ "types": "./dist/build/ce-abi.d.ts"
22
+ },
23
+ "./eslint-plugin-ce": {
24
+ "import": "./dist/eslint/index.js",
25
+ "types": "./dist/eslint/index.d.ts"
26
+ },
27
+ "./tsconfig.plugin.json": {
28
+ "default": "./tsconfig.plugin.json"
29
+ }
30
+ },
31
+ "peerDependencies": {
32
+ "@atheory-ai/wasm-plugin-toolkit": "^0.0.4",
33
+ "eslint": "^8.57.0 || ^9.0.0"
34
+ },
35
+ "peerDependenciesMeta": {
36
+ "@atheory-ai/wasm-plugin-toolkit": {
37
+ "optional": true
38
+ },
39
+ "eslint": {
40
+ "optional": true
41
+ }
42
+ },
43
+ "files": [
44
+ "dist",
45
+ "tsconfig.plugin.json",
46
+ "README.md",
47
+ "LICENSE"
48
+ ],
49
+ "devDependencies": {
50
+ "@types/eslint": "^9.6.1",
51
+ "typescript": "*",
52
+ "esbuild": "*",
53
+ "vitest": "*"
54
+ },
55
+ "license": "Apache-2.0",
56
+ "engines": {
57
+ "node": ">=20"
58
+ },
59
+ "homepage": "https://github.com/atheory-ai/context-engine/tree/main/sdk#readme",
60
+ "bugs": {
61
+ "url": "https://github.com/atheory-ai/context-engine/issues"
62
+ },
63
+ "repository": {
64
+ "type": "git",
65
+ "url": "git+https://github.com/atheory-ai/context-engine.git",
66
+ "directory": "sdk/packages/plugin-sdk"
67
+ },
68
+ "publishConfig": {
69
+ "access": "public"
70
+ },
71
+ "keywords": [
72
+ "context-engine",
73
+ "plugin-sdk",
74
+ "wasm",
75
+ "webassembly",
76
+ "semantic-code"
77
+ ],
78
+ "scripts": {
79
+ "build": "node build.mjs && tsc --emitDeclarationOnly --declaration --declarationMap",
80
+ "test": "vitest run --passWithNoTests",
81
+ "lint": "eslint src build.mjs --ext .ts,.js,.mjs",
82
+ "clean": "rm -rf dist"
83
+ }
84
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "extends": "../../tsconfig.base.json",
3
+ "compilerOptions": {
4
+ "lib": ["ES2020"],
5
+ "types": []
6
+ }
7
+ }