@atom-workflow-agent/contracts 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 (108) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +31 -0
  3. package/README.zh-CN.md +31 -0
  4. package/dist/atoms/agent.d.ts +29 -0
  5. package/dist/atoms/agent.d.ts.map +1 -0
  6. package/dist/atoms/agent.js +22 -0
  7. package/dist/atoms/agent.js.map +1 -0
  8. package/dist/atoms/descriptors.d.ts +88 -0
  9. package/dist/atoms/descriptors.d.ts.map +1 -0
  10. package/dist/atoms/descriptors.js +56 -0
  11. package/dist/atoms/descriptors.js.map +1 -0
  12. package/dist/atoms/host.d.ts +200 -0
  13. package/dist/atoms/host.d.ts.map +1 -0
  14. package/dist/atoms/host.js +109 -0
  15. package/dist/atoms/host.js.map +1 -0
  16. package/dist/atoms/lifecycle.d.ts +257 -0
  17. package/dist/atoms/lifecycle.d.ts.map +1 -0
  18. package/dist/atoms/lifecycle.js +201 -0
  19. package/dist/atoms/lifecycle.js.map +1 -0
  20. package/dist/atoms/manifest.d.ts +68 -0
  21. package/dist/atoms/manifest.d.ts.map +1 -0
  22. package/dist/atoms/manifest.js +144 -0
  23. package/dist/atoms/manifest.js.map +1 -0
  24. package/dist/atoms/package.d.ts +11 -0
  25. package/dist/atoms/package.d.ts.map +1 -0
  26. package/dist/atoms/package.js +11 -0
  27. package/dist/atoms/package.js.map +1 -0
  28. package/dist/errors/atom-workflow-error.d.ts +7 -0
  29. package/dist/errors/atom-workflow-error.d.ts.map +1 -0
  30. package/dist/errors/atom-workflow-error.js +21 -0
  31. package/dist/errors/atom-workflow-error.js.map +1 -0
  32. package/dist/index.d.ts +25 -0
  33. package/dist/index.d.ts.map +1 -0
  34. package/dist/index.js +25 -0
  35. package/dist/index.js.map +1 -0
  36. package/dist/json-schema/validate-instance.d.ts +7 -0
  37. package/dist/json-schema/validate-instance.d.ts.map +1 -0
  38. package/dist/json-schema/validate-instance.js +186 -0
  39. package/dist/json-schema/validate-instance.js.map +1 -0
  40. package/dist/planner/plan-record.d.ts +194 -0
  41. package/dist/planner/plan-record.d.ts.map +1 -0
  42. package/dist/planner/plan-record.js +57 -0
  43. package/dist/planner/plan-record.js.map +1 -0
  44. package/dist/planner/planner-draft.d.ts +194 -0
  45. package/dist/planner/planner-draft.d.ts.map +1 -0
  46. package/dist/planner/planner-draft.js +102 -0
  47. package/dist/planner/planner-draft.js.map +1 -0
  48. package/dist/planner/planner-validation.d.ts +830 -0
  49. package/dist/planner/planner-validation.d.ts.map +1 -0
  50. package/dist/planner/planner-validation.js +52 -0
  51. package/dist/planner/planner-validation.js.map +1 -0
  52. package/dist/planner/planner.d.ts +456 -0
  53. package/dist/planner/planner.d.ts.map +1 -0
  54. package/dist/planner/planner.js +85 -0
  55. package/dist/planner/planner.js.map +1 -0
  56. package/dist/planner/planning-capability.d.ts +576 -0
  57. package/dist/planner/planning-capability.d.ts.map +1 -0
  58. package/dist/planner/planning-capability.js +105 -0
  59. package/dist/planner/planning-capability.js.map +1 -0
  60. package/dist/planner/planning-workspace.d.ts +1791 -0
  61. package/dist/planner/planning-workspace.d.ts.map +1 -0
  62. package/dist/planner/planning-workspace.js +279 -0
  63. package/dist/planner/planning-workspace.js.map +1 -0
  64. package/dist/runtime/diagnostics.d.ts +35 -0
  65. package/dist/runtime/diagnostics.d.ts.map +1 -0
  66. package/dist/runtime/diagnostics.js +22 -0
  67. package/dist/runtime/diagnostics.js.map +1 -0
  68. package/dist/runtime/machine.d.ts +52 -0
  69. package/dist/runtime/machine.d.ts.map +1 -0
  70. package/dist/runtime/machine.js +41 -0
  71. package/dist/runtime/machine.js.map +1 -0
  72. package/dist/runtime/records.d.ts +306 -0
  73. package/dist/runtime/records.d.ts.map +1 -0
  74. package/dist/runtime/records.js +213 -0
  75. package/dist/runtime/records.js.map +1 -0
  76. package/dist/runtime/resume.d.ts +32 -0
  77. package/dist/runtime/resume.d.ts.map +1 -0
  78. package/dist/runtime/resume.js +19 -0
  79. package/dist/runtime/resume.js.map +1 -0
  80. package/dist/workflows/ir.d.ts +117 -0
  81. package/dist/workflows/ir.d.ts.map +1 -0
  82. package/dist/workflows/ir.js +2 -0
  83. package/dist/workflows/ir.js.map +1 -0
  84. package/dist/workflows/policy.d.ts +22 -0
  85. package/dist/workflows/policy.d.ts.map +1 -0
  86. package/dist/workflows/policy.js +22 -0
  87. package/dist/workflows/policy.js.map +1 -0
  88. package/dist/workflows/revision.d.ts +187 -0
  89. package/dist/workflows/revision.d.ts.map +1 -0
  90. package/dist/workflows/revision.js +61 -0
  91. package/dist/workflows/revision.js.map +1 -0
  92. package/dist/workflows/spec.d.ts +427 -0
  93. package/dist/workflows/spec.d.ts.map +1 -0
  94. package/dist/workflows/spec.js +86 -0
  95. package/dist/workflows/spec.js.map +1 -0
  96. package/dist/workflows/topology.d.ts +58 -0
  97. package/dist/workflows/topology.d.ts.map +1 -0
  98. package/dist/workflows/topology.js +37 -0
  99. package/dist/workflows/topology.js.map +1 -0
  100. package/dist/workflows/validation.d.ts +247 -0
  101. package/dist/workflows/validation.d.ts.map +1 -0
  102. package/dist/workflows/validation.js +130 -0
  103. package/dist/workflows/validation.js.map +1 -0
  104. package/dist/workflows/visualization.d.ts +526 -0
  105. package/dist/workflows/visualization.d.ts.map +1 -0
  106. package/dist/workflows/visualization.js +132 -0
  107. package/dist/workflows/visualization.js.map +1 -0
  108. package/package.json +48 -0
@@ -0,0 +1,194 @@
1
+ import { z } from "zod";
2
+ import { type JsonSchema, type JsonValue } from "../atoms/manifest.js";
3
+ import { type WorkflowNodePolicy } from "../workflows/spec.js";
4
+ export declare const PlannerAtomCatalogIndexEntrySchema: z.ZodObject<{
5
+ schemaVersion: z.ZodLiteral<"1.0">;
6
+ hash: z.ZodString;
7
+ key: z.ZodString;
8
+ title: z.ZodString;
9
+ purpose: z.ZodString;
10
+ inputFields: z.ZodDefault<z.ZodArray<z.ZodObject<{
11
+ name: z.ZodString;
12
+ description: z.ZodString;
13
+ required: z.ZodBoolean;
14
+ types: z.ZodArray<z.ZodEnum<{
15
+ string: "string";
16
+ number: "number";
17
+ boolean: "boolean";
18
+ object: "object";
19
+ null: "null";
20
+ array: "array";
21
+ integer: "integer";
22
+ }>>;
23
+ }, z.core.$strict>>>;
24
+ outputFields: z.ZodDefault<z.ZodArray<z.ZodObject<{
25
+ name: z.ZodString;
26
+ description: z.ZodString;
27
+ required: z.ZodBoolean;
28
+ types: z.ZodArray<z.ZodEnum<{
29
+ string: "string";
30
+ number: "number";
31
+ boolean: "boolean";
32
+ object: "object";
33
+ null: "null";
34
+ array: "array";
35
+ integer: "integer";
36
+ }>>;
37
+ }, z.core.$strict>>>;
38
+ }, z.core.$strict>;
39
+ export type PlannerAtomCatalogIndexEntry = z.infer<typeof PlannerAtomCatalogIndexEntrySchema>;
40
+ export declare const PlannerAtomCatalogIndexSchema: z.ZodObject<{
41
+ schemaVersion: z.ZodLiteral<"1.0">;
42
+ hash: z.ZodString;
43
+ atoms: z.ZodArray<z.ZodObject<{
44
+ schemaVersion: z.ZodLiteral<"1.0">;
45
+ hash: z.ZodString;
46
+ key: z.ZodString;
47
+ title: z.ZodString;
48
+ purpose: z.ZodString;
49
+ inputFields: z.ZodDefault<z.ZodArray<z.ZodObject<{
50
+ name: z.ZodString;
51
+ description: z.ZodString;
52
+ required: z.ZodBoolean;
53
+ types: z.ZodArray<z.ZodEnum<{
54
+ string: "string";
55
+ number: "number";
56
+ boolean: "boolean";
57
+ object: "object";
58
+ null: "null";
59
+ array: "array";
60
+ integer: "integer";
61
+ }>>;
62
+ }, z.core.$strict>>>;
63
+ outputFields: z.ZodDefault<z.ZodArray<z.ZodObject<{
64
+ name: z.ZodString;
65
+ description: z.ZodString;
66
+ required: z.ZodBoolean;
67
+ types: z.ZodArray<z.ZodEnum<{
68
+ string: "string";
69
+ number: "number";
70
+ boolean: "boolean";
71
+ object: "object";
72
+ null: "null";
73
+ array: "array";
74
+ integer: "integer";
75
+ }>>;
76
+ }, z.core.$strict>>>;
77
+ }, z.core.$strict>>;
78
+ }, z.core.$strict>;
79
+ export type PlannerAtomCatalogIndex = z.infer<typeof PlannerAtomCatalogIndexSchema>;
80
+ export declare const PlannerDraftAtomStepSchema: z.ZodObject<{
81
+ kind: z.ZodLiteral<"atom">;
82
+ as: z.ZodString;
83
+ use: z.ZodString;
84
+ input: z.ZodType<JsonValue, unknown, z.core.$ZodTypeInternals<JsonValue, unknown>>;
85
+ policy: z.ZodOptional<z.ZodObject<{
86
+ attemptTimeoutMs: z.ZodOptional<z.ZodNumber>;
87
+ lifecycleTickTimeoutMs: z.ZodOptional<z.ZodNumber>;
88
+ maxLifecycleTicks: z.ZodOptional<z.ZodNumber>;
89
+ retry: z.ZodOptional<z.ZodObject<{
90
+ maxAttempts: z.ZodOptional<z.ZodNumber>;
91
+ strategy: z.ZodOptional<z.ZodEnum<{
92
+ fixed: "fixed";
93
+ exponential: "exponential";
94
+ }>>;
95
+ baseDelayMs: z.ZodOptional<z.ZodNumber>;
96
+ maxDelayMs: z.ZodOptional<z.ZodNumber>;
97
+ jitter: z.ZodOptional<z.ZodBoolean>;
98
+ }, z.core.$strict>>;
99
+ cache: z.ZodOptional<z.ZodObject<{
100
+ enabled: z.ZodOptional<z.ZodBoolean>;
101
+ ttlMs: z.ZodOptional<z.ZodNumber>;
102
+ }, z.core.$strict>>;
103
+ }, z.core.$strict>>;
104
+ }, z.core.$strict>;
105
+ export type PlannerDraftAtomStep = z.infer<typeof PlannerDraftAtomStepSchema>;
106
+ export interface PlannerDraftSequenceStep {
107
+ readonly kind: "sequence";
108
+ readonly steps: readonly PlannerDraftStep[];
109
+ }
110
+ export interface PlannerDraftParallelStep {
111
+ readonly kind: "parallel";
112
+ readonly branches: readonly PlannerDraftStep[];
113
+ }
114
+ export interface PlannerDraftDecisionStep {
115
+ readonly kind: "decision";
116
+ readonly as: string;
117
+ readonly use: string;
118
+ readonly select: string;
119
+ readonly input: JsonValue;
120
+ readonly branches: Readonly<Record<string, PlannerDraftDecisionBranch>>;
121
+ readonly defaultBranch: string;
122
+ /** Runtime-owned typed phi/merge for mutually-exclusive continuing branches. */
123
+ readonly merge?: {
124
+ readonly as: string;
125
+ readonly outputSchema: JsonSchema;
126
+ readonly branches: Readonly<Record<string, JsonValue>>;
127
+ } | undefined;
128
+ readonly policy?: WorkflowNodePolicy | undefined;
129
+ }
130
+ /**
131
+ * A bounded local back-edge owned by one Decision branch. The body runs once
132
+ * for the selected branch and then revisits that same Decision. This keeps
133
+ * N-way business routing in the Decision Atom while the Workflow owns the
134
+ * retry/rollback bound.
135
+ */
136
+ export interface PlannerDraftRevisitBranch {
137
+ readonly kind: "revisit";
138
+ readonly maxIterations: number;
139
+ readonly body: PlannerDraftStep;
140
+ /** Runtime-generated input overlay for the next activation of the same Decision. */
141
+ readonly reentry?: Readonly<Record<string, JsonValue>> | undefined;
142
+ }
143
+ /** Continue through the common downstream sequence without executing branch-local work. */
144
+ export interface PlannerDraftContinueBranch {
145
+ readonly kind: "continue";
146
+ }
147
+ /** End this control path explicitly instead of falling through by accident. */
148
+ export interface PlannerDraftTerminalBranch {
149
+ readonly kind: "terminal";
150
+ readonly status: "success" | "failure";
151
+ }
152
+ export type PlannerDraftDecisionBranch = PlannerDraftStep | PlannerDraftRevisitBranch | PlannerDraftContinueBranch | PlannerDraftTerminalBranch;
153
+ export interface PlannerDraftMapStep {
154
+ readonly kind: "map";
155
+ readonly as: string;
156
+ readonly items: JsonValue;
157
+ readonly maxItems: number;
158
+ readonly maxConcurrency?: number | undefined;
159
+ readonly body: PlannerDraftMapBodyStep;
160
+ }
161
+ export type PlannerDraftMapBodyStep = PlannerDraftAtomStep | {
162
+ readonly kind: "sequence";
163
+ readonly steps: readonly PlannerDraftMapBodyStep[];
164
+ } | {
165
+ readonly kind: "parallel";
166
+ readonly branches: readonly PlannerDraftMapBodyStep[];
167
+ };
168
+ export interface PlannerDraftRepeatStep {
169
+ readonly kind: "repeat";
170
+ readonly maxIterations: number;
171
+ readonly body: PlannerDraftStep;
172
+ readonly decision: {
173
+ readonly as: string;
174
+ readonly use: string;
175
+ readonly select: string;
176
+ readonly input: JsonValue;
177
+ readonly continueBranch: string;
178
+ readonly exitBranch: string;
179
+ readonly defaultBranch: string;
180
+ readonly policy?: WorkflowNodePolicy | undefined;
181
+ };
182
+ }
183
+ export type PlannerDraftStep = PlannerDraftAtomStep | PlannerDraftSequenceStep | PlannerDraftParallelStep | PlannerDraftDecisionStep | PlannerDraftMapStep | PlannerDraftRepeatStep;
184
+ export declare const PlannerDraftStepSchema: z.ZodType<PlannerDraftStep>;
185
+ export declare const PlannerDraftMapBodyStepSchema: z.ZodType<PlannerDraftMapBodyStep>;
186
+ export declare const PlannerDraftSchema: z.ZodObject<{
187
+ schemaVersion: z.ZodLiteral<"1.0">;
188
+ kind: z.ZodLiteral<"workflow-draft">;
189
+ name: z.ZodString;
190
+ flow: z.ZodType<PlannerDraftStep, unknown, z.core.$ZodTypeInternals<PlannerDraftStep, unknown>>;
191
+ outputs: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodType<JsonValue, unknown, z.core.$ZodTypeInternals<JsonValue, unknown>>>>;
192
+ }, z.core.$strict>;
193
+ export type PlannerDraft = z.infer<typeof PlannerDraftSchema>;
194
+ //# sourceMappingURL=planner-draft.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"planner-draft.d.ts","sourceRoot":"","sources":["../../src/planner/planner-draft.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,102 @@
1
+ import { z } from "zod";
2
+ import { JsonSchemaSchema, JsonValueSchema } from "../atoms/manifest.js";
3
+ import { PlannerCatalogIndexAtomDescriptorSchema } from "../atoms/descriptors.js";
4
+ import { WorkflowAtomReferenceSchema, WorkflowBranchIdSchema, WorkflowNodeIdSchema, WorkflowNodePolicySchema } from "../workflows/spec.js";
5
+ const HashSchema = z.string().regex(/^sha256:[a-f0-9]{64}$/);
6
+ export const PlannerAtomCatalogIndexEntrySchema = PlannerCatalogIndexAtomDescriptorSchema;
7
+ export const PlannerAtomCatalogIndexSchema = z.object({
8
+ schemaVersion: z.literal("1.0"),
9
+ hash: HashSchema,
10
+ atoms: z.array(PlannerAtomCatalogIndexEntrySchema),
11
+ }).strict().superRefine((catalog, context) => {
12
+ const keys = catalog.atoms.map((entry) => entry.key);
13
+ if (new Set(keys).size !== keys.length) {
14
+ context.addIssue({ code: "custom", path: ["atoms"], message: "Planner Atom Catalog Index cannot contain duplicate exact keys" });
15
+ }
16
+ });
17
+ const DraftAliasSchema = WorkflowNodeIdSchema;
18
+ export const PlannerDraftAtomStepSchema = z.object({
19
+ kind: z.literal("atom"),
20
+ as: DraftAliasSchema,
21
+ use: WorkflowAtomReferenceSchema,
22
+ input: JsonValueSchema,
23
+ policy: WorkflowNodePolicySchema.optional(),
24
+ }).strict();
25
+ export const PlannerDraftStepSchema = z.lazy(() => z.discriminatedUnion("kind", [
26
+ PlannerDraftAtomStepSchema,
27
+ z.object({ kind: z.literal("sequence"), steps: z.array(PlannerDraftStepSchema).min(1) }).strict(),
28
+ z.object({ kind: z.literal("parallel"), branches: z.array(PlannerDraftStepSchema).min(2).max(64) }).strict(),
29
+ z.object({
30
+ kind: z.literal("decision"),
31
+ as: DraftAliasSchema,
32
+ use: WorkflowAtomReferenceSchema,
33
+ select: z.string().trim().regex(/^[A-Za-z_][A-Za-z0-9_-]*(?:\.[A-Za-z_][A-Za-z0-9_-]*)*$/),
34
+ input: JsonValueSchema,
35
+ branches: z.record(WorkflowBranchIdSchema, z.union([
36
+ PlannerDraftStepSchema,
37
+ z.object({
38
+ kind: z.literal("revisit"),
39
+ maxIterations: z.number().int().min(1).max(10_000),
40
+ body: PlannerDraftStepSchema,
41
+ reentry: z.record(z.string(), JsonValueSchema).optional(),
42
+ }).strict(),
43
+ z.object({ kind: z.literal("continue") }).strict(),
44
+ z.object({ kind: z.literal("terminal"), status: z.enum(["success", "failure"]) }).strict(),
45
+ ])),
46
+ defaultBranch: WorkflowBranchIdSchema,
47
+ merge: z.object({
48
+ as: DraftAliasSchema,
49
+ outputSchema: JsonSchemaSchema,
50
+ branches: z.record(WorkflowBranchIdSchema, JsonValueSchema),
51
+ }).strict().optional(),
52
+ policy: WorkflowNodePolicySchema.optional(),
53
+ }).strict().superRefine((decision, context) => {
54
+ const branchIds = Object.keys(decision.branches);
55
+ if (branchIds.length === 0)
56
+ context.addIssue({ code: "custom", path: ["branches"], message: "Decision must declare at least one branch" });
57
+ if (!branchIds.includes(decision.defaultBranch))
58
+ context.addIssue({ code: "custom", path: ["defaultBranch"], message: "defaultBranch must name a declared branch" });
59
+ }),
60
+ z.object({
61
+ kind: z.literal("map"),
62
+ as: DraftAliasSchema,
63
+ items: JsonValueSchema,
64
+ maxItems: z.number().int().min(1).max(10_000),
65
+ maxConcurrency: z.number().int().min(1).max(1_000).optional(),
66
+ body: PlannerDraftMapBodyStepSchema,
67
+ }).strict(),
68
+ z.object({
69
+ kind: z.literal("repeat"),
70
+ maxIterations: z.number().int().min(2).max(10_000),
71
+ body: PlannerDraftStepSchema,
72
+ decision: z.object({
73
+ as: DraftAliasSchema,
74
+ use: WorkflowAtomReferenceSchema,
75
+ select: z.string().trim().regex(/^[A-Za-z_][A-Za-z0-9_-]*(?:\.[A-Za-z_][A-Za-z0-9_-]*)*$/),
76
+ input: JsonValueSchema,
77
+ continueBranch: WorkflowBranchIdSchema,
78
+ exitBranch: WorkflowBranchIdSchema,
79
+ defaultBranch: WorkflowBranchIdSchema,
80
+ policy: WorkflowNodePolicySchema.optional(),
81
+ }).strict().superRefine((decision, context) => {
82
+ if (decision.continueBranch === decision.exitBranch)
83
+ context.addIssue({ code: "custom", path: ["exitBranch"], message: "Repeat continue and exit branches must differ" });
84
+ if (![decision.continueBranch, decision.exitBranch].includes(decision.defaultBranch)) {
85
+ context.addIssue({ code: "custom", path: ["defaultBranch"], message: "Repeat defaultBranch must be continueBranch or exitBranch" });
86
+ }
87
+ }),
88
+ }).strict(),
89
+ ]));
90
+ export const PlannerDraftMapBodyStepSchema = z.lazy(() => z.discriminatedUnion("kind", [
91
+ PlannerDraftAtomStepSchema,
92
+ z.object({ kind: z.literal("sequence"), steps: z.array(PlannerDraftMapBodyStepSchema).min(1) }).strict(),
93
+ z.object({ kind: z.literal("parallel"), branches: z.array(PlannerDraftMapBodyStepSchema).min(2).max(64) }).strict(),
94
+ ]));
95
+ export const PlannerDraftSchema = z.object({
96
+ schemaVersion: z.literal("1.0"),
97
+ kind: z.literal("workflow-draft"),
98
+ name: z.string().regex(/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/, "Workflow draft name must be lowercase kebab-case"),
99
+ flow: PlannerDraftStepSchema,
100
+ outputs: z.record(z.string(), JsonValueSchema).default({}),
101
+ }).strict();
102
+ //# sourceMappingURL=planner-draft.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"planner-draft.js","sourceRoot":"","sources":["../../src/planner/planner-draft.ts"],"names":[],"mappings":"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"}