@awcp/core 0.0.8 → 0.0.10

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.
@@ -14,18 +14,20 @@ export declare const ErrorCodes: {
14
14
  readonly SETUP_FAILED: "SETUP_FAILED";
15
15
  readonly TASK_FAILED: "TASK_FAILED";
16
16
  readonly CANCELLED: "CANCELLED";
17
+ readonly TRANSPORT_ERROR: "TRANSPORT_ERROR";
18
+ readonly CHECKSUM_MISMATCH: "CHECKSUM_MISMATCH";
17
19
  };
18
20
  export type ErrorCode = typeof ErrorCodes[keyof typeof ErrorCodes];
19
21
  /**
20
22
  * Base class for AWCP errors
21
23
  */
22
24
  export declare class AwcpError extends Error {
23
- readonly code: ErrorCode;
25
+ readonly code: string;
24
26
  readonly hint?: string | undefined;
25
27
  readonly delegationId?: string | undefined;
26
- constructor(code: ErrorCode, message: string, hint?: string | undefined, delegationId?: string | undefined);
28
+ constructor(code: string, message: string, hint?: string | undefined, delegationId?: string | undefined);
27
29
  toErrorMessage(): {
28
- code: ErrorCode;
30
+ code: string;
29
31
  message: string;
30
32
  hint: string | undefined;
31
33
  };
@@ -100,4 +102,18 @@ export declare class LeaseExpiredError extends AwcpError {
100
102
  export declare class AuthFailedError extends AwcpError {
101
103
  constructor(reason?: string, hint?: string, delegationId?: string);
102
104
  }
105
+ /**
106
+ * Error: Delegation cancelled
107
+ */
108
+ export declare class CancelledError extends AwcpError {
109
+ constructor(reason?: string, hint?: string, delegationId?: string);
110
+ }
111
+ export declare class TransportError extends AwcpError {
112
+ constructor(reason: string, hint?: string, delegationId?: string);
113
+ }
114
+ export declare class ChecksumMismatchError extends AwcpError {
115
+ readonly expected: string;
116
+ readonly actual: string;
117
+ constructor(expected: string, actual: string, delegationId?: string);
118
+ }
103
119
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;CAab,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,OAAO,UAAU,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC;AAEnE;;GAEG;AACH,qBAAa,SAAU,SAAQ,KAAK;aAEhB,IAAI,EAAE,SAAS;aAEf,IAAI,CAAC,EAAE,MAAM;aACb,YAAY,CAAC,EAAE,MAAM;gBAHrB,IAAI,EAAE,SAAS,EAC/B,OAAO,EAAE,MAAM,EACC,IAAI,CAAC,EAAE,MAAM,YAAA,EACb,YAAY,CAAC,EAAE,MAAM,YAAA;IAMvC,cAAc;;;;;CAOf;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,SAAS;gBAC9B,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;CAIlE;AAED;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,SAAS;aAEjC,UAAU,EAAE,MAAM;gBAAlB,UAAU,EAAE,MAAM,EAClC,IAAI,CAAC,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,MAAM;CAUxB;AAED;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,SAAS;aAEjC,KAAK,EAAE;QACrB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B;gBAJe,KAAK,EAAE;QACrB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,EACD,IAAI,CAAC,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,MAAM;CAUxB;AAED;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,SAAS;gBACvC,aAAa,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;CASxE;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,SAAS;gBACtC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;CASxF;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,SAAS;gBACnC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;CASlE;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,SAAS;gBACjC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;CASjE;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,SAAS;gBAChC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;CASjE;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,SAAS;gBAClC,WAAW,GAAE,OAAe,EAAE,YAAY,CAAC,EAAE,MAAM;CAWhE;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,SAAS;gBAE1C,MAAM,GAAE,MAAgC,EACxC,IAAI,CAAC,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,MAAM;CAUxB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,8 @@ export const ErrorCodes = {
14
14
  SETUP_FAILED: 'SETUP_FAILED',
15
15
  TASK_FAILED: 'TASK_FAILED',
16
16
  CANCELLED: 'CANCELLED',
17
+ TRANSPORT_ERROR: 'TRANSPORT_ERROR',
18
+ CHECKSUM_MISMATCH: 'CHECKSUM_MISMATCH',
17
19
  };
18
20
  /**
19
21
  * Base class for AWCP errors
@@ -133,4 +135,29 @@ export class AuthFailedError extends AwcpError {
133
135
  this.name = 'AuthFailedError';
134
136
  }
135
137
  }
138
+ /**
139
+ * Error: Delegation cancelled
140
+ */
141
+ export class CancelledError extends AwcpError {
142
+ constructor(reason = 'Delegation cancelled', hint, delegationId) {
143
+ super(ErrorCodes.CANCELLED, reason, hint, delegationId);
144
+ this.name = 'CancelledError';
145
+ }
146
+ }
147
+ export class TransportError extends AwcpError {
148
+ constructor(reason, hint, delegationId) {
149
+ super(ErrorCodes.TRANSPORT_ERROR, reason, hint, delegationId);
150
+ this.name = 'TransportError';
151
+ }
152
+ }
153
+ export class ChecksumMismatchError extends AwcpError {
154
+ expected;
155
+ actual;
156
+ constructor(expected, actual, delegationId) {
157
+ super(ErrorCodes.CHECKSUM_MISMATCH, `Checksum mismatch: expected ${expected}, got ${actual}`, 'The downloaded file may be corrupted, try again', delegationId);
158
+ this.expected = expected;
159
+ this.actual = actual;
160
+ this.name = 'ChecksumMismatchError';
161
+ }
162
+ }
136
163
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,6 @@
1
- import type { DelegationState, AwcpMessage, Delegation, InviteMessage, AcceptMessage, StartMessage, DoneMessage, ErrorMessage } from '../types/messages.js';
2
- /**
3
- * Check if a state is terminal (no further transitions possible)
4
- */
1
+ import type { DelegationState, AwcpMessage, Delegation, EnvironmentSpec, InviteMessage, AcceptMessage, StartMessage, DoneMessage, ErrorMessage } from '../types/messages.js';
5
2
  export declare function isTerminalState(state: DelegationState): boolean;
6
- /**
7
- * Check if a state transition is valid
8
- */
9
3
  export declare function isValidTransition(from: DelegationState, to: DelegationState): boolean;
10
- /**
11
- * Events that can trigger state transitions
12
- */
13
4
  export type DelegationEvent = {
14
5
  type: 'SEND_INVITE';
15
6
  message: InviteMessage;
@@ -35,38 +26,25 @@ export type DelegationEvent = {
35
26
  } | {
36
27
  type: 'EXPIRE';
37
28
  };
38
- /**
39
- * Result of a state transition
40
- */
41
29
  export interface TransitionResult {
42
30
  success: boolean;
43
31
  newState: DelegationState;
44
32
  error?: string;
45
33
  }
46
- /**
47
- * Delegation state machine
48
- */
49
34
  export declare class DelegationStateMachine {
50
35
  private state;
51
36
  constructor(initialState?: DelegationState);
52
37
  getState(): DelegationState;
53
38
  isTerminal(): boolean;
54
39
  transition(event: DelegationEvent): TransitionResult;
55
- forceState(state: DelegationState): void;
56
40
  private getTargetState;
57
41
  }
58
- /**
59
- * Create a new delegation record
60
- */
61
42
  export declare function createDelegation(params: {
62
43
  id: string;
63
44
  peerUrl: string;
64
- localDir: string;
45
+ environment: EnvironmentSpec;
65
46
  task: Delegation['task'];
66
47
  leaseConfig: Delegation['leaseConfig'];
67
48
  }): Delegation;
68
- /**
69
- * Update delegation with message data
70
- */
71
49
  export declare function applyMessageToDelegation(delegation: Delegation, message: AwcpMessage): Delegation;
72
50
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/state-machine/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,WAAW,EACX,UAAU,EACV,aAAa,EACb,aAAa,EACb,YAAY,EACZ,WAAW,EACX,YAAY,EACb,MAAM,sBAAsB,CAAC;AAiB9B;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAE/D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,eAAe,EACrB,EAAE,EAAE,eAAe,GAClB,OAAO,CAET;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,OAAO,EAAE,aAAa,CAAA;CAAE,GAC/C;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,OAAO,EAAE,aAAa,CAAA;CAAE,GAClD;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,YAAY,CAAA;CAAE,GAC7C;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,GAC1B;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,OAAO,EAAE,WAAW,CAAA;CAAE,GAC9C;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,OAAO,EAAE,YAAY,CAAA;CAAE,GAChD;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,YAAY,CAAA;CAAE,GAC7C;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC;AAEvB;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,eAAe,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,KAAK,CAA8B;gBAE/B,YAAY,CAAC,EAAE,eAAe;IAM1C,QAAQ,IAAI,eAAe;IAI3B,UAAU,IAAI,OAAO;IAIrB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,gBAAgB;IA0BpD,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI;IAIxC,OAAO,CAAC,cAAc;CAiCvB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IACzB,WAAW,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC;CACxC,GAAG,UAAU,CAYb;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,WAAW,GACnB,UAAU,CA+BZ"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/state-machine/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,WAAW,EACX,UAAU,EACV,eAAe,EACf,aAAa,EACb,aAAa,EACb,YAAY,EACZ,WAAW,EACX,YAAY,EACb,MAAM,sBAAsB,CAAC;AAc9B,wBAAgB,eAAe,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAE/D;AAED,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,eAAe,EACrB,EAAE,EAAE,eAAe,GAClB,OAAO,CAET;AAED,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,OAAO,EAAE,aAAa,CAAA;CAAE,GAC/C;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,OAAO,EAAE,aAAa,CAAA;CAAE,GAClD;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,YAAY,CAAA;CAAE,GAC7C;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,GAC1B;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,OAAO,EAAE,WAAW,CAAA;CAAE,GAC9C;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,OAAO,EAAE,YAAY,CAAA;CAAE,GAChD;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,YAAY,CAAA;CAAE,GAC7C;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC;AAEvB,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,eAAe,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,sBAAsB;IACjC,OAAO,CAAC,KAAK,CAA8B;gBAE/B,YAAY,CAAC,EAAE,eAAe;IAM1C,QAAQ,IAAI,eAAe;IAI3B,UAAU,IAAI,OAAO;IAIrB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,gBAAgB;IA0BpD,OAAO,CAAC,cAAc;CAiCvB;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,eAAe,CAAC;IAC7B,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IACzB,WAAW,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC;CACxC,GAAG,UAAU,CAYb;AAED,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,WAAW,GACnB,UAAU,CA+BZ"}
@@ -1,6 +1,3 @@
1
- /**
2
- * Valid state transitions for delegation lifecycle
3
- */
4
1
  const STATE_TRANSITIONS = {
5
2
  created: ['invited', 'error', 'cancelled'],
6
3
  invited: ['accepted', 'error', 'cancelled', 'expired'],
@@ -12,21 +9,12 @@ const STATE_TRANSITIONS = {
12
9
  cancelled: [],
13
10
  expired: [],
14
11
  };
15
- /**
16
- * Check if a state is terminal (no further transitions possible)
17
- */
18
12
  export function isTerminalState(state) {
19
13
  return STATE_TRANSITIONS[state].length === 0;
20
14
  }
21
- /**
22
- * Check if a state transition is valid
23
- */
24
15
  export function isValidTransition(from, to) {
25
16
  return STATE_TRANSITIONS[from].includes(to);
26
17
  }
27
- /**
28
- * Delegation state machine
29
- */
30
18
  export class DelegationStateMachine {
31
19
  state = 'created';
32
20
  constructor(initialState) {
@@ -62,9 +50,6 @@ export class DelegationStateMachine {
62
50
  newState: this.state,
63
51
  };
64
52
  }
65
- forceState(state) {
66
- this.state = state;
67
- }
68
53
  getTargetState(event) {
69
54
  switch (event.type) {
70
55
  case 'SEND_INVITE':
@@ -91,25 +76,19 @@ export class DelegationStateMachine {
91
76
  }
92
77
  }
93
78
  }
94
- /**
95
- * Create a new delegation record
96
- */
97
79
  export function createDelegation(params) {
98
80
  const now = new Date().toISOString();
99
81
  return {
100
82
  id: params.id,
101
83
  state: 'created',
102
84
  peerUrl: params.peerUrl,
103
- localDir: params.localDir,
85
+ environment: params.environment,
104
86
  task: params.task,
105
87
  leaseConfig: params.leaseConfig,
106
88
  createdAt: now,
107
89
  updatedAt: now,
108
90
  };
109
91
  }
110
- /**
111
- * Update delegation with message data
112
- */
113
92
  export function applyMessageToDelegation(delegation, message) {
114
93
  const updated = { ...delegation, updatedAt: new Date().toISOString() };
115
94
  switch (message.type) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/state-machine/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/state-machine/index.ts"],"names":[],"mappings":"AAYA,MAAM,iBAAiB,GAA+C;IACpE,OAAO,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC;IAC1C,OAAO,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC;IACtD,QAAQ,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC;IACtD,OAAO,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC;IAC1C,OAAO,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC;IACvD,SAAS,EAAE,EAAE;IACb,KAAK,EAAE,EAAE;IACT,SAAS,EAAE,EAAE;IACb,OAAO,EAAE,EAAE;CACZ,CAAC;AAEF,MAAM,UAAU,eAAe,CAAC,KAAsB;IACpD,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,IAAqB,EACrB,EAAmB;IAEnB,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAC9C,CAAC;AAmBD,MAAM,OAAO,sBAAsB;IACzB,KAAK,GAAoB,SAAS,CAAC;IAE3C,YAAY,YAA8B;QACxC,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,UAAU;QACR,OAAO,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,UAAU,CAAC,KAAsB;QAC/B,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAE/C,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,QAAQ,EAAE,IAAI,CAAC,KAAK;gBACpB,KAAK,EAAE,iBAAiB,KAAK,CAAC,IAAI,cAAc,IAAI,CAAC,KAAK,EAAE;aAC7D,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,CAAC;YAChD,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,QAAQ,EAAE,IAAI,CAAC,KAAK;gBACpB,KAAK,EAAE,2BAA2B,IAAI,CAAC,KAAK,OAAO,WAAW,EAAE;aACjE,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC;QACzB,OAAO;YACL,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI,CAAC,KAAK;SACrB,CAAC;IACJ,CAAC;IAEO,cAAc,CAAC,KAAsB;QAC3C,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,aAAa;gBAChB,OAAO,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;YAErD,KAAK,gBAAgB;gBACnB,OAAO,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;YAEtD,KAAK,YAAY;gBACf,OAAO,IAAI,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;YAEtD,KAAK,gBAAgB;gBACnB,OAAO,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;YAErD,KAAK,cAAc;gBACjB,OAAO,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;YAEvD,KAAK,eAAe,CAAC;YACrB,KAAK,YAAY;gBACf,OAAO,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;YAEtD,KAAK,QAAQ;gBACX,OAAO,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC;YAE1D,KAAK,QAAQ;gBACX,OAAO,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;oBAC5D,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,IAAI,CAAC;YAEX;gBACE,OAAO,IAAI,CAAC;QAChB,CAAC;IACH,CAAC;CACF;AAED,MAAM,UAAU,gBAAgB,CAAC,MAMhC;IACC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,KAAK,EAAE,SAAS;QAChB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,SAAS,EAAE,GAAG;QACd,SAAS,EAAE,GAAG;KACf,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,UAAsB,EACtB,OAAoB;IAEpB,MAAM,OAAO,GAAG,EAAE,GAAG,UAAU,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;IAEvE,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,QAAQ;YACX,OAAO,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;YAClD,OAAO,CAAC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;YAC1D,MAAM;QAER,KAAK,OAAO;YACV,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC;YACpC,MAAM;QAER,KAAK,MAAM;YACT,OAAO,CAAC,MAAM,GAAG;gBACf,OAAO,EAAE,OAAO,CAAC,YAAY;gBAC7B,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,KAAK,EAAE,OAAO,CAAC,KAAK;aACrB,CAAC;YACF,MAAM;QAER,KAAK,OAAO;YACV,OAAO,CAAC,KAAK,GAAG;gBACd,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,IAAI,EAAE,OAAO,CAAC,IAAI;aACnB,CAAC;YACF,MAAM;IACV,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1,3 +1,5 @@
1
1
  export * from './messages.js';
2
2
  export * from './transport.js';
3
+ export * from './service.js';
4
+ export * from './listener.js';
3
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC"}
@@ -1,3 +1,5 @@
1
1
  export * from './messages.js';
2
2
  export * from './transport.js';
3
+ export * from './service.js';
4
+ export * from './listener.js';
3
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Listener Adapter Interface
3
+ *
4
+ * Connection layer abstraction for receiving requests.
5
+ */
6
+ import type { ExecutorRequestHandler } from './service.js';
7
+ export interface ListenerInfo {
8
+ type: string;
9
+ publicUrl: string;
10
+ }
11
+ export interface ListenerCallbacks {
12
+ onConnected?: (info: ListenerInfo) => void;
13
+ onDisconnected?: (error?: Error) => void;
14
+ onError?: (error: Error) => void;
15
+ }
16
+ /** Listener adapter for receiving Delegator requests */
17
+ export interface ListenerAdapter {
18
+ readonly type: string;
19
+ start(handler: ExecutorRequestHandler, callbacks?: ListenerCallbacks): Promise<ListenerInfo | null>;
20
+ stop(): Promise<void>;
21
+ }
22
+ //# sourceMappingURL=listener.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listener.d.ts","sourceRoot":"","sources":["../../src/types/listener.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAE3D,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IAC3C,cAAc,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;IACzC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAED,wDAAwD;AACxD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,OAAO,EAAE,sBAAsB,EAAE,SAAS,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IACpG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Listener Adapter Interface
3
+ *
4
+ * Connection layer abstraction for receiving requests.
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=listener.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listener.js","sourceRoot":"","sources":["../../src/types/listener.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -1,238 +1,161 @@
1
- /**
2
- * AWCP Protocol Version
3
- */
4
1
  export declare const PROTOCOL_VERSION: "1";
5
- /**
6
- * Message Types for AWCP Protocol
7
- */
8
2
  export type MessageType = 'INVITE' | 'ACCEPT' | 'START' | 'DONE' | 'ERROR';
9
- /**
10
- * Access modes for workspace delegation
11
- */
12
3
  export type AccessMode = 'ro' | 'rw';
13
- /**
14
- * Authentication types for AWCP protocol-level auth
15
- */
4
+ export type ResourceType = 'fs';
5
+ export interface ResourceSpec {
6
+ name: string;
7
+ type: ResourceType;
8
+ source: string;
9
+ mode: AccessMode;
10
+ /** TODO: Implement file filtering in admission control and transport */
11
+ include?: string[];
12
+ /** TODO: Implement file filtering in admission control and transport */
13
+ exclude?: string[];
14
+ }
15
+ export interface EnvironmentSpec {
16
+ resources: ResourceSpec[];
17
+ }
16
18
  export type AuthType = 'api_key' | 'bearer' | 'oauth2' | 'custom';
17
- /**
18
- * Authentication credential in INVITE message
19
- */
20
19
  export interface AuthCredential {
21
20
  type: AuthType;
22
21
  credential: string;
22
+ /** TODO: Implement auth metadata handling */
23
23
  metadata?: Record<string, string>;
24
24
  }
25
- /**
26
- * Transport types for data plane
27
- */
28
- export type TransportType = 'sshfs' | 'archive';
29
- /**
30
- * Delegation lifecycle states
31
- */
25
+ export type TransportType = 'sshfs' | 'archive' | 'storage';
32
26
  export type DelegationState = 'created' | 'invited' | 'accepted' | 'started' | 'running' | 'completed' | 'error' | 'cancelled' | 'expired';
33
- /**
34
- * Task description for delegation
35
- */
36
27
  export interface TaskSpec {
37
28
  description: string;
38
29
  prompt: string;
39
30
  }
40
- /**
41
- * Lease configuration
42
- */
43
31
  export interface LeaseConfig {
44
32
  ttlSeconds: number;
45
33
  accessMode: AccessMode;
46
34
  }
47
- /**
48
- * Active lease information (after START)
49
- */
50
35
  export interface ActiveLease {
51
36
  expiresAt: string;
52
37
  accessMode: AccessMode;
53
38
  }
54
- /**
55
- * Workspace specification in INVITE
56
- */
57
- export interface WorkspaceSpec {
58
- exportName: string;
59
- }
60
- /**
61
- * Requirements for Executor to check
62
- */
63
39
  export interface Requirements {
64
40
  transport?: TransportType;
65
41
  }
66
- /**
67
- * Executor work directory specification in ACCEPT
68
- */
69
42
  export interface ExecutorWorkDir {
70
43
  path: string;
71
44
  }
72
- /**
73
- * Sandbox profile - capability declaration by Executor
74
- */
45
+ /** TODO: Implement sandbox enforcement in executor */
75
46
  export interface SandboxProfile {
76
47
  cwdOnly?: boolean;
77
48
  allowNetwork?: boolean;
78
49
  allowExec?: boolean;
79
50
  }
80
- /**
81
- * Executor constraints in ACCEPT
82
- */
83
51
  export interface ExecutorConstraints {
84
52
  acceptedAccessMode?: AccessMode;
53
+ /** TODO: Implement TTL validation in delegator before START */
85
54
  maxTtlSeconds?: number;
86
55
  sandboxProfile?: SandboxProfile;
87
56
  }
88
- /**
89
- * SSH endpoint for SSHFS transport
90
- */
91
57
  export interface SshEndpoint {
92
58
  host: string;
93
59
  port: number;
94
60
  user: string;
95
61
  }
96
- /**
97
- * SSH credential for certificate-based authentication
98
- */
99
62
  export interface SshCredential {
100
63
  privateKey: string;
101
64
  certificate: string;
102
65
  }
103
- /**
104
- * Work directory information in START message
105
- */
106
- export interface WorkDirInfo {
107
- transport: TransportType;
108
- [key: string]: unknown;
109
- }
110
- /**
111
- * SSHFS-specific work directory information
112
- */
113
- export interface SshfsWorkDirInfo extends WorkDirInfo {
66
+ export interface SshfsWorkDirInfo {
114
67
  transport: 'sshfs';
115
68
  endpoint: SshEndpoint;
116
69
  exportLocator: string;
117
70
  credential: SshCredential;
118
71
  options?: Record<string, string>;
119
72
  }
120
- /**
121
- * Archive-specific work directory information
122
- */
123
- export interface ArchiveWorkDirInfo extends WorkDirInfo {
73
+ export interface ArchiveWorkDirInfo {
124
74
  transport: 'archive';
125
75
  workspaceBase64: string;
126
76
  checksum: string;
127
77
  }
128
- /**
129
- * Base message structure
130
- */
78
+ export interface StorageWorkDirInfo {
79
+ transport: 'storage';
80
+ downloadUrl: string;
81
+ uploadUrl: string;
82
+ checksum: string;
83
+ expiresAt: string;
84
+ headers?: Record<string, string>;
85
+ }
86
+ export type WorkDirInfo = SshfsWorkDirInfo | ArchiveWorkDirInfo | StorageWorkDirInfo;
131
87
  export interface BaseMessage {
132
88
  version: typeof PROTOCOL_VERSION;
133
89
  type: MessageType;
134
90
  delegationId: string;
135
91
  }
136
- /**
137
- * INVITE message: Delegator → Executor
138
- */
92
+ /** INVITE message: Delegator → Executor */
139
93
  export interface InviteMessage extends BaseMessage {
140
94
  type: 'INVITE';
141
95
  task: TaskSpec;
142
96
  lease: LeaseConfig;
143
- workspace: WorkspaceSpec;
97
+ environment: EnvironmentSpec;
144
98
  requirements?: Requirements;
145
99
  auth?: AuthCredential;
146
100
  }
147
- /**
148
- * ACCEPT message: Executor → Delegator
149
- */
101
+ /** ACCEPT message: Executor → Delegator */
150
102
  export interface AcceptMessage extends BaseMessage {
151
103
  type: 'ACCEPT';
152
104
  executorWorkDir: ExecutorWorkDir;
153
105
  executorConstraints?: ExecutorConstraints;
154
106
  }
155
- /**
156
- * START message: Delegator → Executor
157
- */
107
+ /** START message: Delegator → Executor */
158
108
  export interface StartMessage extends BaseMessage {
159
109
  type: 'START';
160
110
  lease: ActiveLease;
161
111
  workDir: WorkDirInfo;
162
112
  }
163
- /**
164
- * DONE message: Executor → Delegator (via SSE)
165
- */
113
+ /** DONE message: Executor → Delegator (via SSE) */
166
114
  export interface DoneMessage extends BaseMessage {
167
115
  type: 'DONE';
168
116
  finalSummary: string;
169
117
  highlights?: string[];
170
118
  notes?: string;
171
119
  }
172
- /**
173
- * ERROR message: Either direction
174
- */
120
+ /** ERROR message: Either direction */
175
121
  export interface ErrorMessage extends BaseMessage {
176
122
  type: 'ERROR';
177
123
  code: string;
178
124
  message: string;
179
125
  hint?: string;
180
126
  }
181
- /**
182
- * Union type for all AWCP messages
183
- */
184
127
  export type AwcpMessage = InviteMessage | AcceptMessage | StartMessage | DoneMessage | ErrorMessage;
185
- /**
186
- * Task event types for SSE streaming
187
- */
188
128
  export type TaskEventType = 'status' | 'done' | 'error';
189
- /**
190
- * Base task event structure
191
- */
192
129
  export interface BaseTaskEvent {
193
130
  delegationId: string;
194
131
  type: TaskEventType;
195
132
  timestamp: string;
196
133
  }
197
- /**
198
- * Status update event
199
- */
200
134
  export interface TaskStatusEvent extends BaseTaskEvent {
201
135
  type: 'status';
202
136
  status: 'running' | 'progress';
203
137
  message?: string;
138
+ /** TODO: Implement progress tracking in executor */
204
139
  progress?: number;
205
140
  }
206
- /**
207
- * Task completion event
208
- */
209
141
  export interface TaskDoneEvent extends BaseTaskEvent {
210
142
  type: 'done';
211
143
  summary: string;
212
144
  highlights?: string[];
213
145
  resultBase64?: string;
214
146
  }
215
- /**
216
- * Task error event
217
- */
218
147
  export interface TaskErrorEvent extends BaseTaskEvent {
219
148
  type: 'error';
220
149
  code: string;
221
150
  message: string;
222
151
  hint?: string;
223
152
  }
224
- /**
225
- * Union type for all task events
226
- */
227
153
  export type TaskEvent = TaskStatusEvent | TaskDoneEvent | TaskErrorEvent;
228
- /**
229
- * Delegation record - full state of a delegation
230
- */
231
154
  export interface Delegation {
232
155
  id: string;
233
156
  state: DelegationState;
234
157
  peerUrl: string;
235
- localDir: string;
158
+ environment: EnvironmentSpec;
236
159
  exportPath?: string;
237
160
  task: TaskSpec;
238
161
  leaseConfig: LeaseConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/types/messages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/types/messages.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,EAAG,GAAY,CAAC;AAE7C,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3E,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,CAAC;AAErC,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC;AAEhC,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,UAAU,CAAC;IACjB,wEAAwE;IACxE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,wEAAwE;IACxE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,YAAY,EAAE,CAAC;CAC3B;AAED,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAElE,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;AAE5D,MAAM,MAAM,eAAe,GACvB,SAAS,GACT,SAAS,GACT,UAAU,GACV,SAAS,GACT,SAAS,GACT,WAAW,GACX,OAAO,GACP,WAAW,GACX,SAAS,CAAC;AAEd,MAAM,WAAW,QAAQ;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,UAAU,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,UAAU,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,aAAa,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,sDAAsD;AACtD,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,kBAAkB,CAAC,EAAE,UAAU,CAAC;IAChC,+DAA+D;IAC/D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,WAAW,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,aAAa,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,SAAS,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,MAAM,MAAM,WAAW,GAAG,gBAAgB,GAAG,kBAAkB,GAAG,kBAAkB,CAAC;AAErF,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,gBAAgB,CAAC;IACjC,IAAI,EAAE,WAAW,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,2CAA2C;AAC3C,MAAM,WAAW,aAAc,SAAQ,WAAW;IAChD,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,WAAW,CAAC;IACnB,WAAW,EAAE,eAAe,CAAC;IAC7B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,IAAI,CAAC,EAAE,cAAc,CAAC;CACvB;AAED,2CAA2C;AAC3C,MAAM,WAAW,aAAc,SAAQ,WAAW;IAChD,IAAI,EAAE,QAAQ,CAAC;IACf,eAAe,EAAE,eAAe,CAAC;IACjC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AAED,0CAA0C;AAC1C,MAAM,WAAW,YAAa,SAAQ,WAAW;IAC/C,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,WAAW,CAAC;CACtB;AAED,mDAAmD;AACnD,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,sCAAsC;AACtC,MAAM,WAAW,YAAa,SAAQ,WAAW;IAC/C,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,WAAW,GACnB,aAAa,GACb,aAAa,GACb,YAAY,GACZ,WAAW,GACX,YAAY,CAAC;AAIjB,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAExD,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,aAAa,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAgB,SAAQ,aAAa;IACpD,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,SAAS,GAAG,UAAU,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAc,SAAQ,aAAa;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAe,SAAQ,aAAa;IACnD,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,SAAS,GAAG,eAAe,GAAG,aAAa,GAAG,cAAc,CAAC;AAIzE,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,eAAe,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,eAAe,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,QAAQ,CAAC;IACf,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,MAAM,CAAC,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB"}
@@ -1,5 +1,2 @@
1
- /**
2
- * AWCP Protocol Version
3
- */
4
1
  export const PROTOCOL_VERSION = '1';
5
2
  //# sourceMappingURL=messages.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/types/messages.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAY,CAAC"}
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/types/messages.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAY,CAAC"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Service Interfaces
3
+ */
4
+ import type { AwcpMessage, TaskEvent, EnvironmentSpec, TaskSpec, AccessMode, AuthCredential, Delegation } from './messages.js';
5
+ export interface TaskExecutionContext {
6
+ delegationId: string;
7
+ workPath: string;
8
+ task: TaskSpec;
9
+ environment: EnvironmentSpec;
10
+ }
11
+ export interface TaskExecutionResult {
12
+ summary: string;
13
+ highlights?: string[];
14
+ }
15
+ export interface TaskExecutor {
16
+ execute(context: TaskExecutionContext): Promise<TaskExecutionResult>;
17
+ }
18
+ export interface DelegationStatusInfo {
19
+ id: string;
20
+ workPath: string;
21
+ startedAt: string;
22
+ }
23
+ export interface ExecutorServiceStatus {
24
+ pendingInvitations: number;
25
+ activeDelegations: number;
26
+ delegations: DelegationStatusInfo[];
27
+ }
28
+ export interface ExecutorRequestHandler {
29
+ handleMessage(message: AwcpMessage): Promise<AwcpMessage | null>;
30
+ subscribeTask(delegationId: string, callback: (event: TaskEvent) => void): () => void;
31
+ cancelDelegation(delegationId: string): Promise<void>;
32
+ getStatus(): ExecutorServiceStatus;
33
+ }
34
+ export interface DelegateParams {
35
+ executorUrl: string;
36
+ environment: EnvironmentSpec;
37
+ task: TaskSpec;
38
+ ttlSeconds?: number;
39
+ accessMode?: AccessMode;
40
+ auth?: AuthCredential;
41
+ }
42
+ export interface DelegatorDelegationInfo {
43
+ id: string;
44
+ state: string;
45
+ executorUrl: string;
46
+ environment: EnvironmentSpec;
47
+ createdAt: string;
48
+ }
49
+ export interface DelegatorServiceStatus {
50
+ activeDelegations: number;
51
+ delegations: DelegatorDelegationInfo[];
52
+ }
53
+ export interface DelegatorRequestHandler {
54
+ delegate(params: DelegateParams): Promise<string>;
55
+ cancel(delegationId: string): Promise<void>;
56
+ getDelegation(delegationId: string): Delegation | undefined;
57
+ getStatus(): DelegatorServiceStatus;
58
+ }
59
+ //# sourceMappingURL=service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/types/service.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,SAAS,EACT,eAAe,EACf,QAAQ,EACR,UAAU,EACV,cAAc,EACd,UAAU,EACX,MAAM,eAAe,CAAC;AAIvB,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAC;IACf,WAAW,EAAE,eAAe,CAAC;CAC9B;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACtE;AAID,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,oBAAoB,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,sBAAsB;IACrC,aAAa,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IACjE,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IACtF,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,SAAS,IAAI,qBAAqB,CAAC;CACpC;AAID,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,eAAe,CAAC;IAC7B,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,IAAI,CAAC,EAAE,cAAc,CAAC;CACvB;AAED,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,eAAe,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,uBAAuB,EAAE,CAAC;CACxC;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAClD,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IAC5D,SAAS,IAAI,sBAAsB,CAAC;CACrC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Service Interfaces
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/types/service.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -1,102 +1,55 @@
1
1
  /**
2
- * Transport Adapter Interface
3
- *
4
- * Abstract interface that all transport implementations must implement.
5
- * This enables pluggable transports (sshfs, archive, webdav, etc.)
2
+ * Transport Adapter Interfaces
6
3
  */
7
4
  import type { TransportType, WorkDirInfo } from './messages.js';
8
- /**
9
- * Parameters for preparing a transport on Delegator side
10
- */
11
5
  export interface TransportPrepareParams {
12
6
  delegationId: string;
13
7
  exportPath: string;
14
8
  ttlSeconds: number;
15
9
  }
16
- /**
17
- * Result from transport preparation
18
- */
19
10
  export interface TransportPrepareResult {
20
11
  workDirInfo: WorkDirInfo;
21
12
  }
22
- /**
23
- * Parameters for setting up workspace on Executor side
24
- */
25
13
  export interface TransportSetupParams {
26
14
  delegationId: string;
27
15
  workDirInfo: WorkDirInfo;
28
16
  workDir: string;
29
17
  }
30
- /**
31
- * Parameters for tearing down workspace on Executor side
32
- */
33
18
  export interface TransportTeardownParams {
34
19
  delegationId: string;
35
20
  workDir: string;
36
21
  }
37
- /**
38
- * Result from transport teardown (optional result data)
39
- */
40
22
  export interface TransportTeardownResult {
41
23
  resultBase64?: string;
42
24
  }
43
- /**
44
- * Dependency check result
45
- */
25
+ export interface ResourceMapping {
26
+ name: string;
27
+ source: string;
28
+ mode: 'ro' | 'rw';
29
+ }
30
+ export interface TransportApplyResultParams {
31
+ delegationId: string;
32
+ resultData: string;
33
+ resources: ResourceMapping[];
34
+ }
46
35
  export interface DependencyCheckResult {
47
36
  available: boolean;
48
37
  hint?: string;
49
38
  }
50
- /**
51
- * Transport Adapter Interface
52
- *
53
- * All transport implementations (sshfs, archive, etc.) must implement this interface.
54
- *
55
- * Lifecycle:
56
- * - Delegator: prepare() -> [task runs] -> cleanup()
57
- * - Executor: checkDependency() -> setup() -> [task runs] -> teardown()
58
- */
59
- export interface TransportAdapter {
60
- readonly type: TransportType;
61
- /**
62
- * Prepare the transport for a delegation.
63
- * Called after ACCEPT received, before sending START.
64
- */
65
- prepare(params: TransportPrepareParams): Promise<TransportPrepareResult>;
66
- /**
67
- * Clean up resources for a delegation.
68
- * Called after task completion or on expiration.
69
- */
70
- cleanup(delegationId: string): Promise<void>;
71
- /**
72
- * Check if transport dependencies are available.
73
- */
74
- checkDependency(): Promise<DependencyCheckResult>;
75
- /**
76
- * Set up the workspace for task execution.
77
- * Called after START received.
78
- */
79
- setup(params: TransportSetupParams): Promise<string>;
80
- /**
81
- * Tear down the workspace after task completion.
82
- */
83
- teardown(params: TransportTeardownParams): Promise<TransportTeardownResult>;
84
- }
85
- /**
86
- * Transport adapter for Delegator side only
87
- */
39
+ /** Transport adapter for Delegator side */
88
40
  export interface DelegatorTransportAdapter {
89
41
  readonly type: TransportType;
90
42
  prepare(params: TransportPrepareParams): Promise<TransportPrepareResult>;
43
+ applyResult?(params: TransportApplyResultParams): Promise<void>;
91
44
  cleanup(delegationId: string): Promise<void>;
92
45
  }
93
- /**
94
- * Transport adapter for Executor side only
95
- */
46
+ /** Transport adapter for Executor side */
96
47
  export interface ExecutorTransportAdapter {
97
48
  readonly type: TransportType;
98
49
  checkDependency(): Promise<DependencyCheckResult>;
99
50
  setup(params: TransportSetupParams): Promise<string>;
100
51
  teardown(params: TransportTeardownParams): Promise<TransportTeardownResult>;
101
52
  }
53
+ /** Full transport adapter implementing both sides */
54
+ export type TransportAdapter = DelegatorTransportAdapter & ExecutorTransportAdapter;
102
55
  //# sourceMappingURL=transport.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/types/transport.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAI7B;;;OAGG;IACH,OAAO,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAEzE;;;OAGG;IACH,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAI7C;;OAEG;IACH,eAAe,IAAI,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAElD;;;OAGG;IACH,KAAK,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAErD;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;CAC7E;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,OAAO,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACzE,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9C;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,eAAe,IAAI,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAClD,KAAK,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACrD,QAAQ,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;CAC7E"}
1
+ {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/types/transport.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEhE,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,uBAAuB;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,uBAAuB;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;CACnB;AAED,MAAM,WAAW,0BAA0B;IACzC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,eAAe,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,2CAA2C;AAC3C,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,OAAO,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACzE,WAAW,CAAC,CAAC,MAAM,EAAE,0BAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChE,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9C;AAED,0CAA0C;AAC1C,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,eAAe,IAAI,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAClD,KAAK,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACrD,QAAQ,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;CAC7E;AAED,qDAAqD;AACrD,MAAM,MAAM,gBAAgB,GAAG,yBAAyB,GAAG,wBAAwB,CAAC"}
@@ -1,8 +1,5 @@
1
1
  /**
2
- * Transport Adapter Interface
3
- *
4
- * Abstract interface that all transport implementations must implement.
5
- * This enables pluggable transports (sshfs, archive, webdav, etc.)
2
+ * Transport Adapter Interfaces
6
3
  */
7
4
  export {};
8
5
  //# sourceMappingURL=transport.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/types/transport.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/types/transport.ts"],"names":[],"mappings":"AAAA;;GAEG"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@awcp/core",
3
- "version": "0.0.8",
3
+ "version": "0.0.10",
4
4
  "description": "AWCP Protocol Core - Types, State Machine, and Error Definitions",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",