@overkill-dev/resources 0.0.11 → 0.0.13

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 (107) hide show
  1. package/attachments/attachment-context.d.ts +5 -1
  2. package/attachments/attachment-context.d.ts.map +1 -1
  3. package/attachments/attachment-context.js +10 -0
  4. package/attachments/attachment-context.js.map +1 -1
  5. package/attachments/failure-artifact-stream.js +147 -0
  6. package/attachments/failure-artifact-stream.js.map +1 -0
  7. package/attachments/json-snapshot.js +110 -0
  8. package/attachments/json-snapshot.js.map +1 -0
  9. package/attachments/resource-failure-context.js +45 -0
  10. package/attachments/resource-failure-context.js.map +1 -0
  11. package/canonical-identity.js +54 -0
  12. package/canonical-identity.js.map +1 -0
  13. package/engine/identity.d.ts +5 -0
  14. package/engine/identity.d.ts.map +1 -1
  15. package/engine/identity.js +41 -0
  16. package/engine/identity.js.map +1 -0
  17. package/engine/run-artifact.d.ts +1 -1
  18. package/engine/run-artifact.d.ts.map +1 -1
  19. package/engine/runtime-attachment.d.ts +26 -6
  20. package/engine/runtime-attachment.d.ts.map +1 -1
  21. package/engine/runtime-attachment.js +7 -0
  22. package/engine/runtime-attachment.js.map +1 -0
  23. package/engine/workload-input.d.ts +8 -0
  24. package/engine/workload-input.d.ts.map +1 -0
  25. package/engine/workload-input.js +54 -0
  26. package/engine/workload-input.js.map +1 -0
  27. package/engine/workload-parameters.d.ts +3 -0
  28. package/engine/workload-parameters.d.ts.map +1 -0
  29. package/engine/workload-parameters.js +67 -0
  30. package/engine/workload-parameters.js.map +1 -0
  31. package/package-version.js +31 -0
  32. package/package-version.js.map +1 -0
  33. package/package.json +11 -3
  34. package/packages/resources/attachment-context.entry-point.d.ts +1 -1
  35. package/packages/resources/attachment-context.entry-point.d.ts.map +1 -1
  36. package/packages/resources/attachment-context.entry-point.js +1 -1
  37. package/packages/resources/attachment-context.entry-point.js.map +1 -1
  38. package/packages/resources/resources.entry-point.d.ts +7 -0
  39. package/packages/resources/resources.entry-point.d.ts.map +1 -1
  40. package/packages/resources/resources.entry-point.js +3 -0
  41. package/packages/resources/resources.entry-point.js.map +1 -1
  42. package/readme.md +46 -1
  43. package/resources/failure-artifacts.d.ts +49 -0
  44. package/resources/failure-artifacts.d.ts.map +1 -0
  45. package/resources/failure-artifacts.js +34 -0
  46. package/resources/failure-artifacts.js.map +1 -0
  47. package/resources/http-request-attribution.js +23 -0
  48. package/resources/http-request-attribution.js.map +1 -0
  49. package/resources/local-http-failure-capture.js +43 -0
  50. package/resources/local-http-failure-capture.js.map +1 -0
  51. package/resources/local-http-service-resource.d.ts.map +1 -1
  52. package/resources/local-http-service-resource.js +18 -7
  53. package/resources/local-http-service-resource.js.map +1 -1
  54. package/resources/local-http-transcript-observer.js +14 -21
  55. package/resources/local-http-transcript-observer.js.map +1 -1
  56. package/resources/local-process-service-resource.d.ts +1 -1
  57. package/resources/local-process-service-resource.d.ts.map +1 -1
  58. package/resources/local-process-service-resource.js +85 -12
  59. package/resources/local-process-service-resource.js.map +1 -1
  60. package/resources/local-service-resource.d.ts +26 -26
  61. package/resources/local-service-resource.d.ts.map +1 -1
  62. package/resources/local-service-resource.js +9 -5
  63. package/resources/local-service-resource.js.map +1 -1
  64. package/resources/resource-authoring-types.d.ts +22 -0
  65. package/resources/resource-authoring-types.d.ts.map +1 -0
  66. package/resources/resource-definition-shape.d.ts +2 -0
  67. package/resources/resource-definition-shape.d.ts.map +1 -1
  68. package/resources/resource-definition-types.d.ts +23 -15
  69. package/resources/resource-definition-types.d.ts.map +1 -1
  70. package/resources/resource-definition.d.ts +9 -0
  71. package/resources/resource-definition.d.ts.map +1 -0
  72. package/resources/resource-definition.js +17 -2
  73. package/resources/resource-definition.js.map +1 -1
  74. package/resources/resource-scenario-binding.js +9 -5
  75. package/resources/resource-scenario-binding.js.map +1 -1
  76. package/resources/resource-scenario.d.ts +3 -0
  77. package/resources/resource-scenario.d.ts.map +1 -1
  78. package/resources/resource-session.d.ts +5 -0
  79. package/resources/resource-session.d.ts.map +1 -1
  80. package/resources/resource-session.js +26 -5
  81. package/resources/resource-session.js.map +1 -1
  82. package/resources/resource-workload-binding.d.ts +9 -0
  83. package/resources/resource-workload-binding.d.ts.map +1 -0
  84. package/resources/resource-workload-binding.js +94 -0
  85. package/resources/resource-workload-binding.js.map +1 -0
  86. package/resources/resource-workload-types.d.ts +8 -0
  87. package/resources/resource-workload-types.d.ts.map +1 -0
  88. package/resources/resource-workload-types.js +4 -0
  89. package/resources/resource-workload-types.js.map +1 -0
  90. package/resources/resources.d.ts +12 -16
  91. package/resources/resources.d.ts.map +1 -1
  92. package/resources/resources.js.map +1 -1
  93. package/resources/runtime-lifecycle.d.ts +5 -0
  94. package/resources/runtime-lifecycle.d.ts.map +1 -1
  95. package/resources/runtime-lifecycle.js +5 -1
  96. package/resources/runtime-lifecycle.js.map +1 -1
  97. package/resources/runtime-workload-binding.d.ts +4 -0
  98. package/resources/runtime-workload-binding.d.ts.map +1 -0
  99. package/resources/runtime-workload-binding.js +32 -0
  100. package/resources/runtime-workload-binding.js.map +1 -0
  101. package/resources/simulated-http-server-resource.d.ts +1 -1
  102. package/resources/simulated-http-server-resource.d.ts.map +1 -1
  103. package/resources/simulated-http-server-resource.js +31 -3
  104. package/resources/simulated-http-server-resource.js.map +1 -1
  105. package/sbom.cdx.json +28 -11
  106. package/stored-value.js +12 -0
  107. package/stored-value.js.map +1 -0
@@ -0,0 +1,22 @@
1
+ import type { Except, Merge } from 'type-fest';
2
+ import type { WorkloadParameters } from '../engine/workload-input.ts';
3
+ import type { EmptyResourceScenarioSlots, ResourceScenarioDeclaration, ResourceScenarioSlotInputs, ResourceScenarioSlotsFromInputs } from './resource-scenario.ts';
4
+ import type { EmptyResourceDependencies, ResourceDependencies, ResourceProjectionPayload, ResourceScope } from './resource-definition-shape.ts';
5
+ import type { WorkloadLocalResourceInput, WorkloadProjectedResourceInput, LocalOnlyResourceDefinitionInput, ProjectedResourceDefinitionInput, ResourceDefinition, ScenarioLocalInput, ScenarioProjectedInput, WithDependencies } from './resource-definition-types.ts';
6
+ type ProjectedResourceScope = 'per-file' | 'per-run' | 'per-suite';
7
+ export type DefineResource = {
8
+ <const Name extends string, Handle, Scope extends Exclude<ResourceScope, 'per-run'>, Parameters extends WorkloadParameters, const ScenarioInputs extends ResourceScenarioSlotInputs, const Dependencies extends ResourceDependencies = EmptyResourceDependencies>(definition: Merge<Except<WorkloadLocalResourceInput<Name, Handle, Scope, Dependencies, ResourceScenarioSlotsFromInputs<ScenarioInputs>, Parameters>, 'scenarios'>, ResourceScenarioDeclaration<ScenarioInputs>>): ResourceDefinition<Name, Handle, Dependencies, Handle, ResourceScenarioSlotsFromInputs<ScenarioInputs>, Parameters>;
9
+ <const Name extends string, Handle, Projection extends ResourceProjectionPayload, ConsumerHandle, Scope extends 'per-file' | 'per-run' | 'per-suite', Parameters extends WorkloadParameters, const ScenarioInputs extends ResourceScenarioSlotInputs, const Dependencies extends ResourceDependencies = EmptyResourceDependencies>(definition: Merge<Except<WorkloadProjectedResourceInput<Name, Handle, Projection, ConsumerHandle, Scope, Dependencies, ResourceScenarioSlotsFromInputs<ScenarioInputs>, Parameters>, 'scenarios'>, ResourceScenarioDeclaration<ScenarioInputs>>): ResourceDefinition<Name, Handle, Dependencies, ConsumerHandle, ResourceScenarioSlotsFromInputs<ScenarioInputs>, Parameters>;
10
+ <const Name extends string, Handle, Scope extends Exclude<ResourceScope, 'per-run'>, Parameters extends WorkloadParameters, const Dependencies extends ResourceDependencies = EmptyResourceDependencies>(definition: Except<WorkloadLocalResourceInput<Name, Handle, Scope, Dependencies, EmptyResourceScenarioSlots, Parameters>, 'scenarios'>): ResourceDefinition<Name, Handle, Dependencies, Handle, EmptyResourceScenarioSlots, Parameters>;
11
+ <const Name extends string, Handle, Projection extends ResourceProjectionPayload, ConsumerHandle, Scope extends 'per-file' | 'per-run' | 'per-suite', Parameters extends WorkloadParameters, const Dependencies extends ResourceDependencies = EmptyResourceDependencies>(definition: Except<WorkloadProjectedResourceInput<Name, Handle, Projection, ConsumerHandle, Scope, Dependencies, EmptyResourceScenarioSlots, Parameters>, 'scenarios'>): ResourceDefinition<Name, Handle, Dependencies, ConsumerHandle, EmptyResourceScenarioSlots, Parameters>;
12
+ <const Name extends string, Handle, Scope extends Exclude<ResourceScope, 'per-run'>, const Dependencies extends ResourceDependencies, const ScenarioInputs extends ResourceScenarioSlotInputs>(definition: WithDependencies<ScenarioLocalInput<Name, Handle, Scope, Dependencies, ScenarioInputs>, Dependencies>): ResourceDefinition<Name, Handle, Dependencies, Handle, ResourceScenarioSlotsFromInputs<ScenarioInputs>>;
13
+ <const Name extends string, OwnerHandle, Projection extends ResourceProjectionPayload, ConsumerHandle, Scope extends ProjectedResourceScope, const Dependencies extends ResourceDependencies, const ScenarioInputs extends ResourceScenarioSlotInputs>(definition: WithDependencies<ScenarioProjectedInput<Name, OwnerHandle, Projection, ConsumerHandle, Scope, Dependencies, ScenarioInputs>, Dependencies>): ResourceDefinition<Name, OwnerHandle, Dependencies, ConsumerHandle, ResourceScenarioSlotsFromInputs<ScenarioInputs>>;
14
+ <const Name extends string, Handle, Scope extends Exclude<ResourceScope, 'per-run'>, const ScenarioInputs extends ResourceScenarioSlotInputs>(definition: Except<ScenarioLocalInput<Name, Handle, Scope, EmptyResourceDependencies, ScenarioInputs>, 'dependencies'>): ResourceDefinition<Name, Handle, EmptyResourceDependencies, Handle, ResourceScenarioSlotsFromInputs<ScenarioInputs>>;
15
+ <const Name extends string, OwnerHandle, Projection extends ResourceProjectionPayload, ConsumerHandle, Scope extends ProjectedResourceScope, const ScenarioInputs extends ResourceScenarioSlotInputs>(definition: Except<ScenarioProjectedInput<Name, OwnerHandle, Projection, ConsumerHandle, Scope, EmptyResourceDependencies, ScenarioInputs>, 'dependencies'>): ResourceDefinition<Name, OwnerHandle, EmptyResourceDependencies, ConsumerHandle, ResourceScenarioSlotsFromInputs<ScenarioInputs>>;
16
+ <const Name extends string, Handle, Scope extends Exclude<ResourceScope, 'per-run'>>(definition: Except<LocalOnlyResourceDefinitionInput<Name, Handle, Scope>, 'scenarios'>): ResourceDefinition<Name, Handle, EmptyResourceDependencies, Handle>;
17
+ <const Name extends string, OwnerHandle, Projection extends ResourceProjectionPayload, ConsumerHandle, Scope extends ProjectedResourceScope>(definition: Except<ProjectedResourceDefinitionInput<Name, OwnerHandle, Projection, ConsumerHandle, Scope>, 'scenarios'>): ResourceDefinition<Name, OwnerHandle, EmptyResourceDependencies, ConsumerHandle>;
18
+ <const Name extends string, Handle, Scope extends Exclude<ResourceScope, 'per-run'>, const Dependencies extends ResourceDependencies>(definition: WithDependencies<Except<LocalOnlyResourceDefinitionInput<Name, Handle, Scope, Dependencies>, 'scenarios'>, Dependencies>): ResourceDefinition<Name, Handle, Dependencies, Handle>;
19
+ <const Name extends string, OwnerHandle, Projection extends ResourceProjectionPayload, ConsumerHandle, Scope extends ProjectedResourceScope, const Dependencies extends ResourceDependencies>(definition: WithDependencies<Except<ProjectedResourceDefinitionInput<Name, OwnerHandle, Projection, ConsumerHandle, Scope, Dependencies>, 'scenarios'>, Dependencies>): ResourceDefinition<Name, OwnerHandle, Dependencies, ConsumerHandle>;
20
+ };
21
+ export {};
22
+ //# sourceMappingURL=resource-authoring-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource-authoring-types.d.ts","sourceRoot":"","sources":["../../../../source/resources/resource-authoring-types.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { WorkloadParameters } from '../engine/workload-input.ts';
1
2
  import type { ResourceScenarioSlots } from './resource-scenario.ts';
2
3
  export type Awaitable<Value> = Promise<Value> | Value;
3
4
  export type ValueOf<Values> = Values[keyof Values];
@@ -45,6 +46,7 @@ export type AnyResourceDefinition = {
45
46
  readonly requirements: readonly ExecutionRequirement[];
46
47
  readonly scenarios: ResourceScenarioSlots;
47
48
  readonly scope: ResourceScope;
49
+ readonly workload: ((parameters: WorkloadParameters) => WorkloadParameters) | null;
48
50
  readonly serializeHandle?: (handle: never, context: never) => ResourceProjectionPayload;
49
51
  };
50
52
  export type RuntimeResourceMap = Readonly<Record<string, AnyResourceDefinition>>;
@@ -1 +1 @@
1
- {"version":3,"file":"resource-definition-shape.d.ts","sourceRoot":"","sources":["../../../../source/resources/resource-definition-shape.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resource-definition-shape.d.ts","sourceRoot":"","sources":["../../../../source/resources/resource-definition-shape.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAEpE,MAAM,MAAM,SAAS,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;AACtD,MAAM,MAAM,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,MAAM,CAAC,CAAC;AAEnD,KAAK,iBAAiB,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CAAE,CAAC;AACzF,KAAK,eAAe,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;CAAE,CAAC;AACpD,KAAK,qBAAqB,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;CAAE,CAAC;AACjE,KAAK,aAAa,GAAG;IACjB,QAAQ,CAAC,IAAI,EAAE,6BAA6B,CAAC;IAC7C,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;CACxC,CAAC;AACF,KAAK,cAAc,GAAG;IAClB,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CAC3B,CAAC;AACF,KAAK,WAAW,GAAG;IACf,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;CACjC,CAAC;AACF,KAAK,WAAW,GAAG;IACf,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;CACjC,CAAC;AACF,KAAK,kBAAkB,GAAG;IACtB,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,qBAAqB,GAAG,YAAY,CAAC;CACzD,CAAC;AAEF,KAAK,oBAAoB,GAAG,WAAW,GAAG,cAAc,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,WAAW,CAAC;AAChH,KAAK,qBAAqB,GAAG,eAAe,GAAG,qBAAqB,GAAG,aAAa,CAAC;AAErF,MAAM,MAAM,oBAAoB,GAAG,oBAAoB,GAAG,qBAAqB,CAAC;AAEhF,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,mBAAmB,CAAC;AAEpG,MAAM,MAAM,qBAAqB,GAAG;IAChC,QAAQ,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,KAAK,KAAK,SAAS,CAAC,OAAO,CAAC,CAAC;IACzD,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAAC;IAC5C,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,KAAK,OAAO,CAAC;IACzE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,KAAK,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;IAC9E,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,KAAK,OAAO,CAAC,GAAG,IAAI,CAAC;IAC3E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACvD,QAAQ,CAAC,SAAS,EAAE,qBAAqB,CAAC;IAC1C,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,UAAU,EAAE,kBAAkB,KAAK,kBAAkB,CAAC,GAAG,IAAI,CAAC;IACnF,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,KAAK,yBAAyB,CAAC;CAC3F,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC;AACjF,MAAM,MAAM,yBAAyB,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;AAC7E,MAAM,MAAM,oBAAoB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC;AAEnF,KAAK,wBAAwB,GAAG;IAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,yBAAyB,CAAC;CAAE,CAAC;AACvF,KAAK,wBAAwB,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;AACjE,KAAK,4BAA4B,GAAG,wBAAwB,GAAG,SAAS,yBAAyB,EAAE,CAAC;AACpG,MAAM,MAAM,yBAAyB,GAAG,4BAA4B,GAAG,wBAAwB,CAAC"}
@@ -1,5 +1,7 @@
1
1
  import type { Except, Merge } from 'type-fest';
2
+ import type { WorkloadParameters } from '../engine/workload-input.ts';
2
3
  import type { RuntimeAttachments } from '../engine/runtime-attachment.ts';
4
+ import type { ResourceWorkload, ResourceWorkloadParser } from './resource-workload-types.ts';
3
5
  import type { AnyResourceDefinition, Awaitable, EmptyResourceDependencies, ExecutionRequirement, ResourceDependencies, ResourceProjectionPayload, ResourceScope, ValueOf } from './resource-definition-shape.ts';
4
6
  import type { resourceDefinitionBrand } from './resource-definition-brand.ts';
5
7
  import type { EmptyResourceScenarioSlots, ResourceScenarioBindingsForTiming, ResourceScenarioSlotInputs, ResourceScenarioSlotsFromInputs, ResourceScenarioSlots } from './resource-scenario.ts';
@@ -26,17 +28,19 @@ export type ResourceHandle<Resource extends AnyResourceDefinition> = Resource ex
26
28
  export type ResourceContext<Resources extends ResourceDependencies> = {
27
29
  readonly [Key in keyof Resources]: ResourceHandle<Resources[Key]>;
28
30
  };
29
- export type ResourceCreationContext<Dependencies extends ResourceDependencies = EmptyResourceDependencies, Scenarios extends ResourceScenarioSlots = EmptyResourceScenarioSlots> = {
31
+ export type ResourceCreationContext<Dependencies extends ResourceDependencies = EmptyResourceDependencies, Scenarios extends ResourceScenarioSlots = EmptyResourceScenarioSlots, Parameters extends WorkloadParameters = never> = {
30
32
  readonly attachments: RuntimeAttachments;
31
33
  readonly dependencies: ResourceContext<Dependencies>;
32
34
  readonly scenarios: ResourceScenarioBindingsForTiming<Scenarios, 'acquire'>;
33
35
  readonly signal: AbortSignal;
36
+ readonly workload: readonly [Parameters] extends readonly [never] ? null : ResourceWorkload<Parameters>;
34
37
  };
35
- export type ResourceDisposalContext<Dependencies extends ResourceDependencies = EmptyResourceDependencies, Scenarios extends ResourceScenarioSlots = EmptyResourceScenarioSlots> = {
38
+ export type ResourceDisposalContext<Dependencies extends ResourceDependencies = EmptyResourceDependencies, Scenarios extends ResourceScenarioSlots = EmptyResourceScenarioSlots, Parameters extends WorkloadParameters = never> = {
36
39
  readonly attachments: RuntimeAttachments;
37
40
  readonly dependencies: ResourceContext<Dependencies>;
38
41
  readonly scenarios: ResourceScenarioBindingsForTiming<Scenarios, 'acquire'>;
39
42
  readonly signal: AbortSignal;
43
+ readonly workload: readonly [Parameters] extends readonly [never] ? null : ResourceWorkload<Parameters>;
40
44
  };
41
45
  type RequestRoutedScenarioNames<Scenarios extends ResourceScenarioSlots> = keyof {
42
46
  readonly [Slot in keyof Scenarios as 'request-routed' extends Scenarios[Slot]['timing'] ? Slot : never]: true;
@@ -70,17 +74,19 @@ export type ProjectedResourceDefinitionInput<Name extends string, OwnerHandle, P
70
74
  }>;
71
75
  export type ScenarioLocalInput<Name extends string, Handle, Scope extends Exclude<ResourceScope, 'per-run'>, Dependencies extends ResourceDependencies, ScenarioInputs extends ResourceScenarioSlotInputs> = WithScenarios<LocalOnlyResourceDefinitionInput<Name, Handle, Scope, Dependencies, ResourceScenarioSlotsFromInputs<ScenarioInputs>>, ScenarioInputs>;
72
76
  export type ScenarioProjectedInput<Name extends string, OwnerHandle, Projection extends ResourceProjectionPayload, ConsumerHandle, Scope extends ProjectedResourceScope, Dependencies extends ResourceDependencies, ScenarioInputs extends ResourceScenarioSlotInputs> = WithScenarios<ProjectedResourceDefinitionInput<Name, OwnerHandle, Projection, ConsumerHandle, Scope, Dependencies, ResourceScenarioSlotsFromInputs<ScenarioInputs>>, ScenarioInputs>;
73
- export type DefineResource = {
74
- <const Name extends string, Handle, Scope extends Exclude<ResourceScope, 'per-run'>, const Dependencies extends ResourceDependencies, const ScenarioInputs extends ResourceScenarioSlotInputs>(definition: WithDependencies<ScenarioLocalInput<Name, Handle, Scope, Dependencies, ScenarioInputs>, Dependencies>): ResourceDefinition<Name, Handle, Dependencies, Handle, ResourceScenarioSlotsFromInputs<ScenarioInputs>>;
75
- <const Name extends string, OwnerHandle, Projection extends ResourceProjectionPayload, ConsumerHandle, Scope extends ProjectedResourceScope, const Dependencies extends ResourceDependencies, const ScenarioInputs extends ResourceScenarioSlotInputs>(definition: WithDependencies<ScenarioProjectedInput<Name, OwnerHandle, Projection, ConsumerHandle, Scope, Dependencies, ScenarioInputs>, Dependencies>): ResourceDefinition<Name, OwnerHandle, Dependencies, ConsumerHandle, ResourceScenarioSlotsFromInputs<ScenarioInputs>>;
76
- <const Name extends string, Handle, Scope extends Exclude<ResourceScope, 'per-run'>, const ScenarioInputs extends ResourceScenarioSlotInputs>(definition: Except<ScenarioLocalInput<Name, Handle, Scope, EmptyResourceDependencies, ScenarioInputs>, 'dependencies'>): ResourceDefinition<Name, Handle, EmptyResourceDependencies, Handle, ResourceScenarioSlotsFromInputs<ScenarioInputs>>;
77
- <const Name extends string, OwnerHandle, Projection extends ResourceProjectionPayload, ConsumerHandle, Scope extends ProjectedResourceScope, const ScenarioInputs extends ResourceScenarioSlotInputs>(definition: Except<ScenarioProjectedInput<Name, OwnerHandle, Projection, ConsumerHandle, Scope, EmptyResourceDependencies, ScenarioInputs>, 'dependencies'>): ResourceDefinition<Name, OwnerHandle, EmptyResourceDependencies, ConsumerHandle, ResourceScenarioSlotsFromInputs<ScenarioInputs>>;
78
- <const Name extends string, Handle, Scope extends Exclude<ResourceScope, 'per-run'>>(definition: Except<LocalOnlyResourceDefinitionInput<Name, Handle, Scope>, 'scenarios'>): ResourceDefinition<Name, Handle, EmptyResourceDependencies, Handle>;
79
- <const Name extends string, OwnerHandle, Projection extends ResourceProjectionPayload, ConsumerHandle, Scope extends ProjectedResourceScope>(definition: Except<ProjectedResourceDefinitionInput<Name, OwnerHandle, Projection, ConsumerHandle, Scope>, 'scenarios'>): ResourceDefinition<Name, OwnerHandle, EmptyResourceDependencies, ConsumerHandle>;
80
- <const Name extends string, Handle, Scope extends Exclude<ResourceScope, 'per-run'>, const Dependencies extends ResourceDependencies>(definition: WithDependencies<Except<LocalOnlyResourceDefinitionInput<Name, Handle, Scope, Dependencies>, 'scenarios'>, Dependencies>): ResourceDefinition<Name, Handle, Dependencies, Handle>;
81
- <const Name extends string, OwnerHandle, Projection extends ResourceProjectionPayload, ConsumerHandle, Scope extends ProjectedResourceScope, const Dependencies extends ResourceDependencies>(definition: WithDependencies<Except<ProjectedResourceDefinitionInput<Name, OwnerHandle, Projection, ConsumerHandle, Scope, Dependencies>, 'scenarios'>, Dependencies>): ResourceDefinition<Name, OwnerHandle, Dependencies, ConsumerHandle>;
77
+ type WorkloadResourceDispose<Handle, Dependencies extends ResourceDependencies, Scenarios extends ResourceScenarioSlots, Parameters extends WorkloadParameters> = (handle: Handle, context: ResourceDisposalContext<NoInfer<Dependencies>, NoInfer<Scenarios>, NoInfer<Parameters>>) => Awaitable<void>;
78
+ type WorkloadResourceInput<Input extends {
79
+ readonly acquire: unknown;
80
+ readonly dispose: unknown;
81
+ }, Handle, Dependencies extends ResourceDependencies, Scenarios extends ResourceScenarioSlots, Parameters extends WorkloadParameters> = Except<Input, 'acquire' | 'dispose'> & {
82
+ readonly acquire: (context: ResourceCreationContext<NoInfer<Dependencies>, NoInfer<Scenarios>, NoInfer<Parameters>>) => Awaitable<Handle>;
83
+ readonly dispose: WorkloadResourceDispose<Handle, Dependencies, Scenarios, Parameters> | null;
84
+ readonly workload: ResourceWorkloadParser<Parameters>;
82
85
  };
83
- export type ResourceDefinitionInput<Name extends string, Handle, Dependencies extends ResourceDependencies = EmptyResourceDependencies, Projection extends ResourceProjectionPayload = ResourceProjectionPayload, ConsumerHandle = Handle> = Except<ValueOf<ResourceDefinitionInputOptions<Name, Handle, Dependencies, Projection, ConsumerHandle>>, 'scenarios'>;
86
+ export type WorkloadLocalResourceInput<Name extends string, Handle, Scope extends Exclude<ResourceScope, 'per-run'>, Dependencies extends ResourceDependencies, Scenarios extends ResourceScenarioSlots, Parameters extends WorkloadParameters> = WorkloadResourceInput<LocalOnlyResourceDefinitionInput<Name, Handle, Scope, Dependencies, Scenarios>, Handle, Dependencies, Scenarios, Parameters>;
87
+ export type WorkloadProjectedResourceInput<Name extends string, Handle, Projection extends ResourceProjectionPayload, ConsumerHandle, Scope extends 'per-file' | 'per-run' | 'per-suite', Dependencies extends ResourceDependencies, Scenarios extends ResourceScenarioSlots, Parameters extends WorkloadParameters> = WorkloadResourceInput<ProjectedResourceDefinitionInput<Name, Handle, Projection, ConsumerHandle, Scope, Dependencies, Scenarios>, Handle, Dependencies, Scenarios, Parameters>;
88
+ type IndependentResourceDefinitionInput<Name extends string, Handle, Dependencies extends ResourceDependencies, Projection extends ResourceProjectionPayload, ConsumerHandle> = Except<ValueOf<ResourceDefinitionInputOptions<Name, Handle, Dependencies, Projection, ConsumerHandle>>, 'scenarios'>;
89
+ export type ResourceDefinitionInput<Name extends string, Handle, Dependencies extends ResourceDependencies = EmptyResourceDependencies, Projection extends ResourceProjectionPayload = ResourceProjectionPayload, ConsumerHandle = Handle, Parameters extends WorkloadParameters = never> = readonly [Parameters] extends readonly [never] ? IndependentResourceDefinitionInput<Name, Handle, Dependencies, Projection, ConsumerHandle> : WorkloadResourceInput<IndependentResourceDefinitionInput<Name, Handle, Dependencies, Projection, ConsumerHandle>, Handle, Dependencies, EmptyResourceScenarioSlots, Parameters>;
84
90
  type ResourceDefinitionInputOptions<Name extends string, Handle, Dependencies extends ResourceDependencies, Projection extends ResourceProjectionPayload, ConsumerHandle> = {
85
91
  readonly local: LocalResourceDefinitionInput<Name, Handle, Dependencies>;
86
92
  readonly projected: ProjectedResourceInput<Name, Handle, Projection, ConsumerHandle, Dependencies>;
@@ -93,15 +99,17 @@ type ProjectedResourceInputOptions<Name extends string, Handle, Projection exten
93
99
  readonly file: ProjectedResourceDefinitionInput<Name, Handle, Projection, ConsumerHandle, 'per-file' | 'per-suite', Dependencies>;
94
100
  readonly run: ProjectedResourceDefinitionInput<Name, Handle, Projection, ConsumerHandle, 'per-run', Dependencies>;
95
101
  };
96
- export type ResourceDefinition<Name extends string = string, OwnerHandle = unknown, Dependencies extends ResourceDependencies = ResourceDependencies, ConsumerHandle = OwnerHandle, Scenarios extends ResourceScenarioSlots = EmptyResourceScenarioSlots> = ResourceHandleExposureDefinition<ConsumerHandle, Scenarios> & {
97
- readonly acquire: (context: ResourceCreationContext<Dependencies, Scenarios>) => Awaitable<OwnerHandle>;
102
+ type ResourceOwnerDisposal<Handle, Dependencies extends ResourceDependencies, Scenarios extends ResourceScenarioSlots, Parameters extends WorkloadParameters> = (handle: Handle, context: ResourceDisposalContext<Dependencies, Scenarios, Parameters>) => Awaitable<void>;
103
+ export type ResourceDefinition<Name extends string = string, OwnerHandle = unknown, Dependencies extends ResourceDependencies = ResourceDependencies, ConsumerHandle = OwnerHandle, Scenarios extends ResourceScenarioSlots = EmptyResourceScenarioSlots, Parameters extends WorkloadParameters = never> = ResourceHandleExposureDefinition<ConsumerHandle, Scenarios> & {
104
+ readonly acquire: (context: ResourceCreationContext<Dependencies, Scenarios, Parameters>) => Awaitable<OwnerHandle>;
98
105
  readonly dependencies: Dependencies;
99
106
  readonly deserializeHandle?: (payload: ResourceProjectionPayload, context: ResourceProjectionContext<Dependencies>) => ConsumerHandle;
100
- readonly dispose: ResourceDisposal<OwnerHandle, Dependencies, Scenarios>;
107
+ readonly dispose: ResourceOwnerDisposal<OwnerHandle, Dependencies, Scenarios, Parameters> | null;
101
108
  readonly name: Name;
102
109
  readonly requirements: readonly ExecutionRequirement[];
103
110
  readonly scenarios: Scenarios;
104
111
  readonly scope: ResourceScope;
112
+ readonly workload: readonly [Parameters] extends readonly [never] ? null : ResourceWorkloadParser<Parameters>;
105
113
  readonly serializeHandle?: (handle: OwnerHandle, context: ResourceProjectionContext<Dependencies>) => ResourceProjectionPayload;
106
114
  readonly [resourceDefinitionBrand]: true;
107
115
  };
@@ -1 +1 @@
1
- {"version":3,"file":"resource-definition-types.d.ts","sourceRoot":"","sources":["../../../../source/resources/resource-definition-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resource-definition-types.d.ts","sourceRoot":"","sources":["../../../../source/resources/resource-definition-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,KAAK,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAC7F,OAAO,KAAK,EACR,qBAAqB,EACrB,SAAS,EACT,yBAAyB,EACzB,oBAAoB,EACpB,oBAAoB,EACpB,yBAAyB,EACzB,aAAa,EACb,OAAO,EACV,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,KAAK,EACR,0BAA0B,EAC1B,iCAAiC,EACjC,0BAA0B,EAC1B,+BAA+B,EAC/B,qBAAqB,EACxB,MAAM,wBAAwB,CAAC;AAEhC,KAAK,sBAAsB,GAAG,UAAU,GAAG,SAAS,GAAG,WAAW,CAAC;AAEnE,MAAM,MAAM,gBAAgB,CAAC,KAAK,EAAE,YAAY,SAAS,oBAAoB,IAAI,KAAK,CAClF,KAAK,EACL;IAAE,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;CAAE,CAC3C,CAAC;AAEF,KAAK,aAAa,CACd,KAAK,SAAS;IAAE,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAAE,EAC9C,cAAc,SAAS,0BAA0B,IACjD,KAAK,CACL,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,EAC1B;IAAE,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;CAAE,CAC1C,CAAC;AAEF,MAAM,MAAM,yBAAyB,CAAC,YAAY,SAAS,oBAAoB,GAAG,yBAAyB,IAAI;IAC3G,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;IACzC,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC;CACxD,CAAC;AAEF,MAAM,MAAM,6BAA6B,CACrC,SAAS,SAAS,qBAAqB,GAAG,0BAA0B,IACpE;IACA,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;IACzC,QAAQ,CAAC,SAAS,EAAE,iCAAiC,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;CACtF,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,QAAQ,SAAS,qBAAqB,IAAI,QAAQ,SAAS;IAClF,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,KAAK,MAAM,cAAc,CAAC,GAAG,SAAS,CAAC;CACvG,GAAG,cAAc,GACZ,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAE/C,MAAM,MAAM,eAAe,CAAC,SAAS,SAAS,oBAAoB,IAAI;IAClE,QAAQ,EAAE,GAAG,IAAI,MAAM,SAAS,GAAG,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;CACpE,CAAC;AAEF,MAAM,MAAM,uBAAuB,CAC/B,YAAY,SAAS,oBAAoB,GAAG,yBAAyB,EACrE,SAAS,SAAS,qBAAqB,GAAG,0BAA0B,EACpE,UAAU,SAAS,kBAAkB,GAAG,KAAK,IAC7C;IACA,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;IACzC,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC;IACrD,QAAQ,CAAC,SAAS,EAAE,iCAAiC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC5E,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,UAAU,CAAC,SAAS,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;CAC3G,CAAC;AAEF,MAAM,MAAM,uBAAuB,CAC/B,YAAY,SAAS,oBAAoB,GAAG,yBAAyB,EACrE,SAAS,SAAS,qBAAqB,GAAG,0BAA0B,EACpE,UAAU,SAAS,kBAAkB,GAAG,KAAK,IAC7C;IACA,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;IACzC,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC;IACrD,QAAQ,CAAC,SAAS,EAAE,iCAAiC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC5E,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,UAAU,CAAC,SAAS,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;CAC3G,CAAC;AAEF,KAAK,0BAA0B,CAAC,SAAS,SAAS,qBAAqB,IAAI,MAAM;IAC7E,QAAQ,EAAE,IAAI,IAAI,MAAM,SAAS,IAAI,gBAAgB,SAAS,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI;CAChH,CAAC;AAEF,KAAK,2BAA2B,CAAC,MAAM,EAAE,SAAS,SAAS,qBAAqB,IAAI;IAChF,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,6BAA6B,CAAC,SAAS,CAAC,KAAK,MAAM,CAAC;CACzG,CAAC;AAEF,KAAK,gCAAgC,CAAC,MAAM,EAAE,SAAS,SAAS,qBAAqB,IACjF,0BAA0B,CAAC,SAAS,CAAC,SAAS,KAAK,GAAG;IAAE,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC;CAAE,GAAG;IACrF,QAAQ,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,6BAA6B,CAAC,SAAS,CAAC,KAAK,MAAM,CAAC;CACxG,CAAC;AAEN,KAAK,gBAAgB,CACjB,MAAM,EACN,YAAY,SAAS,oBAAoB,EACzC,SAAS,SAAS,qBAAqB,IACvC,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,CAAC,YAAY,EAAE,SAAS,CAAC,KAAK,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;AAE5G,KAAK,2BAA2B,CAC5B,IAAI,SAAS,MAAM,EACnB,MAAM,EACN,KAAK,SAAS,aAAa,EAC3B,YAAY,SAAS,oBAAoB,GAAG,yBAAyB,EACrE,SAAS,SAAS,qBAAqB,GAAG,0BAA0B,IACpE;IACA,QAAQ,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,uBAAuB,CAAC,YAAY,EAAE,SAAS,CAAC,KAAK,SAAS,CAAC,MAAM,CAAC,CAAC;IACnG,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;IACpE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,YAAY,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACvD,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,gCAAgC,CACxC,IAAI,SAAS,MAAM,EACnB,MAAM,EACN,KAAK,SAAS,aAAa,EAC3B,YAAY,SAAS,oBAAoB,GAAG,yBAAyB,EACrE,SAAS,SAAS,qBAAqB,GAAG,0BAA0B,IACpE,KAAK,CACL,2BAA2B,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,CAAC,EACzE,2BAA2B,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG;IACtD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,KAAK,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,CAAC;CACpC,CACJ,CAAC;AAEF,MAAM,MAAM,gCAAgC,CACxC,IAAI,SAAS,MAAM,EACnB,WAAW,EACX,UAAU,SAAS,yBAAyB,EAC5C,cAAc,EACd,KAAK,SAAS,UAAU,GAAG,SAAS,GAAG,WAAW,EAClD,YAAY,SAAS,oBAAoB,GAAG,yBAAyB,EACrE,SAAS,SAAS,qBAAqB,GAAG,0BAA0B,IACpE,KAAK,CACL,2BAA2B,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,CAAC,EAC9E,2BAA2B,CAAC,cAAc,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG;IAC9D,QAAQ,CAAC,iBAAiB,EAAE,CACxB,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,yBAAyB,CAAC,YAAY,CAAC,KAC/C,cAAc,CAAC;IACpB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,eAAe,EAAE,CACtB,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,yBAAyB,CAAC,YAAY,CAAC,KAC/C,UAAU,CAAC;CACnB,CACJ,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAC1B,IAAI,SAAS,MAAM,EACnB,MAAM,EACN,KAAK,SAAS,OAAO,CAAC,aAAa,EAAE,SAAS,CAAC,EAC/C,YAAY,SAAS,oBAAoB,EACzC,cAAc,SAAS,0BAA0B,IACjD,aAAa,CACb,gCAAgC,CAC5B,IAAI,EACJ,MAAM,EACN,KAAK,EACL,YAAY,EACZ,+BAA+B,CAAC,cAAc,CAAC,CAClD,EACD,cAAc,CACjB,CAAC;AAEF,MAAM,MAAM,sBAAsB,CAC9B,IAAI,SAAS,MAAM,EACnB,WAAW,EACX,UAAU,SAAS,yBAAyB,EAC5C,cAAc,EACd,KAAK,SAAS,sBAAsB,EACpC,YAAY,SAAS,oBAAoB,EACzC,cAAc,SAAS,0BAA0B,IACjD,aAAa,CACb,gCAAgC,CAC5B,IAAI,EACJ,WAAW,EACX,UAAU,EACV,cAAc,EACd,KAAK,EACL,YAAY,EACZ,+BAA+B,CAAC,cAAc,CAAC,CAClD,EACD,cAAc,CACjB,CAAC;AAEF,KAAK,uBAAuB,CACxB,MAAM,EACN,YAAY,SAAS,oBAAoB,EACzC,SAAS,SAAS,qBAAqB,EACvC,UAAU,SAAS,kBAAkB,IACrC,CACA,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,uBAAuB,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,KAC/F,SAAS,CAAC,IAAI,CAAC,CAAC;AAErB,KAAK,qBAAqB,CACtB,KAAK,SAAS;IAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAAE,EACvE,MAAM,EACN,YAAY,SAAS,oBAAoB,EACzC,SAAS,SAAS,qBAAqB,EACvC,UAAU,SAAS,kBAAkB,IACrC,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC,GAAG;IACvC,QAAQ,CAAC,OAAO,EAAE,CACd,OAAO,EAAE,uBAAuB,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,KAC/F,SAAS,CAAC,MAAM,CAAC,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,uBAAuB,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,CAAC,GAAG,IAAI,CAAC;IAC9F,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAC,UAAU,CAAC,CAAC;CACzD,CAAC;AAEF,MAAM,MAAM,0BAA0B,CAClC,IAAI,SAAS,MAAM,EACnB,MAAM,EACN,KAAK,SAAS,OAAO,CAAC,aAAa,EAAE,SAAS,CAAC,EAC/C,YAAY,SAAS,oBAAoB,EACzC,SAAS,SAAS,qBAAqB,EACvC,UAAU,SAAS,kBAAkB,IACrC,qBAAqB,CACrB,gCAAgC,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,CAAC,EAC9E,MAAM,EACN,YAAY,EACZ,SAAS,EACT,UAAU,CACb,CAAC;AAEF,MAAM,MAAM,8BAA8B,CACtC,IAAI,SAAS,MAAM,EACnB,MAAM,EACN,UAAU,SAAS,yBAAyB,EAC5C,cAAc,EACd,KAAK,SAAS,UAAU,GAAG,SAAS,GAAG,WAAW,EAClD,YAAY,SAAS,oBAAoB,EACzC,SAAS,SAAS,qBAAqB,EACvC,UAAU,SAAS,kBAAkB,IACrC,qBAAqB,CACrB,gCAAgC,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,CAAC,EAC1G,MAAM,EACN,YAAY,EACZ,SAAS,EACT,UAAU,CACb,CAAC;AAEF,KAAK,kCAAkC,CACnC,IAAI,SAAS,MAAM,EACnB,MAAM,EACN,YAAY,SAAS,oBAAoB,EACzC,UAAU,SAAS,yBAAyB,EAC5C,cAAc,IACd,MAAM,CACN,OAAO,CAAC,8BAA8B,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC,EAC/F,WAAW,CACd,CAAC;AAEF,MAAM,MAAM,uBAAuB,CAC/B,IAAI,SAAS,MAAM,EACnB,MAAM,EACN,YAAY,SAAS,oBAAoB,GAAG,yBAAyB,EACrE,UAAU,SAAS,yBAAyB,GAAG,yBAAyB,EACxE,cAAc,GAAG,MAAM,EACvB,UAAU,SAAS,kBAAkB,GAAG,KAAK,IAC7C,SAAS,CAAC,UAAU,CAAC,SAAS,SAAS,CAAC,KAAK,CAAC,GAC5C,kCAAkC,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,CAAC,GAC1F,qBAAqB,CACnB,kCAAkC,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,CAAC,EAC1F,MAAM,EACN,YAAY,EACZ,0BAA0B,EAC1B,UAAU,CACb,CAAC;AAEN,KAAK,8BAA8B,CAC/B,IAAI,SAAS,MAAM,EACnB,MAAM,EACN,YAAY,SAAS,oBAAoB,EACzC,UAAU,SAAS,yBAAyB,EAC5C,cAAc,IACd;IACA,QAAQ,CAAC,KAAK,EAAE,4BAA4B,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;IACzE,QAAQ,CAAC,SAAS,EAAE,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC;CACtG,CAAC;AAEF,KAAK,4BAA4B,CAC7B,IAAI,SAAS,MAAM,EACnB,MAAM,EACN,YAAY,SAAS,oBAAoB,IACzC,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,GAAG,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;AAE5G,KAAK,sBAAsB,CACvB,IAAI,SAAS,MAAM,EACnB,MAAM,EACN,YAAY,SAAS,oBAAoB,IACzC,gCAAgC,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,GAAG,mBAAmB,EAAE,YAAY,CAAC,CAAC;AAEnG,KAAK,sBAAsB,CACvB,IAAI,SAAS,MAAM,EACnB,MAAM,EACN,YAAY,SAAS,oBAAoB,IACzC,gCAAgC,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,GAAG,WAAW,EAAE,YAAY,CAAC,CAAC;AAE3F,KAAK,sBAAsB,CACvB,IAAI,SAAS,MAAM,EACnB,MAAM,EACN,UAAU,SAAS,yBAAyB,EAC5C,cAAc,EACd,YAAY,SAAS,oBAAoB,IACzC,OAAO,CAAC,6BAA6B,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC,CAAC;AAEnG,KAAK,6BAA6B,CAC9B,IAAI,SAAS,MAAM,EACnB,MAAM,EACN,UAAU,SAAS,yBAAyB,EAC5C,cAAc,EACd,YAAY,SAAS,oBAAoB,IACzC;IACA,QAAQ,CAAC,IAAI,EAAE,gCAAgC,CAC3C,IAAI,EACJ,MAAM,EACN,UAAU,EACV,cAAc,EACd,UAAU,GAAG,WAAW,EACxB,YAAY,CACf,CAAC;IACF,QAAQ,CAAC,GAAG,EAAE,gCAAgC,CAC1C,IAAI,EACJ,MAAM,EACN,UAAU,EACV,cAAc,EACd,SAAS,EACT,YAAY,CACf,CAAC;CACL,CAAC;AAEF,KAAK,qBAAqB,CACtB,MAAM,EACN,YAAY,SAAS,oBAAoB,EACzC,SAAS,SAAS,qBAAqB,EACvC,UAAU,SAAS,kBAAkB,IACrC,CACA,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,uBAAuB,CAAC,YAAY,EAAE,SAAS,EAAE,UAAU,CAAC,KACpE,SAAS,CAAC,IAAI,CAAC,CAAC;AAErB,MAAM,MAAM,kBAAkB,CAC1B,IAAI,SAAS,MAAM,GAAG,MAAM,EAC5B,WAAW,GAAG,OAAO,EACrB,YAAY,SAAS,oBAAoB,GAAG,oBAAoB,EAChE,cAAc,GAAG,WAAW,EAC5B,SAAS,SAAS,qBAAqB,GAAG,0BAA0B,EACpE,UAAU,SAAS,kBAAkB,GAAG,KAAK,IAC7C,gCAAgC,CAAC,cAAc,EAAE,SAAS,CAAC,GAAG;IAC9D,QAAQ,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,uBAAuB,CAAC,YAAY,EAAE,SAAS,EAAE,UAAU,CAAC,KAAK,SAAS,CAAC,WAAW,CAAC,CAAC;IACpH,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CACzB,OAAO,EAAE,yBAAyB,EAClC,OAAO,EAAE,yBAAyB,CAAC,YAAY,CAAC,KAC/C,cAAc,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAC,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,CAAC,GAAG,IAAI,CAAC;IACjG,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,YAAY,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACvD,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,UAAU,CAAC,SAAS,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAC9G,QAAQ,CAAC,eAAe,CAAC,EAAE,CACvB,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,yBAAyB,CAAC,YAAY,CAAC,KAC/C,yBAAyB,CAAC;IAC/B,QAAQ,CAAC,CAAC,uBAAuB,CAAC,EAAE,IAAI,CAAC;CAC5C,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { ResourceDefinition } from './resource-definition-types.ts';
2
+ import type { DefineResource } from './resource-authoring-types.ts';
3
+ declare function isDefinedResource(resource: unknown): resource is ResourceDefinition;
4
+ export declare const resourceDefinitionApi: {
5
+ readonly defineResource: DefineResource;
6
+ readonly isDefinedResource: typeof isDefinedResource;
7
+ };
8
+ export {};
9
+ //# sourceMappingURL=resource-definition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource-definition.d.ts","sourceRoot":"","sources":["../../../../source/resources/resource-definition.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAKR,kBAAkB,EAIrB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;0BA2DH,EAAO,EAAoB,IAalE,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,IAAI,kBAAkB,CAI5E;AAiOD,eAAO,MAAM,qBAAqB,EAAE;IAChC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,iBAAiB,CAAC;CAIvD,CAAC"}
@@ -1,5 +1,5 @@
1
- import { resourceDefinitionBrand } from "./resource-definition-brand.js";
2
1
  import { freezeResourceScenarioSlots } from "./resource-scenario.js";
2
+ import { resourceDefinitionBrand } from "./resource-definition-brand.js";
3
3
  function isRecord(value) {
4
4
  return typeof value === 'object' && value !== null;
5
5
  }
@@ -30,13 +30,24 @@ function resourceHandleExposure(definition, scenarios) {
30
30
  }
31
31
  return declaredExposeHandle;
32
32
  }
33
- function defineResource(definition) {
33
+ function resourceWorkloadParser(definition) {
34
+ const parser = Reflect.get(definition, 'workload');
35
+ if (parser === undefined || parser === null) {
36
+ return null;
37
+ }
38
+ if (typeof parser !== 'function') {
39
+ throw new TypeError('Resource workload requires a synchronous parameter parser.');
40
+ }
41
+ return parser;
42
+ }
43
+ export function normalizeResourceDefinition(definition) {
34
44
  const scenarios = resourceScenarios(definition);
35
45
  return Object.freeze({
36
46
  ...definition,
37
47
  dependencies: resourceDependencies(definition),
38
48
  exposeHandle: resourceHandleExposure(definition, scenarios),
39
49
  scenarios,
50
+ workload: resourceWorkloadParser(definition),
40
51
  [resourceDefinitionBrand]: true
41
52
  });
42
53
  }
@@ -45,6 +56,10 @@ function isDefinedResource(resource) {
45
56
  resource !== null &&
46
57
  Reflect.get(resource, resourceDefinitionBrand) === true;
47
58
  }
59
+ function defineResource(definition) {
60
+ const normalized = normalizeResourceDefinition(definition);
61
+ return normalized;
62
+ }
48
63
  export const resourceDefinitionApi = Object.freeze({
49
64
  defineResource,
50
65
  isDefinedResource
@@ -1 +1 @@
1
- {"version":3,"file":"resource-definition.js","sourceRoot":"","sources":["../../../../source/resources/resource-definition.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EACH,2BAA2B,EAI9B,MAAM,wBAAwB,CAAC;AAIhC,SAAS,QAAQ,CAAC,KAAc;IAC5B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACvD,CAAC;AAED,SAAS,oBAAoB,CACzB,UAA6C;IAE7C,MAAM,oBAAoB,GAAY,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IAE9E,OAAO,QAAQ,CAAC,oBAAoB,CAAC;QACjC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC;QACrC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,iBAAiB,CAAC,UAA6C;IACpE,OAAO,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC;QACzC,CAAC,CAAC,2BAA2B,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QACnE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,sBAAsB,CAC3B,UAA6C,EAC7C,SAAgC;IAEhC,MAAM,wBAAwB,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,eAAe,CAAC,IAAI;QACxF,OAAO,IAAI,CAAC,MAAM,KAAK,gBAAgB,CAAC;IAC5C,CAAC,CAAC,CAAC;IACH,MAAM,oBAAoB,GAAY,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IAE9E,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAC5B,IAAI,oBAAoB,KAAK,SAAS,IAAI,oBAAoB,KAAK,IAAI,EAAE,CAAC;YACtE,MAAM,IAAI,SAAS,CAAC,6DAA6D,CAAC,CAAC;QACvF,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,OAAO,oBAAoB,KAAK,UAAU,EAAE,CAAC;QAC7C,MAAM,IAAI,SAAS,CAAC,aAAa,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,4BAA4B,CAAC,CAAC;IAC1G,CAAC;IAED,OAAO,oBAAoB,CAAC;AAChC,CAAC;AA+HD,SAAS,cAAc,CAAC,UAA6C;IACjE,MAAM,SAAS,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAEhD,OAAO,MAAM,CAAC,MAAM,CAAC;QACjB,GAAG,UAAU;QACb,YAAY,EAAE,oBAAoB,CAAC,UAAU,CAAC;QAC9C,YAAY,EAAE,sBAAsB,CAAC,UAAU,EAAE,SAAS,CAAC;QAC3D,SAAS;QACT,CAAC,uBAAuB,CAAC,EAAE,IAAa;KAC3C,CAAC,CAAC;AACP,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAiB;IACxC,OAAO,OAAO,QAAQ,KAAK,QAAQ;QAC/B,QAAQ,KAAK,IAAI;QACjB,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,uBAAuB,CAAC,KAAK,IAAI,CAAC;AAChE,CAAC;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC/C,cAAc;IACd,iBAAiB;CACpB,CAAC,CAAC"}
1
+ {"version":3,"file":"resource-definition.js","sourceRoot":"","sources":["../../../../source/resources/resource-definition.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,14 @@
1
1
  import { resourceAttachments } from "../attachments/attachment-context.js";
2
2
  import { defaultScenarioBindings, scenarioBindingsForTiming } from "./resource-scenario.js";
3
+ const sources = new WeakMap();
4
+ export function inheritResourceDefinition(resource, source) {
5
+ sources.set(resource, source);
6
+ }
7
+ export function parentResourceDefinition(resource) {
8
+ return sources.get(resource) ?? null;
9
+ }
10
+
3
11
  const boundResourceScenarios = new WeakMap();
4
- const sourceResourceDefinitions = new WeakMap();
5
12
  function isScenarioTiming(value) {
6
13
  return value === 'acquire' || value === 'request-routed';
7
14
  }
@@ -71,13 +78,10 @@ export function resourceScenarioOwners(resources) {
71
78
  }
72
79
  return owners;
73
80
  }
74
- export function sourceResourceDefinition(resource) {
75
- return sourceResourceDefinitions.get(resource) ?? resource;
76
- }
77
81
  export function bindResourceScenarios(resource, bindings) {
78
82
  const bound = Object.freeze({ ...resource });
79
83
  boundResourceScenarios.set(bound, bindings);
80
- sourceResourceDefinitions.set(bound, sourceResourceDefinition(resource));
84
+ inheritResourceDefinition(bound, resource);
81
85
  return bound;
82
86
  }
83
87
  export function resolvedResourceScenarioBindings(resource) {
@@ -1 +1 @@
1
- {"version":3,"file":"resource-scenario-binding.js","sourceRoot":"","sources":["../../../../source/resources/resource-scenario-binding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resource-scenario-binding.js","sourceRoot":"","sources":["../../../../source/resources/resource-scenario-binding.ts"],"names":[],"mappings":"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"}
@@ -24,4 +24,7 @@ export type ResourceScenarioBindingsForTiming<Scenarios extends ResourceScenario
24
24
  export type ScenarioBindingInput<Scenarios extends ResourceScenarioSlots, Bindings extends Readonly<Record<string, string>>> = {
25
25
  readonly [Slot in keyof Bindings]: Slot extends keyof Scenarios ? Bindings[Slot] extends Scenarios[Slot]['values'][number] ? Bindings[Slot] : never : never;
26
26
  };
27
+ export type ResourceScenarioDeclaration<ScenarioInputs extends ResourceScenarioSlotInputs> = {
28
+ readonly scenarios: ScenarioInputs;
29
+ };
27
30
  //# sourceMappingURL=resource-scenario.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resource-scenario.d.ts","sourceRoot":"","sources":["../../../../source/resources/resource-scenario.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,gBAAgB,CAAC;AAE1D,MAAM,MAAM,oBAAoB,CAC5B,QAAQ,SAAS,MAAM,GAAG,MAAM,EAChC,MAAM,SAAS,cAAc,GAAG,cAAc,IAC9C;IACA,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,SAAS,QAAQ,EAAE,CAAC,CAAC,CAAC;CAClE,CAAC;AAEF,MAAM,MAAM,yBAAyB,CACjC,QAAQ,SAAS,MAAM,GAAG,MAAM,EAChC,MAAM,SAAS,cAAc,GAAG,cAAc,IAC9C;IACA,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,SAAS,QAAQ,EAAE,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC,CAAC;AAC7F,MAAM,MAAM,+BAA+B,CAAC,MAAM,SAAS,0BAA0B,IAAI;IACrF,QAAQ,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,oBAAoB,CACjD,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,EACxD,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CACzB;CACJ,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC;AACnF,MAAM,MAAM,0BAA0B,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;AAE9E,MAAM,MAAM,wBAAwB,CAAC,SAAS,SAAS,qBAAqB,IAAI;IAC5E,QAAQ,EAAE,IAAI,IAAI,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;CACxE,CAAC;AAEF,MAAM,MAAM,iCAAiC,CACzC,SAAS,SAAS,qBAAqB,EACvC,MAAM,SAAS,cAAc,IAC7B;IACA,QAAQ,EAAE,IAAI,IAAI,MAAM,SAAS,IAAI,MAAM,SAAS,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,IAAI,GAAG,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAC1G,QAAQ,CACX,CAAC,MAAM,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAC5B,SAAS,SAAS,qBAAqB,EACvC,QAAQ,SAAS,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,IACjD;IACA,QAAQ,EAAE,IAAI,IAAI,MAAM,QAAQ,GAAG,IAAI,SAAS,MAAM,SAAS,GACzD,QAAQ,CAAC,IAAI,CAAC,SAAS,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,GACjF,KAAK;CACd,CAAC"}
1
+ {"version":3,"file":"resource-scenario.d.ts","sourceRoot":"","sources":["../../../../source/resources/resource-scenario.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,gBAAgB,CAAC;AAE1D,MAAM,MAAM,oBAAoB,CAC5B,QAAQ,SAAS,MAAM,GAAG,MAAM,EAChC,MAAM,SAAS,cAAc,GAAG,cAAc,IAC9C;IACA,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,SAAS,QAAQ,EAAE,CAAC,CAAC,CAAC;CAClE,CAAC;AAEF,MAAM,MAAM,yBAAyB,CACjC,QAAQ,SAAS,MAAM,GAAG,MAAM,EAChC,MAAM,SAAS,cAAc,GAAG,cAAc,IAC9C;IACA,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,SAAS,QAAQ,EAAE,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC,CAAC;AAC7F,MAAM,MAAM,+BAA+B,CAAC,MAAM,SAAS,0BAA0B,IAAI;IACrF,QAAQ,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,oBAAoB,CACjD,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,EACxD,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CACzB;CACJ,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC;AACnF,MAAM,MAAM,0BAA0B,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;AAE9E,MAAM,MAAM,wBAAwB,CAAC,SAAS,SAAS,qBAAqB,IAAI;IAC5E,QAAQ,EAAE,IAAI,IAAI,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;CACxE,CAAC;AAEF,MAAM,MAAM,iCAAiC,CACzC,SAAS,SAAS,qBAAqB,EACvC,MAAM,SAAS,cAAc,IAC7B;IACA,QAAQ,EAAE,IAAI,IAAI,MAAM,SAAS,IAAI,MAAM,SAAS,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,IAAI,GAAG,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAC1G,QAAQ,CACX,CAAC,MAAM,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAC5B,SAAS,SAAS,qBAAqB,EACvC,QAAQ,SAAS,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,IACjD;IACA,QAAQ,EAAE,IAAI,IAAI,MAAM,QAAQ,GAAG,IAAI,SAAS,MAAM,SAAS,GACzD,QAAQ,CAAC,IAAI,CAAC,SAAS,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,GACjF,KAAK;CACd,CAAC;AAEF,MAAM,MAAM,2BAkG2B,CAAC,cAAc,SAAS,0BAA0B,IAAI;IACzF,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;CACtC,CAAC"}
@@ -1,7 +1,12 @@
1
+ import type { WorkloadInput } from '../engine/workload-input.ts';
1
2
  import type { ResourceContext, ResourceDependencies } from './resources.ts';
2
3
  export type StartResourcesRequest<Resources extends ResourceDependencies> = {
3
4
  readonly resources: Resources;
4
5
  readonly signal: AbortSignal;
6
+ readonly workload: WorkloadInput;
7
+ } | {
8
+ readonly resources: Resources;
9
+ readonly signal: AbortSignal;
5
10
  };
6
11
  export type ResourceSessionDisposalContext = {
7
12
  readonly signal: AbortSignal;
@@ -1 +1 @@
1
- {"version":3,"file":"resource-session.d.ts","sourceRoot":"","sources":["../../../../source/resources/resource-session.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,iBAGO,EAEf,oBAAoB,EAGvB,MAAM,gBAAgB,CAAC;MA+ClB,MAAM,qBAAqB,CAAC,SAAS,SAAS,oBAAoB,IAAI;IACxE,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IACzC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,SAAS,SAAS,oBAAoB,IAAI,eAAe,GAAG;IACpF,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;IAC7C,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,8BAA8B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACpF,CAAC;AAyDF,6BAKoB,SAyKsB,CAAC,SAAS,SAAS,oBAAoB,EAC7E,OAAO,EAAE,qBAAqB,CAAC,SAAS,CACL,GACpC,OAAO,CACY,QAiBT,OACa,CAAC,SAAS,CAAC,CAAC,CAiCrC"}
1
+ {"version":3,"file":"resource-session.d.ts","sourceRoot":"","sources":["../../../../source/resources/resource-session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAIjE,OAAO,KAAK,iBAGO,EAEf,oBAAoB,EAGvB,MAAM,gBAAgB,CAAC;MAgDlB,MAAM,qBAAqB,CAAC,SAAS,SAAS,oBAAoB,IAAI;IACxE,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;CACpC,GAAG;IACA,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IACzC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,SAAS,SAAS,oBAAoB,IAAI,eAAe,GAAG;IACpF,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;IAC7C,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,8BAA8B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACpF,CAAC;AA0DF,6BAKoB,SAgMsB,CAAC,SAAS,SAAS,oBAAoB,EAC7E,OAAO,EAAE,qBAAqB,CAAC,SAAS,CACL,GACpC,OAAO,CACY,QA4BT,OACa,CAAC,SAAS,CAAC,CAAC,CAiCrC"}
@@ -1,6 +1,8 @@
1
1
  import { resourceAttachments } from "../attachments/attachment-context.js";
2
+ import { hasWorkloadInput } from "./resource-workload-types.js";
3
+ import { createWorkloadResourceBinding } from "./resource-workload-binding.js";
2
4
  import { callableResourceDefinition, createResourceGraph, resourceEntries } from "./resource-graph.js";
3
- import { lifecycleFailures, resourceLifecycleError } from "./resource-lifecycle-error.js";
5
+ import { lifecycleFailures, ResourceLifecycleError, resourceLifecycleError } from "./resource-lifecycle-error.js";
4
6
  import { acquisitionResourceScenarioBindings, exposeResourceHandle } from "./resource-scenario-binding.js";
5
7
  const directResourceAcquisitionContext = {
6
8
  acquisitionFailureMessage: 'Resource acquisition failed.',
@@ -30,7 +32,8 @@ async function disposeResource(node, ownerHandles, resourceHandles, signal) {
30
32
  attachments: resourceAttachments(node.descriptor.name),
31
33
  dependencies: acquiredDependencyHandles(node.descriptor.dependencies, resourceHandles),
32
34
  scenarios: acquisitionResourceScenarioBindings(node.descriptor),
33
- signal
35
+ signal,
36
+ workload: null
34
37
  });
35
38
  return null;
36
39
  }
@@ -102,7 +105,8 @@ function createResourceAcquisition(signal, acquisitionContext) {
102
105
  attachments: resourceAttachments(resource.name),
103
106
  dependencies,
104
107
  scenarios: acquisitionResourceScenarioBindings(resource),
105
- signal: acquisitionSignal
108
+ signal: acquisitionSignal,
109
+ workload: null
106
110
  });
107
111
  ownerHandles.set(resource, ownerHandle);
108
112
  const resourceHandle = exposeResourceHandle(resource, ownerHandle);
@@ -154,11 +158,28 @@ export function runtimeAsyncDisposeSymbol() {
154
158
  function isResourceSession(session) {
155
159
  return Reflect.has(session, runtimeAsyncDisposeSymbol());
156
160
  }
161
+ function boundWorkloadResources(request, context) {
162
+ const workload = hasWorkloadInput(request) ? request.workload : null;
163
+ try {
164
+ const binding = createWorkloadResourceBinding(workload);
165
+ return binding.resources(request.resources);
166
+ }
167
+ catch (error) {
168
+ if (error instanceof ResourceLifecycleError) {
169
+ throw error;
170
+ }
171
+ throw resourceLifecycleError(`${context.acquisitionFailureMessage} ${error instanceof Error ? error.message : 'Invalid workload input.'}`, [{ cause: error, phase: 'acquire', resourceName: context.fallbackResourceName }], error);
172
+ }
173
+ }
157
174
  export async function acquireResourceGraph(request, context) {
158
- const graph = createResourceGraph(request.resources);
175
+ const resources = boundWorkloadResources(request, context);
176
+ const graph = createResourceGraph(resources);
159
177
  const acquisition = await createResourceAcquisition(request.signal, context).acquire(graph);
160
178
  return {
161
- context: resourceContext(request.resources, acquisition.resourceHandles),
179
+ context: resourceContext(request.resources, new Map(Object.entries(request.resources).map(function originalResourceEntry([key, resource]) {
180
+ const bound = resources[key];
181
+ return [resource, bound === undefined ? undefined : acquisition.resourceHandles.get(bound)];
182
+ }))),
162
183
  ownerHandles: acquisition.ownerHandles,
163
184
  order: graph.order,
164
185
  resourceHandles: acquisition.resourceHandles
@@ -1 +1 @@
1
- {"version":3,"file":"resource-session.js","sourceRoot":"","sources":["../../../../source/resources/resource-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resource-session.js","sourceRoot":"","sources":["../../../../source/resources/resource-session.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { WorkloadId } from '../engine/identity.ts';
2
+ import { type WorkloadInput } from '../engine/workload-input.ts';
3
+ import type { AnyResourceDefinition, ResourceDependencies } from './resource-definition-shape.ts';
4
+ export declare function resourceWorkloadIdentity(resource: AnyResourceDefinition): WorkloadId | null;
5
+ export type WorkloadResourceBinding = {
6
+ readonly resources: (resources: ResourceDependencies) => ResourceDependencies;
7
+ };
8
+ export declare function createWorkloadResourceBinding(input: WorkloadInput | null): WorkloadResourceBinding;
9
+ //# sourceMappingURL=resource-workload-binding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource-workload-binding.d.ts","sourceRoot":"","sources":["../../../../source/resources/resource-workload-binding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAyB,KAAK,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAGxF,OAAO,KAAK,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAOlG,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,UAAU,GAAG,IAAI,CAO3F;AAED,MAAM,MAAM,uBAAuB,GAAG;IAClC,QAAQ,CAAC,SAAS,EAAE,CAAC,SAAS,EAAE,oBAAoB,KAAK,oBAAoB,CAAC;CACjF,CAAC;AA2EF,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,GAAG,uBAAuB,CAgClG"}
@@ -0,0 +1,94 @@
1
+ import { snapshotWorkloadInput } from "../engine/workload-input.js";
2
+ import { snapshotWorkloadParameters } from "../engine/workload-parameters.js";
3
+ import { createResourceGraph } from "./resource-graph.js";
4
+ import { inheritResourceDefinition, parentResourceDefinition } from "./resource-scenario-binding.js";
5
+ const resourceWorkloads = new WeakMap();
6
+ export function resourceWorkloadIdentity(resource) {
7
+ const bound = resourceWorkloads.get(resource);
8
+ if (bound !== undefined) {
9
+ return bound.id;
10
+ }
11
+ const parent = parentResourceDefinition(resource);
12
+ return parent === null ? null : resourceWorkloadIdentity(parent);
13
+ }
14
+ function withBoundDependencies(resource, dependencies) {
15
+ if (Object.entries(dependencies).every(function unchangedDependency([key, dependency]) {
16
+ return dependency === resource.dependencies[key];
17
+ })) {
18
+ return resource;
19
+ }
20
+ const bound = Object.freeze({ ...resource, dependencies });
21
+ inheritResourceDefinition(bound, resource);
22
+ return bound;
23
+ }
24
+ function bindRequiredWorkload(resource, dependencies, workload) {
25
+ if (resource.workload === null) {
26
+ throw new TypeError(`Resource "${resource.name}" does not declare workload dependence.`);
27
+ }
28
+ const parameters = resource.workload(workload.parameters);
29
+ snapshotWorkloadParameters(parameters);
30
+ const context = Object.freeze({ id: workload.id, parameters });
31
+ const { dispose } = resource;
32
+ const bound = Object.freeze({
33
+ ...resource,
34
+ dependencies,
35
+ acquire(acquisition) {
36
+ const handle = Reflect.apply(resource.acquire, undefined, [{
37
+ ...acquisition,
38
+ workload: context
39
+ }]);
40
+ return handle;
41
+ },
42
+ dispose: dispose === null
43
+ ? null
44
+ : async function disposeWorkloadResource(handle, disposal) {
45
+ const completion = Reflect.apply(dispose, undefined, [handle, {
46
+ ...disposal,
47
+ workload: context
48
+ }]);
49
+ await completion;
50
+ }
51
+ });
52
+ inheritResourceDefinition(bound, resource);
53
+ resourceWorkloads.set(bound, workload);
54
+ return bound;
55
+ }
56
+ function boundResource(resource, dependencies, workload) {
57
+ if (typeof resource.workload !== 'function' || resourceWorkloadIdentity(resource) !== null) {
58
+ return withBoundDependencies(resource, dependencies);
59
+ }
60
+ if (workload === null) {
61
+ throw new TypeError(`Resource "${resource.name}" requires workload parameters.`);
62
+ }
63
+ return bindRequiredWorkload(resource, dependencies, workload);
64
+ }
65
+ export function createWorkloadResourceBinding(input) {
66
+ const workload = input === null ? null : snapshotWorkloadInput(input);
67
+ const boundResources = new Map();
68
+ const graph = {
69
+ resources(resources) {
70
+ return Object.freeze(Object.fromEntries(Object
71
+ .entries(resources)
72
+ .map(function bindEntry([key, resource]) {
73
+ return [key, graph.resource(resource)];
74
+ })));
75
+ },
76
+ resource(resource) {
77
+ const existing = boundResources.get(resource);
78
+ if (existing !== undefined) {
79
+ return existing;
80
+ }
81
+ const dependencies = graph.resources(resource.dependencies);
82
+ const bound = boundResource(resource, dependencies, workload);
83
+ boundResources.set(resource, bound);
84
+ return bound;
85
+ }
86
+ };
87
+ return {
88
+ resources(resources) {
89
+ createResourceGraph(resources);
90
+ return graph.resources(resources);
91
+ }
92
+ };
93
+ }
94
+ //# sourceMappingURL=resource-workload-binding.js.map