societyai 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 (114) hide show
  1. package/CHANGELOG.md +111 -0
  2. package/LICENSE +21 -0
  3. package/README.md +879 -0
  4. package/dist/builder.d.ts +181 -0
  5. package/dist/builder.d.ts.map +1 -0
  6. package/dist/builder.js +667 -0
  7. package/dist/builder.js.map +1 -0
  8. package/dist/config.d.ts +43 -0
  9. package/dist/config.d.ts.map +1 -0
  10. package/dist/config.js +11 -0
  11. package/dist/config.js.map +1 -0
  12. package/dist/context.d.ts +107 -0
  13. package/dist/context.d.ts.map +1 -0
  14. package/dist/context.js +319 -0
  15. package/dist/context.js.map +1 -0
  16. package/dist/errors.d.ts +31 -0
  17. package/dist/errors.d.ts.map +1 -0
  18. package/dist/errors.js +85 -0
  19. package/dist/errors.js.map +1 -0
  20. package/dist/events.d.ts +219 -0
  21. package/dist/events.d.ts.map +1 -0
  22. package/dist/events.js +395 -0
  23. package/dist/events.js.map +1 -0
  24. package/dist/graph.d.ts +104 -0
  25. package/dist/graph.d.ts.map +1 -0
  26. package/dist/graph.js +366 -0
  27. package/dist/graph.js.map +1 -0
  28. package/dist/index.d.ts +28 -0
  29. package/dist/index.d.ts.map +1 -0
  30. package/dist/index.js +113 -0
  31. package/dist/index.js.map +1 -0
  32. package/dist/logger.d.ts +13 -0
  33. package/dist/logger.d.ts.map +1 -0
  34. package/dist/logger.js +78 -0
  35. package/dist/logger.js.map +1 -0
  36. package/dist/memory.d.ts +146 -0
  37. package/dist/memory.d.ts.map +1 -0
  38. package/dist/memory.js +353 -0
  39. package/dist/memory.js.map +1 -0
  40. package/dist/metrics.d.ts +143 -0
  41. package/dist/metrics.d.ts.map +1 -0
  42. package/dist/metrics.js +271 -0
  43. package/dist/metrics.js.map +1 -0
  44. package/dist/middleware.d.ts +147 -0
  45. package/dist/middleware.d.ts.map +1 -0
  46. package/dist/middleware.js +484 -0
  47. package/dist/middleware.js.map +1 -0
  48. package/dist/models.d.ts +32 -0
  49. package/dist/models.d.ts.map +1 -0
  50. package/dist/models.js +211 -0
  51. package/dist/models.js.map +1 -0
  52. package/dist/patterns.d.ts +6 -0
  53. package/dist/patterns.d.ts.map +1 -0
  54. package/dist/patterns.js +68 -0
  55. package/dist/patterns.js.map +1 -0
  56. package/dist/pipeline.d.ts +84 -0
  57. package/dist/pipeline.d.ts.map +1 -0
  58. package/dist/pipeline.js +569 -0
  59. package/dist/pipeline.js.map +1 -0
  60. package/dist/retry.d.ts +5 -0
  61. package/dist/retry.d.ts.map +1 -0
  62. package/dist/retry.js +70 -0
  63. package/dist/retry.js.map +1 -0
  64. package/dist/society.d.ts +94 -0
  65. package/dist/society.d.ts.map +1 -0
  66. package/dist/society.js +721 -0
  67. package/dist/society.js.map +1 -0
  68. package/dist/strategies.d.ts +55 -0
  69. package/dist/strategies.d.ts.map +1 -0
  70. package/dist/strategies.js +678 -0
  71. package/dist/strategies.js.map +1 -0
  72. package/dist/tools.d.ts +88 -0
  73. package/dist/tools.d.ts.map +1 -0
  74. package/dist/tools.js +366 -0
  75. package/dist/tools.js.map +1 -0
  76. package/dist/types.d.ts +213 -0
  77. package/dist/types.d.ts.map +1 -0
  78. package/dist/types.js +19 -0
  79. package/dist/types.js.map +1 -0
  80. package/dist/validation.d.ts +64 -0
  81. package/dist/validation.d.ts.map +1 -0
  82. package/dist/validation.js +334 -0
  83. package/dist/validation.js.map +1 -0
  84. package/dist/worker-pool.d.ts +17 -0
  85. package/dist/worker-pool.d.ts.map +1 -0
  86. package/dist/worker-pool.js +80 -0
  87. package/dist/worker-pool.js.map +1 -0
  88. package/docs/README.md +468 -0
  89. package/docs/advanced.md +616 -0
  90. package/docs/aggregation-strategies.md +926 -0
  91. package/docs/api-reference.md +771 -0
  92. package/docs/architecture.md +648 -0
  93. package/docs/context-system.md +642 -0
  94. package/docs/event-system.md +1047 -0
  95. package/docs/examples.md +576 -0
  96. package/docs/getting-started.md +564 -0
  97. package/docs/graph-execution.md +389 -0
  98. package/docs/memory-system.md +497 -0
  99. package/docs/metrics-observability.md +560 -0
  100. package/docs/middleware-system.md +1038 -0
  101. package/docs/migration.md +296 -0
  102. package/docs/pipeline-patterns.md +761 -0
  103. package/docs/structured-output.md +612 -0
  104. package/docs/tool-calling.md +491 -0
  105. package/docs/workflows.md +740 -0
  106. package/examples/README.md +234 -0
  107. package/examples/advanced-patterns.ts +115 -0
  108. package/examples/complete-integration.ts +327 -0
  109. package/examples/graph-workflow.ts +161 -0
  110. package/examples/memory-system.ts +155 -0
  111. package/examples/metrics-tracking.ts +243 -0
  112. package/examples/structured-output.ts +231 -0
  113. package/examples/tool-calling.ts +163 -0
  114. package/package.json +94 -0
@@ -0,0 +1,181 @@
1
+ import { AIModel, AgentConfig, AgentRole, WorkflowConfig, WorkflowStep, StepResult, WorkflowContext, WorkflowResult, SocietyObserver } from './types';
2
+ export declare class FluentRoleBuilder {
3
+ private _id;
4
+ private _name;
5
+ private _description?;
6
+ private _systemPrompt;
7
+ private _capabilities;
8
+ private _constraints;
9
+ private _promptTemplate?;
10
+ withId(id: string): this;
11
+ withName(name: string): this;
12
+ withDescription(description: string): this;
13
+ withSystemPrompt(prompt: string): this;
14
+ withCapabilities(capabilities: string[]): this;
15
+ addCapability(capability: string): this;
16
+ withConstraints(constraints: string[]): this;
17
+ addConstraint(constraint: string): this;
18
+ withPromptTemplate(template: string): this;
19
+ build(): AgentRole;
20
+ }
21
+ export declare class FluentAgentBuilder {
22
+ private _id;
23
+ private _name?;
24
+ private _role?;
25
+ private _model?;
26
+ private _canCommunicateWith;
27
+ private _priority;
28
+ private _initialContext;
29
+ private _retryConfig?;
30
+ private _tags;
31
+ private _metadata;
32
+ withId(id: string): this;
33
+ withName(name: string): this;
34
+ withRole(builderFn: (builder: FluentRoleBuilder) => FluentRoleBuilder): this;
35
+ useRole(role: AgentRole): this;
36
+ withModel(model: AIModel): this;
37
+ canCommunicateWith(agentIds: string[]): this;
38
+ withPriority(priority: number): this;
39
+ withInitialContext(context: Record<string, unknown>): this;
40
+ addContext(key: string, value: unknown): this;
41
+ withRetry(config: {
42
+ maxRetries?: number;
43
+ initialBackoff?: number;
44
+ }): this;
45
+ withTags(tags: string[]): this;
46
+ addTag(tag: string): this;
47
+ withMetadata(metadata: Record<string, unknown>): this;
48
+ build(): AgentConfig & {
49
+ tags?: string[];
50
+ metadata?: Record<string, unknown>;
51
+ };
52
+ }
53
+ export declare class FluentStepBuilder {
54
+ private _id;
55
+ private _name;
56
+ private _description?;
57
+ private _agentIds;
58
+ private _executionType;
59
+ private _instructions?;
60
+ private _promptTemplate?;
61
+ private _maxIterations?;
62
+ private _completionCondition?;
63
+ private _resultTransformer?;
64
+ private _condition?;
65
+ private _nextSteps?;
66
+ private _nextStepResolver?;
67
+ private _timeout?;
68
+ withId(id: string): this;
69
+ withName(name: string): this;
70
+ withDescription(description: string): this;
71
+ withAgents(agentIds: string[]): this;
72
+ addAgent(agentId: string): this;
73
+ sequential(): this;
74
+ parallel(): this;
75
+ collaborative(maxIterations?: number): this;
76
+ conditional(condition: (previousResults: Map<string, StepResult[]>) => boolean): this;
77
+ withInstructions(instructions: string): this;
78
+ withPromptTemplate(template: string): this;
79
+ withMaxIterations(max: number): this;
80
+ withCompletionCondition(condition: (results: StepResult[], iteration: number) => boolean): this;
81
+ transformResults(transformer: (results: StepResult[] | StepResult) => unknown): this;
82
+ thenGoto(stepIds: string[]): this;
83
+ thenResolve(resolver: (results: StepResult[]) => string | null): this;
84
+ withTimeout(ms: number): this;
85
+ build(): WorkflowStep & {
86
+ timeout?: number;
87
+ };
88
+ }
89
+ export type PipelinePattern = 'scatter-gather' | 'chain' | 'router' | 'fallback' | 'race';
90
+ export interface PipelineConfig {
91
+ pattern: PipelinePattern;
92
+ agentIds: string[];
93
+ aggregator?: (results: StepResult[]) => string;
94
+ router?: (input: string, context: WorkflowContext) => string;
95
+ timeout?: number;
96
+ }
97
+ export declare class FluentPipelineBuilder {
98
+ private _pattern;
99
+ private _agentIds;
100
+ private _aggregator?;
101
+ private _router?;
102
+ private _timeout?;
103
+ private _fallbackHandler?;
104
+ scatterGather(agentIds: string[]): this;
105
+ chain(agentIds: string[]): this;
106
+ router(agentIds: string[], routerFn: (input: string, context: WorkflowContext) => string): this;
107
+ fallback(agentIds: string[]): this;
108
+ race(agentIds: string[]): this;
109
+ aggregate(aggregator: (results: StepResult[]) => string): this;
110
+ withTimeout(ms: number): this;
111
+ onAllFailed(handler: (errors: Error[]) => string): this;
112
+ build(): PipelineConfig & {
113
+ fallbackHandler?: (errors: Error[]) => string;
114
+ };
115
+ toSteps(): WorkflowStep[];
116
+ }
117
+ export declare const AggregationStrategies: {
118
+ readonly concat: (separator?: string) => (results: StepResult[]) => string;
119
+ readonly first: () => (results: StepResult[]) => string;
120
+ readonly last: () => (results: StepResult[]) => string;
121
+ readonly best: (scorer: (result: StepResult) => number) => (results: StepResult[]) => string;
122
+ readonly reduce: <T>(reducer: (acc: T, result: StepResult) => T, initial: T, finalize: (acc: T) => string) => (results: StepResult[]) => string;
123
+ readonly structured: (format?: "json" | "markdown" | "list") => (results: StepResult[]) => string;
124
+ };
125
+ export declare class Society {
126
+ private _id;
127
+ private _name;
128
+ private _description?;
129
+ private _agents;
130
+ private _steps;
131
+ private _entryStepId?;
132
+ private _globalContext;
133
+ private _observer?;
134
+ private _onBeforeStep?;
135
+ private _onAfterStep?;
136
+ private _finalResultGenerator?;
137
+ private _timeout?;
138
+ static create(id?: string): Society;
139
+ withId(id: string): this;
140
+ withName(name: string): this;
141
+ withDescription(description: string): this;
142
+ addAgent(builderFn: (builder: FluentAgentBuilder) => FluentAgentBuilder): this;
143
+ useAgent(agent: AgentConfig): this;
144
+ useAgents(agents: AgentConfig[]): this;
145
+ addStep(builderFn: (builder: FluentStepBuilder) => FluentStepBuilder): this;
146
+ useStep(step: WorkflowStep): this;
147
+ useSteps(steps: WorkflowStep[]): this;
148
+ usePipeline(builderFn: (builder: FluentPipelineBuilder) => FluentPipelineBuilder): this;
149
+ startAt(stepId: string): this;
150
+ withGlobalContext(context: Record<string, unknown>): this;
151
+ addGlobalContext(key: string, value: unknown): this;
152
+ withObserver(observer: SocietyObserver): this;
153
+ beforeStep(handler: WorkflowConfig['onBeforeStep']): this;
154
+ afterStep(handler: WorkflowConfig['onAfterStep']): this;
155
+ withFinalResultGenerator(generator: WorkflowConfig['finalResultGenerator']): this;
156
+ withTimeout(ms: number): this;
157
+ scatterGather(aggregator?: (results: StepResult[]) => string): this;
158
+ chain(): this;
159
+ collaborate(maxIterations?: number): this;
160
+ build(): WorkflowConfig;
161
+ execute(input: string, signal?: AbortSignal): Promise<WorkflowResult>;
162
+ }
163
+ export declare const SocietyPatterns: {
164
+ readonly parallel: (agents: AgentConfig[]) => Society;
165
+ readonly chain: (agents: AgentConfig[]) => Society;
166
+ readonly collaborative: (agents: AgentConfig[], maxIterations?: number) => Society;
167
+ readonly review: (writer: AgentConfig, reviewer: AgentConfig) => Society;
168
+ };
169
+ export declare function createRole(id: string, systemPrompt: string, options?: {
170
+ name?: string;
171
+ description?: string;
172
+ capabilities?: string[];
173
+ constraints?: string[];
174
+ promptTemplate?: string;
175
+ }): AgentRole;
176
+ export declare function createAgent(id: string, role: AgentRole, model: AIModel, options?: {
177
+ name?: string;
178
+ priority?: number;
179
+ canCommunicateWith?: string[];
180
+ }): AgentConfig;
181
+ //# sourceMappingURL=builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"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"}