@clawrent/protocol 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 (65) hide show
  1. package/dist/envelope.d.ts +53 -0
  2. package/dist/envelope.d.ts.map +1 -0
  3. package/dist/envelope.js +17 -0
  4. package/dist/envelope.js.map +1 -0
  5. package/dist/factory.d.ts +7 -0
  6. package/dist/factory.d.ts.map +1 -0
  7. package/dist/factory.js +18 -0
  8. package/dist/factory.js.map +1 -0
  9. package/dist/index.d.ts +16 -0
  10. package/dist/index.d.ts.map +1 -0
  11. package/dist/index.js +16 -0
  12. package/dist/index.js.map +1 -0
  13. package/dist/instructions/batch.d.ts +334 -0
  14. package/dist/instructions/batch.d.ts.map +1 -0
  15. package/dist/instructions/batch.js +17 -0
  16. package/dist/instructions/batch.js.map +1 -0
  17. package/dist/instructions/exec.d.ts +46 -0
  18. package/dist/instructions/exec.d.ts.map +1 -0
  19. package/dist/instructions/exec.js +17 -0
  20. package/dist/instructions/exec.js.map +1 -0
  21. package/dist/instructions/read-dir.d.ts +16 -0
  22. package/dist/instructions/read-dir.d.ts.map +1 -0
  23. package/dist/instructions/read-dir.js +7 -0
  24. package/dist/instructions/read-dir.js.map +1 -0
  25. package/dist/instructions/read-file.d.ts +34 -0
  26. package/dist/instructions/read-file.d.ts.map +1 -0
  27. package/dist/instructions/read-file.js +13 -0
  28. package/dist/instructions/read-file.js.map +1 -0
  29. package/dist/instructions/write-file.d.ts +42 -0
  30. package/dist/instructions/write-file.d.ts.map +1 -0
  31. package/dist/instructions/write-file.js +15 -0
  32. package/dist/instructions/write-file.js.map +1 -0
  33. package/dist/message-types.d.ts +35 -0
  34. package/dist/message-types.d.ts.map +1 -0
  35. package/dist/message-types.js +40 -0
  36. package/dist/message-types.js.map +1 -0
  37. package/dist/results/error.d.ts +19 -0
  38. package/dist/results/error.d.ts.map +1 -0
  39. package/dist/results/error.js +8 -0
  40. package/dist/results/error.js.map +1 -0
  41. package/dist/results/permission-denied.d.ts +19 -0
  42. package/dist/results/permission-denied.d.ts.map +1 -0
  43. package/dist/results/permission-denied.js +8 -0
  44. package/dist/results/permission-denied.js.map +1 -0
  45. package/dist/results/success.d.ts +88 -0
  46. package/dist/results/success.d.ts.map +1 -0
  47. package/dist/results/success.js +21 -0
  48. package/dist/results/success.js.map +1 -0
  49. package/dist/session/control.d.ts +16 -0
  50. package/dist/session/control.d.ts.map +1 -0
  51. package/dist/session/control.js +7 -0
  52. package/dist/session/control.js.map +1 -0
  53. package/dist/session/dialogue.d.ts +16 -0
  54. package/dist/session/dialogue.d.ts.map +1 -0
  55. package/dist/session/dialogue.js +7 -0
  56. package/dist/session/dialogue.js.map +1 -0
  57. package/dist/staff/messages.d.ts +166 -0
  58. package/dist/staff/messages.d.ts.map +1 -0
  59. package/dist/staff/messages.js +74 -0
  60. package/dist/staff/messages.js.map +1 -0
  61. package/dist/validators.d.ts +3 -0
  62. package/dist/validators.d.ts.map +1 -0
  63. package/dist/validators.js +5 -0
  64. package/dist/validators.js.map +1 -0
  65. package/package.json +32 -0
@@ -0,0 +1,53 @@
1
+ import { z } from 'zod';
2
+ export declare const SenderSchema: z.ZodObject<{
3
+ role: z.ZodEnum<["provider", "consumer", "platform", "staff"]>;
4
+ agentId: z.ZodString;
5
+ }, "strip", z.ZodTypeAny, {
6
+ role: "provider" | "consumer" | "platform" | "staff";
7
+ agentId: string;
8
+ }, {
9
+ role: "provider" | "consumer" | "platform" | "staff";
10
+ agentId: string;
11
+ }>;
12
+ export declare const ClawRentMessageSchema: z.ZodObject<{
13
+ id: z.ZodString;
14
+ sessionId: z.ZodString;
15
+ timestamp: z.ZodNumber;
16
+ sender: z.ZodObject<{
17
+ role: z.ZodEnum<["provider", "consumer", "platform", "staff"]>;
18
+ agentId: z.ZodString;
19
+ }, "strip", z.ZodTypeAny, {
20
+ role: "provider" | "consumer" | "platform" | "staff";
21
+ agentId: string;
22
+ }, {
23
+ role: "provider" | "consumer" | "platform" | "staff";
24
+ agentId: string;
25
+ }>;
26
+ type: z.ZodEnum<[string, ...string[]]>;
27
+ payload: z.ZodRecord<z.ZodString, z.ZodUnknown>;
28
+ signature: z.ZodOptional<z.ZodString>;
29
+ }, "strip", z.ZodTypeAny, {
30
+ type: string;
31
+ id: string;
32
+ sessionId: string;
33
+ timestamp: number;
34
+ sender: {
35
+ role: "provider" | "consumer" | "platform" | "staff";
36
+ agentId: string;
37
+ };
38
+ payload: Record<string, unknown>;
39
+ signature?: string | undefined;
40
+ }, {
41
+ type: string;
42
+ id: string;
43
+ sessionId: string;
44
+ timestamp: number;
45
+ sender: {
46
+ role: "provider" | "consumer" | "platform" | "staff";
47
+ agentId: string;
48
+ };
49
+ payload: Record<string, unknown>;
50
+ signature?: string | undefined;
51
+ }>;
52
+ export type ClawRentMessage = z.infer<typeof ClawRentMessageSchema>;
53
+ //# sourceMappingURL=envelope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"envelope.d.ts","sourceRoot":"","sources":["../src/envelope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,YAAY;;;;;;;;;EAGvB,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { z } from 'zod';
2
+ import { MessageType } from './message-types.js';
3
+ const allMessageTypes = Object.values(MessageType);
4
+ export const SenderSchema = z.object({
5
+ role: z.enum(['provider', 'consumer', 'platform', 'staff']),
6
+ agentId: z.string(),
7
+ });
8
+ export const ClawRentMessageSchema = z.object({
9
+ id: z.string(),
10
+ sessionId: z.string(),
11
+ timestamp: z.number(),
12
+ sender: SenderSchema,
13
+ type: z.enum(allMessageTypes),
14
+ payload: z.record(z.unknown()),
15
+ signature: z.string().optional(),
16
+ });
17
+ //# sourceMappingURL=envelope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"envelope.js","sourceRoot":"","sources":["../src/envelope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AAEnD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAC3D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;CACpB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,MAAM,EAAE,YAAY;IACpB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,eAAwC,CAAC;IACtD,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAC9B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { ClawRentMessage } from './envelope.js';
2
+ import type { MessageType } from './message-types.js';
3
+ export declare function createMessage(sessionId: string, sender: {
4
+ role: 'provider' | 'consumer' | 'platform' | 'staff';
5
+ agentId: string;
6
+ }, type: MessageType, payload: Record<string, unknown>): ClawRentMessage;
7
+ //# sourceMappingURL=factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAWtD,wBAAgB,aAAa,CAC3B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE;IAAE,IAAI,EAAE,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EACjF,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,eAAe,CASjB"}
@@ -0,0 +1,18 @@
1
+ let idCounter = 0;
2
+ function generateMessageId() {
3
+ const timestamp = Date.now().toString(36);
4
+ const counter = (idCounter++).toString(36);
5
+ const random = Math.random().toString(36).substring(2, 8);
6
+ return `msg_${timestamp}_${counter}_${random}`;
7
+ }
8
+ export function createMessage(sessionId, sender, type, payload) {
9
+ return {
10
+ id: generateMessageId(),
11
+ sessionId,
12
+ timestamp: Date.now(),
13
+ sender,
14
+ type,
15
+ payload,
16
+ };
17
+ }
18
+ //# sourceMappingURL=factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAGA,IAAI,SAAS,GAAG,CAAC,CAAC;AAElB,SAAS,iBAAiB;IACxB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1D,OAAO,OAAO,SAAS,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,SAAiB,EACjB,MAAiF,EACjF,IAAiB,EACjB,OAAgC;IAEhC,OAAO;QACL,EAAE,EAAE,iBAAiB,EAAE;QACvB,SAAS;QACT,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,MAAM;QACN,IAAI;QACJ,OAAO;KACR,CAAC;AACJ,CAAC"}
@@ -0,0 +1,16 @@
1
+ export { MessageType } from './message-types.js';
2
+ export { ClawRentMessageSchema, type ClawRentMessage } from './envelope.js';
3
+ export { ExecInstructionSchema, type ExecInstruction } from './instructions/exec.js';
4
+ export { ReadFileInstructionSchema, type ReadFileInstruction } from './instructions/read-file.js';
5
+ export { WriteFileInstructionSchema, type WriteFileInstruction } from './instructions/write-file.js';
6
+ export { ReadDirInstructionSchema, type ReadDirInstruction } from './instructions/read-dir.js';
7
+ export { BatchInstructionSchema, type BatchInstruction } from './instructions/batch.js';
8
+ export { SuccessResultSchema, type SuccessResult } from './results/success.js';
9
+ export { ErrorResultSchema, type ErrorResult } from './results/error.js';
10
+ export { PermissionDeniedResultSchema, type PermissionDeniedResult } from './results/permission-denied.js';
11
+ export { SessionControlSchema, type SessionControl } from './session/control.js';
12
+ export { DialogueMessageSchema, type DialogueMessage } from './session/dialogue.js';
13
+ export { validateMessage } from './validators.js';
14
+ export { createMessage } from './factory.js';
15
+ export { StaffTaskAssignSchema, type StaffTaskAssign, StaffTaskResultSchema, type StaffTaskResult, StaffQuerySchema, type StaffQuery, StaffQueryResponseSchema, type StaffQueryResponse, StaffActionProposalSchema, type StaffActionProposal, StaffActionOutcomeSchema, type StaffActionOutcome, } from './staff/messages.js';
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACrF,OAAO,EAAE,yBAAyB,EAAE,KAAK,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClG,OAAO,EAAE,0BAA0B,EAAE,KAAK,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACrG,OAAO,EAAE,wBAAwB,EAAE,KAAK,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAC/F,OAAO,EAAE,sBAAsB,EAAE,KAAK,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,4BAA4B,EAAE,KAAK,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAC3G,OAAO,EAAE,oBAAoB,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EACL,qBAAqB,EACrB,KAAK,eAAe,EACpB,qBAAqB,EACrB,KAAK,eAAe,EACpB,gBAAgB,EAChB,KAAK,UAAU,EACf,wBAAwB,EACxB,KAAK,kBAAkB,EACvB,yBAAyB,EACzB,KAAK,mBAAmB,EACxB,wBAAwB,EACxB,KAAK,kBAAkB,GACxB,MAAM,qBAAqB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,16 @@
1
+ export { MessageType } from './message-types.js';
2
+ export { ClawRentMessageSchema } from './envelope.js';
3
+ export { ExecInstructionSchema } from './instructions/exec.js';
4
+ export { ReadFileInstructionSchema } from './instructions/read-file.js';
5
+ export { WriteFileInstructionSchema } from './instructions/write-file.js';
6
+ export { ReadDirInstructionSchema } from './instructions/read-dir.js';
7
+ export { BatchInstructionSchema } from './instructions/batch.js';
8
+ export { SuccessResultSchema } from './results/success.js';
9
+ export { ErrorResultSchema } from './results/error.js';
10
+ export { PermissionDeniedResultSchema } from './results/permission-denied.js';
11
+ export { SessionControlSchema } from './session/control.js';
12
+ export { DialogueMessageSchema } from './session/dialogue.js';
13
+ export { validateMessage } from './validators.js';
14
+ export { createMessage } from './factory.js';
15
+ export { StaffTaskAssignSchema, StaffTaskResultSchema, StaffQuerySchema, StaffQueryResponseSchema, StaffActionProposalSchema, StaffActionOutcomeSchema, } from './staff/messages.js';
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAwB,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAwB,MAAM,wBAAwB,CAAC;AACrF,OAAO,EAAE,yBAAyB,EAA4B,MAAM,6BAA6B,CAAC;AAClG,OAAO,EAAE,0BAA0B,EAA6B,MAAM,8BAA8B,CAAC;AACrG,OAAO,EAAE,wBAAwB,EAA2B,MAAM,4BAA4B,CAAC;AAC/F,OAAO,EAAE,sBAAsB,EAAyB,MAAM,yBAAyB,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAsB,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAoB,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,4BAA4B,EAA+B,MAAM,gCAAgC,CAAC;AAC3G,OAAO,EAAE,oBAAoB,EAAuB,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAwB,MAAM,uBAAuB,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EACL,qBAAqB,EAErB,qBAAqB,EAErB,gBAAgB,EAEhB,wBAAwB,EAExB,yBAAyB,EAEzB,wBAAwB,GAEzB,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,334 @@
1
+ import { z } from 'zod';
2
+ export declare const BatchInstructionSchema: z.ZodObject<{
3
+ instructions: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
4
+ type: z.ZodLiteral<"instruction.exec">;
5
+ payload: z.ZodObject<{
6
+ command: z.ZodString;
7
+ workingDir: z.ZodOptional<z.ZodString>;
8
+ timeout: z.ZodDefault<z.ZodNumber>;
9
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
10
+ expect: z.ZodOptional<z.ZodObject<{
11
+ exitCode: z.ZodOptional<z.ZodNumber>;
12
+ stdoutContains: z.ZodOptional<z.ZodString>;
13
+ }, "strip", z.ZodTypeAny, {
14
+ exitCode?: number | undefined;
15
+ stdoutContains?: string | undefined;
16
+ }, {
17
+ exitCode?: number | undefined;
18
+ stdoutContains?: string | undefined;
19
+ }>>;
20
+ onFailure: z.ZodDefault<z.ZodEnum<["abort", "continue", "retry"]>>;
21
+ explanation: z.ZodOptional<z.ZodString>;
22
+ riskLevel: z.ZodDefault<z.ZodEnum<["low", "medium", "high"]>>;
23
+ }, "strip", z.ZodTypeAny, {
24
+ command: string;
25
+ timeout: number;
26
+ onFailure: "abort" | "continue" | "retry";
27
+ riskLevel: "low" | "medium" | "high";
28
+ workingDir?: string | undefined;
29
+ env?: Record<string, string> | undefined;
30
+ expect?: {
31
+ exitCode?: number | undefined;
32
+ stdoutContains?: string | undefined;
33
+ } | undefined;
34
+ explanation?: string | undefined;
35
+ }, {
36
+ command: string;
37
+ workingDir?: string | undefined;
38
+ timeout?: number | undefined;
39
+ env?: Record<string, string> | undefined;
40
+ expect?: {
41
+ exitCode?: number | undefined;
42
+ stdoutContains?: string | undefined;
43
+ } | undefined;
44
+ onFailure?: "abort" | "continue" | "retry" | undefined;
45
+ explanation?: string | undefined;
46
+ riskLevel?: "low" | "medium" | "high" | undefined;
47
+ }>;
48
+ }, "strip", z.ZodTypeAny, {
49
+ type: "instruction.exec";
50
+ payload: {
51
+ command: string;
52
+ timeout: number;
53
+ onFailure: "abort" | "continue" | "retry";
54
+ riskLevel: "low" | "medium" | "high";
55
+ workingDir?: string | undefined;
56
+ env?: Record<string, string> | undefined;
57
+ expect?: {
58
+ exitCode?: number | undefined;
59
+ stdoutContains?: string | undefined;
60
+ } | undefined;
61
+ explanation?: string | undefined;
62
+ };
63
+ }, {
64
+ type: "instruction.exec";
65
+ payload: {
66
+ command: string;
67
+ workingDir?: string | undefined;
68
+ timeout?: number | undefined;
69
+ env?: Record<string, string> | undefined;
70
+ expect?: {
71
+ exitCode?: number | undefined;
72
+ stdoutContains?: string | undefined;
73
+ } | undefined;
74
+ onFailure?: "abort" | "continue" | "retry" | undefined;
75
+ explanation?: string | undefined;
76
+ riskLevel?: "low" | "medium" | "high" | undefined;
77
+ };
78
+ }>, z.ZodObject<{
79
+ type: z.ZodLiteral<"instruction.read_file">;
80
+ payload: z.ZodObject<{
81
+ path: z.ZodString;
82
+ encoding: z.ZodDefault<z.ZodString>;
83
+ lineRange: z.ZodOptional<z.ZodObject<{
84
+ start: z.ZodNumber;
85
+ end: z.ZodNumber;
86
+ }, "strip", z.ZodTypeAny, {
87
+ start: number;
88
+ end: number;
89
+ }, {
90
+ start: number;
91
+ end: number;
92
+ }>>;
93
+ purpose: z.ZodOptional<z.ZodString>;
94
+ }, "strip", z.ZodTypeAny, {
95
+ path: string;
96
+ encoding: string;
97
+ lineRange?: {
98
+ start: number;
99
+ end: number;
100
+ } | undefined;
101
+ purpose?: string | undefined;
102
+ }, {
103
+ path: string;
104
+ encoding?: string | undefined;
105
+ lineRange?: {
106
+ start: number;
107
+ end: number;
108
+ } | undefined;
109
+ purpose?: string | undefined;
110
+ }>;
111
+ }, "strip", z.ZodTypeAny, {
112
+ type: "instruction.read_file";
113
+ payload: {
114
+ path: string;
115
+ encoding: string;
116
+ lineRange?: {
117
+ start: number;
118
+ end: number;
119
+ } | undefined;
120
+ purpose?: string | undefined;
121
+ };
122
+ }, {
123
+ type: "instruction.read_file";
124
+ payload: {
125
+ path: string;
126
+ encoding?: string | undefined;
127
+ lineRange?: {
128
+ start: number;
129
+ end: number;
130
+ } | undefined;
131
+ purpose?: string | undefined;
132
+ };
133
+ }>, z.ZodObject<{
134
+ type: z.ZodLiteral<"instruction.write_file">;
135
+ payload: z.ZodObject<{
136
+ path: z.ZodString;
137
+ content: z.ZodOptional<z.ZodString>;
138
+ patch: z.ZodOptional<z.ZodObject<{
139
+ type: z.ZodEnum<["line_replace", "append", "prepend", "regex_replace"]>;
140
+ target: z.ZodOptional<z.ZodString>;
141
+ replacement: z.ZodOptional<z.ZodString>;
142
+ }, "strip", z.ZodTypeAny, {
143
+ type: "line_replace" | "append" | "prepend" | "regex_replace";
144
+ target?: string | undefined;
145
+ replacement?: string | undefined;
146
+ }, {
147
+ type: "line_replace" | "append" | "prepend" | "regex_replace";
148
+ target?: string | undefined;
149
+ replacement?: string | undefined;
150
+ }>>;
151
+ createDirs: z.ZodDefault<z.ZodBoolean>;
152
+ backup: z.ZodDefault<z.ZodBoolean>;
153
+ }, "strip", z.ZodTypeAny, {
154
+ path: string;
155
+ createDirs: boolean;
156
+ backup: boolean;
157
+ content?: string | undefined;
158
+ patch?: {
159
+ type: "line_replace" | "append" | "prepend" | "regex_replace";
160
+ target?: string | undefined;
161
+ replacement?: string | undefined;
162
+ } | undefined;
163
+ }, {
164
+ path: string;
165
+ content?: string | undefined;
166
+ patch?: {
167
+ type: "line_replace" | "append" | "prepend" | "regex_replace";
168
+ target?: string | undefined;
169
+ replacement?: string | undefined;
170
+ } | undefined;
171
+ createDirs?: boolean | undefined;
172
+ backup?: boolean | undefined;
173
+ }>;
174
+ }, "strip", z.ZodTypeAny, {
175
+ type: "instruction.write_file";
176
+ payload: {
177
+ path: string;
178
+ createDirs: boolean;
179
+ backup: boolean;
180
+ content?: string | undefined;
181
+ patch?: {
182
+ type: "line_replace" | "append" | "prepend" | "regex_replace";
183
+ target?: string | undefined;
184
+ replacement?: string | undefined;
185
+ } | undefined;
186
+ };
187
+ }, {
188
+ type: "instruction.write_file";
189
+ payload: {
190
+ path: string;
191
+ content?: string | undefined;
192
+ patch?: {
193
+ type: "line_replace" | "append" | "prepend" | "regex_replace";
194
+ target?: string | undefined;
195
+ replacement?: string | undefined;
196
+ } | undefined;
197
+ createDirs?: boolean | undefined;
198
+ backup?: boolean | undefined;
199
+ };
200
+ }>, z.ZodObject<{
201
+ type: z.ZodLiteral<"instruction.read_dir">;
202
+ payload: z.ZodObject<{
203
+ path: z.ZodString;
204
+ recursive: z.ZodDefault<z.ZodBoolean>;
205
+ pattern: z.ZodOptional<z.ZodString>;
206
+ }, "strip", z.ZodTypeAny, {
207
+ path: string;
208
+ recursive: boolean;
209
+ pattern?: string | undefined;
210
+ }, {
211
+ path: string;
212
+ recursive?: boolean | undefined;
213
+ pattern?: string | undefined;
214
+ }>;
215
+ }, "strip", z.ZodTypeAny, {
216
+ type: "instruction.read_dir";
217
+ payload: {
218
+ path: string;
219
+ recursive: boolean;
220
+ pattern?: string | undefined;
221
+ };
222
+ }, {
223
+ type: "instruction.read_dir";
224
+ payload: {
225
+ path: string;
226
+ recursive?: boolean | undefined;
227
+ pattern?: string | undefined;
228
+ };
229
+ }>]>, "many">;
230
+ execution: z.ZodDefault<z.ZodEnum<["parallel", "sequential"]>>;
231
+ stopOnError: z.ZodDefault<z.ZodBoolean>;
232
+ }, "strip", z.ZodTypeAny, {
233
+ instructions: ({
234
+ type: "instruction.exec";
235
+ payload: {
236
+ command: string;
237
+ timeout: number;
238
+ onFailure: "abort" | "continue" | "retry";
239
+ riskLevel: "low" | "medium" | "high";
240
+ workingDir?: string | undefined;
241
+ env?: Record<string, string> | undefined;
242
+ expect?: {
243
+ exitCode?: number | undefined;
244
+ stdoutContains?: string | undefined;
245
+ } | undefined;
246
+ explanation?: string | undefined;
247
+ };
248
+ } | {
249
+ type: "instruction.read_file";
250
+ payload: {
251
+ path: string;
252
+ encoding: string;
253
+ lineRange?: {
254
+ start: number;
255
+ end: number;
256
+ } | undefined;
257
+ purpose?: string | undefined;
258
+ };
259
+ } | {
260
+ type: "instruction.write_file";
261
+ payload: {
262
+ path: string;
263
+ createDirs: boolean;
264
+ backup: boolean;
265
+ content?: string | undefined;
266
+ patch?: {
267
+ type: "line_replace" | "append" | "prepend" | "regex_replace";
268
+ target?: string | undefined;
269
+ replacement?: string | undefined;
270
+ } | undefined;
271
+ };
272
+ } | {
273
+ type: "instruction.read_dir";
274
+ payload: {
275
+ path: string;
276
+ recursive: boolean;
277
+ pattern?: string | undefined;
278
+ };
279
+ })[];
280
+ execution: "parallel" | "sequential";
281
+ stopOnError: boolean;
282
+ }, {
283
+ instructions: ({
284
+ type: "instruction.exec";
285
+ payload: {
286
+ command: string;
287
+ workingDir?: string | undefined;
288
+ timeout?: number | undefined;
289
+ env?: Record<string, string> | undefined;
290
+ expect?: {
291
+ exitCode?: number | undefined;
292
+ stdoutContains?: string | undefined;
293
+ } | undefined;
294
+ onFailure?: "abort" | "continue" | "retry" | undefined;
295
+ explanation?: string | undefined;
296
+ riskLevel?: "low" | "medium" | "high" | undefined;
297
+ };
298
+ } | {
299
+ type: "instruction.read_file";
300
+ payload: {
301
+ path: string;
302
+ encoding?: string | undefined;
303
+ lineRange?: {
304
+ start: number;
305
+ end: number;
306
+ } | undefined;
307
+ purpose?: string | undefined;
308
+ };
309
+ } | {
310
+ type: "instruction.write_file";
311
+ payload: {
312
+ path: string;
313
+ content?: string | undefined;
314
+ patch?: {
315
+ type: "line_replace" | "append" | "prepend" | "regex_replace";
316
+ target?: string | undefined;
317
+ replacement?: string | undefined;
318
+ } | undefined;
319
+ createDirs?: boolean | undefined;
320
+ backup?: boolean | undefined;
321
+ };
322
+ } | {
323
+ type: "instruction.read_dir";
324
+ payload: {
325
+ path: string;
326
+ recursive?: boolean | undefined;
327
+ pattern?: string | undefined;
328
+ };
329
+ })[];
330
+ execution?: "parallel" | "sequential" | undefined;
331
+ stopOnError?: boolean | undefined;
332
+ }>;
333
+ export type BatchInstruction = z.infer<typeof BatchInstructionSchema>;
334
+ //# sourceMappingURL=batch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch.d.ts","sourceRoot":"","sources":["../../src/instructions/batch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAaxB,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { z } from 'zod';
2
+ import { ExecInstructionSchema } from './exec.js';
3
+ import { ReadFileInstructionSchema } from './read-file.js';
4
+ import { WriteFileInstructionSchema } from './write-file.js';
5
+ import { ReadDirInstructionSchema } from './read-dir.js';
6
+ const SingleInstructionSchema = z.discriminatedUnion('type', [
7
+ z.object({ type: z.literal('instruction.exec'), payload: ExecInstructionSchema }),
8
+ z.object({ type: z.literal('instruction.read_file'), payload: ReadFileInstructionSchema }),
9
+ z.object({ type: z.literal('instruction.write_file'), payload: WriteFileInstructionSchema }),
10
+ z.object({ type: z.literal('instruction.read_dir'), payload: ReadDirInstructionSchema }),
11
+ ]);
12
+ export const BatchInstructionSchema = z.object({
13
+ instructions: z.array(SingleInstructionSchema).min(1).max(50),
14
+ execution: z.enum(['parallel', 'sequential']).default('sequential'),
15
+ stopOnError: z.boolean().default(true),
16
+ });
17
+ //# sourceMappingURL=batch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch.js","sourceRoot":"","sources":["../../src/instructions/batch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAEzD,MAAM,uBAAuB,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IAC3D,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC;IACjF,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAAC,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC;IAC1F,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,wBAAwB,CAAC,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC;IAC5F,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC;CACzF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IAC7D,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;IACnE,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;CACvC,CAAC,CAAC"}
@@ -0,0 +1,46 @@
1
+ import { z } from 'zod';
2
+ export declare const ExecInstructionSchema: z.ZodObject<{
3
+ command: z.ZodString;
4
+ workingDir: z.ZodOptional<z.ZodString>;
5
+ timeout: z.ZodDefault<z.ZodNumber>;
6
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
7
+ expect: z.ZodOptional<z.ZodObject<{
8
+ exitCode: z.ZodOptional<z.ZodNumber>;
9
+ stdoutContains: z.ZodOptional<z.ZodString>;
10
+ }, "strip", z.ZodTypeAny, {
11
+ exitCode?: number | undefined;
12
+ stdoutContains?: string | undefined;
13
+ }, {
14
+ exitCode?: number | undefined;
15
+ stdoutContains?: string | undefined;
16
+ }>>;
17
+ onFailure: z.ZodDefault<z.ZodEnum<["abort", "continue", "retry"]>>;
18
+ explanation: z.ZodOptional<z.ZodString>;
19
+ riskLevel: z.ZodDefault<z.ZodEnum<["low", "medium", "high"]>>;
20
+ }, "strip", z.ZodTypeAny, {
21
+ command: string;
22
+ timeout: number;
23
+ onFailure: "abort" | "continue" | "retry";
24
+ riskLevel: "low" | "medium" | "high";
25
+ workingDir?: string | undefined;
26
+ env?: Record<string, string> | undefined;
27
+ expect?: {
28
+ exitCode?: number | undefined;
29
+ stdoutContains?: string | undefined;
30
+ } | undefined;
31
+ explanation?: string | undefined;
32
+ }, {
33
+ command: string;
34
+ workingDir?: string | undefined;
35
+ timeout?: number | undefined;
36
+ env?: Record<string, string> | undefined;
37
+ expect?: {
38
+ exitCode?: number | undefined;
39
+ stdoutContains?: string | undefined;
40
+ } | undefined;
41
+ onFailure?: "abort" | "continue" | "retry" | undefined;
42
+ explanation?: string | undefined;
43
+ riskLevel?: "low" | "medium" | "high" | undefined;
44
+ }>;
45
+ export type ExecInstruction = z.infer<typeof ExecInstructionSchema>;
46
+ //# sourceMappingURL=exec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exec.d.ts","sourceRoot":"","sources":["../../src/instructions/exec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAchC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { z } from 'zod';
2
+ export const ExecInstructionSchema = z.object({
3
+ command: z.string().min(1),
4
+ workingDir: z.string().optional(),
5
+ timeout: z.number().positive().default(30000),
6
+ env: z.record(z.string()).optional(),
7
+ expect: z
8
+ .object({
9
+ exitCode: z.number().optional(),
10
+ stdoutContains: z.string().optional(),
11
+ })
12
+ .optional(),
13
+ onFailure: z.enum(['abort', 'continue', 'retry']).default('abort'),
14
+ explanation: z.string().optional(),
15
+ riskLevel: z.enum(['low', 'medium', 'high']).default('medium'),
16
+ });
17
+ //# sourceMappingURL=exec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exec.js","sourceRoot":"","sources":["../../src/instructions/exec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC7C,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACpC,MAAM,EAAE,CAAC;SACN,MAAM,CAAC;QACN,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC/B,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KACtC,CAAC;SACD,QAAQ,EAAE;IACb,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IAClE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;CAC/D,CAAC,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { z } from 'zod';
2
+ export declare const ReadDirInstructionSchema: z.ZodObject<{
3
+ path: z.ZodString;
4
+ recursive: z.ZodDefault<z.ZodBoolean>;
5
+ pattern: z.ZodOptional<z.ZodString>;
6
+ }, "strip", z.ZodTypeAny, {
7
+ path: string;
8
+ recursive: boolean;
9
+ pattern?: string | undefined;
10
+ }, {
11
+ path: string;
12
+ recursive?: boolean | undefined;
13
+ pattern?: string | undefined;
14
+ }>;
15
+ export type ReadDirInstruction = z.infer<typeof ReadDirInstructionSchema>;
16
+ //# sourceMappingURL=read-dir.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read-dir.d.ts","sourceRoot":"","sources":["../../src/instructions/read-dir.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,wBAAwB;;;;;;;;;;;;EAInC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { z } from 'zod';
2
+ export const ReadDirInstructionSchema = z.object({
3
+ path: z.string().min(1),
4
+ recursive: z.boolean().default(false),
5
+ pattern: z.string().optional(),
6
+ });
7
+ //# sourceMappingURL=read-dir.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read-dir.js","sourceRoot":"","sources":["../../src/instructions/read-dir.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACrC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAC"}