@moorline/contracts 0.0.2 → 0.0.3

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.
@@ -1,4 +1,4 @@
1
- export declare const CAPABILITIES: readonly ["command.exec", "fs.read", "fs.write", "memory.read", "memory.write", "session.inspect", "session.create", "session.direct", "session.archive", "session.delete", "package.state.read", "package.state.write", "package.job.manage", "package.work.manage", "provider.headless.run", "net.connect", "runtime.control", "sidecar.manage", "transport.message.send", "transport.action.register", "transport.resource.create", "transport.resource.update", "transport.resource.delete", "transport.native.action.map", "transport.native.interaction"];
1
+ export declare const CAPABILITIES: readonly ["command.exec", "fs.read", "fs.write", "memory.read", "memory.write", "session.inspect", "session.create", "session.direct", "session.archive", "session.resume", "session.delete", "package.state.read", "package.state.write", "package.job.manage", "package.work.manage", "provider.headless.run", "net.connect", "runtime.control", "sidecar.manage", "transport.message.send", "transport.action.register", "transport.actions.register", "transport.presence.set", "transport.resource.create", "transport.resource.update", "transport.resource.delete", "transport.native.action.map", "transport.native.interaction"];
2
2
  export type CoreCapability = (typeof CAPABILITIES)[number];
3
3
  export type PackageLocalCapability = `package:${string}`;
4
4
  export type Capability = CoreCapability | PackageLocalCapability;
@@ -8,6 +8,7 @@ export const CAPABILITIES = [
8
8
  'session.create',
9
9
  'session.direct',
10
10
  'session.archive',
11
+ 'session.resume',
11
12
  'session.delete',
12
13
  'package.state.read',
13
14
  'package.state.write',
@@ -19,6 +20,8 @@ export const CAPABILITIES = [
19
20
  'sidecar.manage',
20
21
  'transport.message.send',
21
22
  'transport.action.register',
23
+ 'transport.actions.register',
24
+ 'transport.presence.set',
22
25
  'transport.resource.create',
23
26
  'transport.resource.update',
24
27
  'transport.resource.delete',
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,cAAc;IACd,SAAS;IACT,UAAU;IACV,aAAa;IACb,cAAc;IACd,iBAAiB;IACjB,gBAAgB;IAChB,gBAAgB;IAChB,iBAAiB;IACjB,gBAAgB;IAChB,oBAAoB;IACpB,qBAAqB;IACrB,oBAAoB;IACpB,qBAAqB;IACrB,uBAAuB;IACvB,aAAa;IACb,iBAAiB;IACjB,gBAAgB;IAChB,wBAAwB;IACxB,2BAA2B;IAC3B,2BAA2B;IAC3B,2BAA2B;IAC3B,2BAA2B;IAC3B,6BAA6B;IAC7B,8BAA8B;CACtB,CAAC;AAMX,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,OAAQ,YAAkC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AAC7F,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,KAAa;IACpD,OAAO,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,SAAiB,EAAE,UAAsB;IAC7E,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,UAAU,CAAC,UAAU,CAAC,WAAW,SAAS,GAAG,CAAC,CAAC;AACxD,CAAC"}
1
+ {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,cAAc;IACd,SAAS;IACT,UAAU;IACV,aAAa;IACb,cAAc;IACd,iBAAiB;IACjB,gBAAgB;IAChB,gBAAgB;IAChB,iBAAiB;IACjB,gBAAgB;IAChB,gBAAgB;IAChB,oBAAoB;IACpB,qBAAqB;IACrB,oBAAoB;IACpB,qBAAqB;IACrB,uBAAuB;IACvB,aAAa;IACb,iBAAiB;IACjB,gBAAgB;IAChB,wBAAwB;IACxB,2BAA2B;IAC3B,4BAA4B;IAC5B,wBAAwB;IACxB,2BAA2B;IAC3B,2BAA2B;IAC3B,2BAA2B;IAC3B,6BAA6B;IAC7B,8BAA8B;CACtB,CAAC;AAMX,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,OAAQ,YAAkC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AAC7F,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,KAAa;IACpD,OAAO,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,SAAiB,EAAE,UAAsB;IAC7E,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,UAAU,CAAC,UAAU,CAAC,WAAW,SAAS,GAAG,CAAC,CAAC;AACxD,CAAC"}
@@ -2,7 +2,7 @@ import type { Capability } from './capabilities.js';
2
2
  import type { JsonSchemaLike } from './package.js';
3
3
  import type { PluginManifest, RuntimeManagementContribution } from './plugin.js';
4
4
  import type { RuntimeProviderTestResult } from './provider.js';
5
- import type { RuntimeActionDefinition, RuntimeActorIdentity, RuntimeAttachmentPayload, RuntimeMessagePayload, RuntimeSurfaceState, RuntimeTransportEvent } from './transport.js';
5
+ import type { RuntimeActionDefinition, RuntimeActorIdentity, RuntimeAttachmentPayload, RuntimeMessagePayload, RuntimeSurfaceState, RuntimeTransportIntent } from './transport.js';
6
6
  import type { PendingRuntimeRequestRecord, ProviderResumeCursor, ProviderRuntimeEvent, ProviderSessionStatus, ProviderThreadTokenUsage, RuntimeAgentKind, RuntimeModeName } from './runtime.js';
7
7
  import type { RuntimeExternalResourceRecord, RuntimeExternalResourceRef, RuntimeGateRunRecord, RuntimeHeadlessRunResult, RuntimeWorkItemRecord, RuntimeWorkItemStatus } from './external.js';
8
8
  export interface RuntimeDomainEvent {
@@ -417,6 +417,11 @@ export interface RuntimeToolContext {
417
417
  session: RuntimeSessionRow;
418
418
  reply: RuntimeMessagePayload;
419
419
  }>;
420
+ resumeSession(input: {
421
+ transportResourceId?: string;
422
+ sessionId?: string;
423
+ reason?: string;
424
+ }): Promise<RuntimeSessionRow | null>;
420
425
  archiveSession(input: {
421
426
  transportResourceId: string;
422
427
  sessionId?: string;
@@ -613,12 +618,12 @@ export interface RuntimePlugin {
613
618
  managementContributions?(context: RuntimePluginContext): RuntimeManagementContribution[];
614
619
  tools?(context: RuntimeToolContext): RuntimeToolDefinition[];
615
620
  onRuntimeStarted?(context: RuntimePluginContext): Promise<void> | void;
616
- onTransportEvent?(event: RuntimeTransportEvent, context: RuntimePluginContext): Promise<RuntimeActionDispatchResult | boolean | void> | RuntimeActionDispatchResult | boolean | void;
617
- onExternalEvent?(event: Extract<RuntimeTransportEvent, {
618
- type: 'external.event.received';
621
+ onTransportIntent?(intent: RuntimeTransportIntent, context: RuntimePluginContext): Promise<RuntimeActionDispatchResult | boolean | void> | RuntimeActionDispatchResult | boolean | void;
622
+ onExternalEvent?(event: Extract<RuntimeTransportIntent, {
623
+ type: 'transport.external.received';
619
624
  }>, context: RuntimePluginContext): Promise<RuntimeActionDispatchResult | boolean | void> | RuntimeActionDispatchResult | boolean | void;
620
- onAction?(event: Extract<RuntimeTransportEvent, {
621
- type: 'action.invoked';
625
+ onAction?(event: Extract<RuntimeTransportIntent, {
626
+ type: 'transport.action.invoked';
622
627
  }>, context: RuntimePluginContext): Promise<RuntimeActionDispatchResult | boolean | void> | RuntimeActionDispatchResult | boolean | void;
623
628
  onRuntimeEvent?(event: ProviderRuntimeEvent, context: RuntimePluginContext): Promise<void> | void;
624
629
  contributeAgentContext?(input: BeforeAgentPromptInput, context: RuntimePluginContext): Promise<RuntimeAgentContextContribution> | RuntimeAgentContextContribution;
package/dist/plugin.d.ts CHANGED
@@ -26,5 +26,5 @@ export interface RuntimeManagementContribution {
26
26
  }
27
27
  export type { RuntimeActionDefinition };
28
28
  export * from './plugin-runtime.js';
29
- export declare const KNOWN_PLUGIN_HOOKS: readonly ["onRuntimeStarted", "onTransportEvent", "onExternalEvent", "onAction", "onRuntimeEvent", "contributeAgentContext", "afterAgentResponse", "onDomainEvent", "onRuntimeReceipt", "onRuntimeActivity"];
29
+ export declare const KNOWN_PLUGIN_HOOKS: readonly ["onRuntimeStarted", "onTransportIntent", "onExternalEvent", "onAction", "onRuntimeEvent", "contributeAgentContext", "afterAgentResponse", "onDomainEvent", "onRuntimeReceipt", "onRuntimeActivity"];
30
30
  export declare function validatePluginManifest(manifest: PluginManifest): PluginManifest;
package/dist/plugin.js CHANGED
@@ -3,7 +3,7 @@ import { isCapability, packageOwnsCapability } from './capabilities.js';
3
3
  export * from './plugin-runtime.js';
4
4
  export const KNOWN_PLUGIN_HOOKS = [
5
5
  'onRuntimeStarted',
6
- 'onTransportEvent',
6
+ 'onTransportIntent',
7
7
  'onExternalEvent',
8
8
  'onAction',
9
9
  'onRuntimeEvent',
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,9 @@
1
1
  import type { JsonSchemaLike, PackageDependency, PackageManifestBase } from './package.js';
2
- import type { RuntimeCommandRunner } from './runtime.js';
2
+ import type { RuntimeCommandRunner, RuntimeModeName } from './runtime.js';
3
3
  import type { RuntimeExternalResourceRef } from './external.js';
4
4
  export type RuntimeScopeId = string;
5
5
  export type RuntimeTransportResourceId = string;
6
6
  export type RuntimeThreadId = string;
7
- export interface RuntimeSurfaceNames {
8
- mainCategoryName: string;
9
- coordinationResourceName: string;
10
- statusResourceName: string;
11
- sessionsGroupName: string;
12
- archiveGroupName: string;
13
- }
14
7
  export interface ManagedAdminAccessGroupConfig {
15
8
  enabled: boolean;
16
9
  name: string;
@@ -36,17 +29,9 @@ export interface RuntimeAccessGroupInput {
36
29
  }
37
30
  export interface RuntimeSurfaceState {
38
31
  scopeId?: string;
39
- mainCategoryId: string;
40
- coordinationResourceId: string;
41
- statusResourceId: string;
42
- sessionsCategoryId: string;
43
- archiveCategoryId: string;
44
- adminAccessGroupId?: string;
45
- memberAccessGroupId?: string;
46
- adminAccessGroupName?: string;
47
- memberAccessGroupName?: string;
48
- adminAccessGroupSyncedAt?: string;
49
- memberAccessGroupSyncedAt?: string;
32
+ surfaceId: string;
33
+ statusResourceId?: string;
34
+ coordinationResourceId?: string;
50
35
  createdAt: string;
51
36
  updatedAt: string;
52
37
  metadata?: Record<string, unknown>;
@@ -54,7 +39,6 @@ export interface RuntimeSurfaceState {
54
39
  export interface RuntimeSurfaceBootstrapInput {
55
40
  scopeId?: RuntimeScopeId;
56
41
  actorId?: string;
57
- names?: Partial<RuntimeSurfaceNames>;
58
42
  managedAdminAccessGroup?: ManagedAdminAccessGroupConfig;
59
43
  managedMemberAccessGroup?: ManagedMemberAccessGroupConfig;
60
44
  explicitAdminRoleIds?: string[];
@@ -77,6 +61,11 @@ export interface RuntimeTransportResourceRecord {
77
61
  parentId: RuntimeTransportResourceId | null;
78
62
  metadata?: Record<string, unknown>;
79
63
  }
64
+ export interface RuntimeTransportSessionOwner {
65
+ kind: 'run' | 'work_item' | 'external_resource' | 'operator';
66
+ id: string;
67
+ label?: string;
68
+ }
80
69
  export interface RuntimeAttachmentPayload {
81
70
  kind: 'file' | 'image' | 'link';
82
71
  path?: string;
@@ -128,29 +117,56 @@ export interface RuntimeNativeInteraction {
128
117
  id?: string;
129
118
  payload?: unknown;
130
119
  }
131
- export type RuntimeTransportEvent = {
132
- type: 'message.received';
120
+ export interface RuntimeTransportIntentBase {
121
+ intentId: string;
133
122
  scopeId: RuntimeScopeId;
123
+ transportPackageId?: string;
124
+ occurredAt: string;
125
+ native?: RuntimeNativeInteraction;
126
+ metadata?: Record<string, unknown>;
127
+ }
128
+ export type RuntimeTransportIntent = {
129
+ type: 'transport.message.received';
134
130
  transportResourceId: RuntimeTransportResourceId;
135
131
  actor: RuntimeActorIdentity;
136
132
  message: RuntimeInboundMessage;
137
- } | {
138
- type: 'action.invoked';
139
- scopeId: RuntimeScopeId;
133
+ } & RuntimeTransportIntentBase | {
134
+ type: 'transport.action.invoked';
140
135
  transportResourceId?: RuntimeTransportResourceId;
141
136
  actor: RuntimeActorIdentity;
142
137
  actionId: string;
143
138
  input: Record<string, unknown>;
144
- native?: RuntimeNativeInteraction;
145
- } | {
146
- type: 'resource.lifecycle';
147
- scopeId: RuntimeScopeId;
139
+ } & RuntimeTransportIntentBase | {
140
+ type: 'transport.session.ensure';
141
+ transportResourceId: RuntimeTransportResourceId;
142
+ requestedName: string;
143
+ actor?: RuntimeActorIdentity;
144
+ runtimeMode?: RuntimeModeName;
145
+ initialMessage?: RuntimeInboundMessage;
146
+ owner?: RuntimeTransportSessionOwner;
147
+ } & RuntimeTransportIntentBase | {
148
+ type: 'transport.session.delete';
149
+ transportResourceId: RuntimeTransportResourceId;
150
+ actor?: RuntimeActorIdentity;
151
+ reason: string;
152
+ deleteWorkspace: boolean;
153
+ } & RuntimeTransportIntentBase | {
154
+ type: 'transport.session.archive';
155
+ transportResourceId: RuntimeTransportResourceId;
156
+ actor?: RuntimeActorIdentity;
157
+ reason: string;
158
+ } & RuntimeTransportIntentBase | {
159
+ type: 'transport.session.resume';
160
+ transportResourceId: RuntimeTransportResourceId;
161
+ actor?: RuntimeActorIdentity;
162
+ reason: string;
163
+ } & RuntimeTransportIntentBase | {
164
+ type: 'transport.resource.observed';
148
165
  resource: RuntimeTransportResourceRecord;
149
166
  action: 'created' | 'updated' | 'deleted';
150
167
  previous?: Partial<RuntimeTransportResourceRecord>;
151
- } | {
152
- type: 'external.event.received';
153
- scopeId: RuntimeScopeId;
168
+ } & RuntimeTransportIntentBase | {
169
+ type: 'transport.external.received';
154
170
  actor?: RuntimeActorIdentity;
155
171
  source: string;
156
172
  eventName: string;
@@ -158,7 +174,7 @@ export type RuntimeTransportEvent = {
158
174
  payload: unknown;
159
175
  receivedAt: string;
160
176
  idempotencyKey?: string;
161
- };
177
+ } & RuntimeTransportIntentBase;
162
178
  export interface RuntimeTransportAccessInput {
163
179
  authToken?: string;
164
180
  scopeId: RuntimeScopeId;
@@ -223,6 +239,39 @@ export interface RuntimeNativeActionRegistration {
223
239
  scopeId: RuntimeScopeId;
224
240
  actions: RuntimeActionDefinition[];
225
241
  }
242
+ export type RuntimeTransportEffect = {
243
+ type: 'transport.message.send';
244
+ target: RuntimeMessageTarget;
245
+ payload: RuntimeMessagePayload;
246
+ } & RuntimeTransportEffectBase | {
247
+ type: 'transport.resource.create';
248
+ input: RuntimeCreateTransportResourceInput;
249
+ } & RuntimeTransportEffectBase | {
250
+ type: 'transport.resource.update';
251
+ input: RuntimeUpdateTransportResourceInput;
252
+ } & RuntimeTransportEffectBase | {
253
+ type: 'transport.resource.delete';
254
+ input: RuntimeDeleteTransportResourceInput;
255
+ } & RuntimeTransportEffectBase | {
256
+ type: 'transport.presence.set';
257
+ input: RuntimePresenceInput;
258
+ } & RuntimeTransportEffectBase | {
259
+ type: 'transport.actions.register';
260
+ input: RuntimeNativeActionRegistration;
261
+ } & RuntimeTransportEffectBase;
262
+ export interface RuntimeTransportEffectBase {
263
+ effectId: string;
264
+ scopeId?: RuntimeScopeId;
265
+ createdAt: string;
266
+ reason?: string;
267
+ metadata?: Record<string, unknown>;
268
+ }
269
+ export interface RuntimeTransportEffectReceipt {
270
+ effectId: string;
271
+ appliedAt: string;
272
+ nativeId?: string;
273
+ metadata?: Record<string, unknown>;
274
+ }
226
275
  export interface RuntimeActionDefinition {
227
276
  id: string;
228
277
  title: string;
@@ -240,16 +289,8 @@ export interface RuntimeTransport {
240
289
  start(auth: RuntimeTransportAuth): Promise<void>;
241
290
  stop(): Promise<void>;
242
291
  capabilities(): RuntimeTransportCapabilities;
243
- onEvent(handler: (event: RuntimeTransportEvent) => Promise<void>): void;
244
- sendMessage(target: RuntimeMessageTarget, payload: RuntimeMessagePayload): Promise<RuntimeMessageReceipt>;
245
- listTransportResources?(scopeId: RuntimeScopeId): Promise<RuntimeTransportResourceRecord[]>;
246
- createTransportResource?(input: RuntimeCreateTransportResourceInput): Promise<RuntimeTransportResourceRecord>;
247
- updateTransportResource?(input: RuntimeUpdateTransportResourceInput): Promise<RuntimeTransportResourceRecord>;
248
- deleteTransportResource?(input: RuntimeDeleteTransportResourceInput): Promise<void>;
249
- setPresence?(input: RuntimePresenceInput): Promise<void>;
250
- registerNativeActions?(input: RuntimeNativeActionRegistration): Promise<void>;
251
- ensureAccessGroup?(input: RuntimeAccessGroupInput): Promise<RuntimeAccessGroupRecord>;
252
- reconcileRuntimeSurface?(input: RuntimeSurfaceBootstrapInput): Promise<RuntimeSurfaceState>;
292
+ onIntent?(handler: (intent: RuntimeTransportIntent) => Promise<void>): void;
293
+ applyEffect(effect: RuntimeTransportEffect): Promise<RuntimeTransportEffectReceipt>;
253
294
  }
254
295
  export interface TransportPackageManifest extends PackageManifestBase {
255
296
  type: 'transport';
@@ -1 +1 @@
1
- {"version":3,"file":"transport.js","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,6BAA6B,EAAE,2BAA2B,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AA2TrI,MAAM,UAAU,gCAAgC,CAAC,QAAkC;IACjF,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAClE,CAAC;IACD,MAAM,MAAM,GAAG,QAA8C,CAAC;IAC9D,iBAAiB,CAAC,MAAM,CAAC,EAAE,EAAE,+BAA+B,CAAC,CAAC;IAC9D,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QAC3D,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QACjE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IACD,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QAC/G,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;IAC5F,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QAC5G,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;IAC3F,CAAC;IACD,IACE,MAAM,CAAC,eAAe,KAAK,SAAS;QACpC,CAAC,OAAO,MAAM,CAAC,eAAe,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,EAC9E,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;IAChG,CAAC;IACD,2BAA2B,CAAC,MAAM,CAAC,YAAY,EAAE,4BAA4B,CAAC,CAAC;IAC/E,sBAAsB,CAAC,MAAM,CAAC,YAAY,EAAE,4BAA4B,CAAC,CAAC;IAC1E,MAAM,UAAU,GAAG,6BAA6B,CAAC,MAAM,CAAC,UAAU,EAAE,4BAA4B,CAAC,CAAC;IAClG,OAAO;QACL,GAAG,QAAQ;QACX,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uCAAuC,CAAC,GAA4B;IAClF,IAAI,OAAO,GAAG,CAAC,eAAe,KAAK,UAAU,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,CAAC,QAAQ,CAAC,EAAE,iCAAiC,CAAC,CAAC;IACzF,CAAC;IACD,IAAI,GAAG,CAAC,cAAc,KAAK,SAAS,IAAI,OAAO,GAAG,CAAC,cAAc,KAAK,UAAU,EAAE,CAAC;QACjF,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,CAAC,QAAQ,CAAC,EAAE,kDAAkD,CAAC,CAAC;IAC1G,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,6BAA6B,EAAE,2BAA2B,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAkXrI,MAAM,UAAU,gCAAgC,CAAC,QAAkC;IACjF,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAClE,CAAC;IACD,MAAM,MAAM,GAAG,QAA8C,CAAC;IAC9D,iBAAiB,CAAC,MAAM,CAAC,EAAE,EAAE,+BAA+B,CAAC,CAAC;IAC9D,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QAC3D,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QACjE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IACD,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QAC/G,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;IAC5F,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QAC5G,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;IAC3F,CAAC;IACD,IACE,MAAM,CAAC,eAAe,KAAK,SAAS;QACpC,CAAC,OAAO,MAAM,CAAC,eAAe,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,EAC9E,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;IAChG,CAAC;IACD,2BAA2B,CAAC,MAAM,CAAC,YAAY,EAAE,4BAA4B,CAAC,CAAC;IAC/E,sBAAsB,CAAC,MAAM,CAAC,YAAY,EAAE,4BAA4B,CAAC,CAAC;IAC1E,MAAM,UAAU,GAAG,6BAA6B,CAAC,MAAM,CAAC,UAAU,EAAE,4BAA4B,CAAC,CAAC;IAClG,OAAO;QACL,GAAG,QAAQ;QACX,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uCAAuC,CAAC,GAA4B;IAClF,IAAI,OAAO,GAAG,CAAC,eAAe,KAAK,UAAU,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,CAAC,QAAQ,CAAC,EAAE,iCAAiC,CAAC,CAAC;IACzF,CAAC;IACD,IAAI,GAAG,CAAC,cAAc,KAAK,SAAS,IAAI,OAAO,GAAG,CAAC,cAAc,KAAK,UAAU,EAAE,CAAC;QACjF,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,CAAC,QAAQ,CAAC,EAAE,kDAAkD,CAAC,CAAC;IAC1G,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moorline/contracts",
3
- "version": "0.0.2",
3
+ "version": "0.0.3",
4
4
  "description": "Moorline package and runtime contract definitions",
5
5
  "type": "module",
6
6
  "private": false,
@@ -27,5 +27,8 @@
27
27
  "type": "git",
28
28
  "url": "git+ssh://git@github.com/Moorline/moorline.git",
29
29
  "directory": "packages/contracts"
30
- }
30
+ },
31
+ "keywords": [
32
+ "moorline-package"
33
+ ]
31
34
  }