@relkit/app 0.4.0 → 0.5.1

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,9 @@
1
1
  import { type EnvDefinition, type EnvShape } from "@relkit/config";
2
+ import type { AppCompatibilityConfig } from "./define-app-types.js";
2
3
  export declare function isEnvDefinition(value: unknown): value is EnvDefinition<EnvShape>;
3
4
  export declare function deriveApplicationId(packageName: string): string;
5
+ export declare function normalizeCompatibility(value: AppCompatibilityConfig | undefined): {
6
+ readonly legacyJobs: boolean;
7
+ };
8
+ export declare function assertExclusiveAlias(value: Record<string, unknown>, primary: string, legacy: string, label: string): void;
4
9
  //# sourceMappingURL=app-validation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"app-validation.d.ts","sourceRoot":"","sources":["../src/app-validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,aAAa,EAAE,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG7E,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAAC,QAAQ,CAAC,CAahF;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAG/D"}
1
+ {"version":3,"file":"app-validation.d.ts","sourceRoot":"","sources":["../src/app-validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,aAAa,EAAE,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE7E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAEpE,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAAC,QAAQ,CAAC,CAahF;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAG/D;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,sBAAsB,GAAG,SAAS,GAAG;IACjF,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC9B,CASA;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GACZ,IAAI,CAIN"}
@@ -17,6 +17,20 @@ export function deriveApplicationId(packageName) {
17
17
  const normalized = packageName.startsWith("@") ? packageName.slice(1) : packageName;
18
18
  return normalizeId(normalized.replaceAll("/", "."));
19
19
  }
20
+ export function normalizeCompatibility(value) {
21
+ if (value === undefined)
22
+ return Object.freeze({ legacyJobs: false });
23
+ if (!isRecord(value) ||
24
+ (value.legacyJobs !== undefined && typeof value.legacyJobs !== "boolean")) {
25
+ throw new TypeError("defineApp compatibility.legacyJobs must be a boolean");
26
+ }
27
+ return Object.freeze({ legacyJobs: value.legacyJobs === true });
28
+ }
29
+ export function assertExclusiveAlias(value, primary, legacy, label) {
30
+ if (value[primary] !== undefined && value[legacy] !== undefined) {
31
+ throw new TypeError(`${label} cannot specify both "${primary}" and "${legacy}"`);
32
+ }
33
+ }
20
34
  function isRecord(value) {
21
35
  return value !== null && typeof value === "object" && !Array.isArray(value);
22
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"app-validation.js","sourceRoot":"","sources":["../src/app-validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAqC,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAChG,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE;QAC3D,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9B,OAAO,CACL,QAAQ,CAAC,OAAO,CAAC;YACjB,OAAO,CAAC,IAAI,KAAK,aAAa;YAC9B,OAAO,OAAO,CAAC,KAAK,KAAK,UAAU;YACnC,OAAO,OAAO,CAAC,UAAU,KAAK,UAAU;YACxC,QAAQ,CAAC,SAAS,CAAC;YACnB,SAAS,CAAC,IAAI,KAAK,IAAI,CACxB,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,WAAmB;IACrD,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;IACpF,OAAO,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC"}
1
+ {"version":3,"file":"app-validation.js","sourceRoot":"","sources":["../src/app-validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAqC,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAChG,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE;QAC3D,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9B,OAAO,CACL,QAAQ,CAAC,OAAO,CAAC;YACjB,OAAO,CAAC,IAAI,KAAK,aAAa;YAC9B,OAAO,OAAO,CAAC,KAAK,KAAK,UAAU;YACnC,OAAO,OAAO,CAAC,UAAU,KAAK,UAAU;YACxC,QAAQ,CAAC,SAAS,CAAC;YACnB,SAAS,CAAC,IAAI,KAAK,IAAI,CACxB,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,WAAmB;IACrD,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;IACpF,OAAO,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAyC;IAG9E,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;IACrE,IACE,CAAC,QAAQ,CAAC,KAAK,CAAC;QAChB,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,EACzE,CAAC;QACD,MAAM,IAAI,SAAS,CAAC,sDAAsD,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,KAA8B,EAC9B,OAAe,EACf,MAAc,EACd,KAAa;IAEb,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,SAAS,EAAE,CAAC;QAChE,MAAM,IAAI,SAAS,CAAC,GAAG,KAAK,yBAAyB,OAAO,UAAU,MAAM,GAAG,CAAC,CAAC;IACnF,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC"}
@@ -16,12 +16,15 @@ export interface PromptDescriptor<Value extends PromptValue = PromptValue> exten
16
16
  readonly value: Value;
17
17
  }
18
18
  export type PromptValue = string | readonly string[];
19
+ export interface ContextDescriptorOptions {
20
+ readonly id?: string;
21
+ }
19
22
  export type ResolvedConstants<Descriptor extends ConstantsDescriptor> = {
20
23
  readonly [Key in keyof Descriptor["values"]]: ResolveConstant<Descriptor["values"][Key]>;
21
24
  };
22
25
  export type ResolvedPrompt<Descriptor extends PromptDescriptor> = Descriptor["value"];
23
26
  type ResolveConstant<Value> = Value extends (...args: never[]) => infer Result ? Awaited<Result> : Value extends EnvRef<string, infer Result> ? Result : Value;
24
- export declare function defineConstants<const Values extends ConstantsShape>(values: Values): ConstantsDescriptor<Values>;
25
- export declare function definePrompt<const Value extends PromptValue>(value: Value): PromptDescriptor<Value>;
27
+ export declare function defineConstants<const Values extends ConstantsShape>(values: Values, options?: ContextDescriptorOptions): ConstantsDescriptor<Values>;
28
+ export declare function definePrompt<const Value extends PromptValue>(value: Value, options?: ContextDescriptorOptions): PromptDescriptor<Value>;
26
29
  export {};
27
30
  //# sourceMappingURL=context-descriptors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context-descriptors.d.ts","sourceRoot":"","sources":["../src/context-descriptors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,YAAY,EAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAyB,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAE9E,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAChD,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC;CAC5B;AAED,MAAM,MAAM,gBAAgB,CAAC,KAAK,GAAG,OAAO,IAAI,CAC9C,OAAO,EAAE,sBAAsB,KAC5B,YAAY,CAAC,KAAK,CAAC,CAAC;AACzB,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,MAAM,GAAG,gBAAgB,CAAC;AAClE,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;AAErE,MAAM,WAAW,mBAAmB,CAClC,MAAM,SAAS,cAAc,GAAG,cAAc,CAC9C,SAAQ,cAAc,CAAC,WAAW,EAAE,MAAM,CAAC;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB,CAAC,KAAK,SAAS,WAAW,GAAG,WAAW,CAAE,SAAQ,cAAc,CAC/F,QAAQ,EACR,MAAM,CACP;IACC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACvB;AAED,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;AAErD,MAAM,MAAM,iBAAiB,CAAC,UAAU,SAAS,mBAAmB,IAAI;IACtE,QAAQ,EAAE,GAAG,IAAI,MAAM,UAAU,CAAC,QAAQ,CAAC,GAAG,eAAe,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC;CACzF,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,UAAU,SAAS,gBAAgB,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;AAEtF,KAAK,eAAe,CAAC,KAAK,IAAI,KAAK,SAAS,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,MAAM,MAAM,GAC1E,OAAO,CAAC,MAAM,CAAC,GACf,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,MAAM,CAAC,GACxC,MAAM,GACN,KAAK,CAAC;AAEZ,wBAAgB,eAAe,CAAC,KAAK,CAAC,MAAM,SAAS,cAAc,EACjE,MAAM,EAAE,MAAM,GACb,mBAAmB,CAAC,MAAM,CAAC,CAW7B;AAED,wBAAgB,YAAY,CAAC,KAAK,CAAC,KAAK,SAAS,WAAW,EAC1D,KAAK,EAAE,KAAK,GACX,gBAAgB,CAAC,KAAK,CAAC,CAazB"}
1
+ {"version":3,"file":"context-descriptors.d.ts","sourceRoot":"","sources":["../src/context-descriptors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,YAAY,EAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAyB,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAE9E,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAChD,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC;CAC5B;AAED,MAAM,MAAM,gBAAgB,CAAC,KAAK,GAAG,OAAO,IAAI,CAC9C,OAAO,EAAE,sBAAsB,KAC5B,YAAY,CAAC,KAAK,CAAC,CAAC;AACzB,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,MAAM,GAAG,gBAAgB,CAAC;AAClE,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;AAErE,MAAM,WAAW,mBAAmB,CAClC,MAAM,SAAS,cAAc,GAAG,cAAc,CAC9C,SAAQ,cAAc,CAAC,WAAW,EAAE,MAAM,CAAC;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB,CAAC,KAAK,SAAS,WAAW,GAAG,WAAW,CAAE,SAAQ,cAAc,CAC/F,QAAQ,EACR,MAAM,CACP;IACC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACvB;AAED,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;AAErD,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,iBAAiB,CAAC,UAAU,SAAS,mBAAmB,IAAI;IACtE,QAAQ,EAAE,GAAG,IAAI,MAAM,UAAU,CAAC,QAAQ,CAAC,GAAG,eAAe,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC;CACzF,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,UAAU,SAAS,gBAAgB,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;AAEtF,KAAK,eAAe,CAAC,KAAK,IAAI,KAAK,SAAS,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,MAAM,MAAM,GAC1E,OAAO,CAAC,MAAM,CAAC,GACf,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,MAAM,CAAC,GACxC,MAAM,GACN,KAAK,CAAC;AAEZ,wBAAgB,eAAe,CAAC,KAAK,CAAC,MAAM,SAAS,cAAc,EACjE,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,wBAA6B,GACrC,mBAAmB,CAAC,MAAM,CAAC,CAc7B;AAED,wBAAgB,YAAY,CAAC,KAAK,CAAC,KAAK,SAAS,WAAW,EAC1D,KAAK,EAAE,KAAK,EACZ,OAAO,GAAE,wBAA6B,GACrC,gBAAgB,CAAC,KAAK,CAAC,CAgBzB"}
@@ -1,20 +1,26 @@
1
1
  import { isEnvRef } from "@relkit/config";
2
2
  import { createDescriptorBase, deepFreeze, } from "@relkit/contracts";
3
3
  import { createUnboundIdentity } from "@relkit/invocation";
4
- export function defineConstants(values) {
4
+ export function defineConstants(values, options = {}) {
5
5
  if (!isRecord(values))
6
6
  throw new TypeError("Constants must be an object map");
7
+ if (options === null || typeof options !== "object" || Array.isArray(options)) {
8
+ throw new TypeError("Constants options must be an object");
9
+ }
7
10
  for (const [key, value] of Object.entries(values)) {
8
11
  if (key.trim() === "" || (!isEnvRef(value) && typeof value !== "function" && !isJson(value))) {
9
12
  throw new TypeError(`Constant "${key}" is invalid`);
10
13
  }
11
14
  }
12
15
  return deepFreeze({
13
- ...createDescriptorBase("constants", createUnboundIdentity()),
16
+ ...createDescriptorBase("constants", options.id ?? createUnboundIdentity()),
14
17
  values: { ...values },
15
18
  });
16
19
  }
17
- export function definePrompt(value) {
20
+ export function definePrompt(value, options = {}) {
21
+ if (options === null || typeof options !== "object" || Array.isArray(options)) {
22
+ throw new TypeError("Prompt options must be an object");
23
+ }
18
24
  const values = typeof value === "string" ? [value] : value;
19
25
  if (!Array.isArray(values) ||
20
26
  values.length === 0 ||
@@ -22,7 +28,7 @@ export function definePrompt(value) {
22
28
  throw new TypeError("A prompt must contain nonempty text");
23
29
  }
24
30
  return deepFreeze({
25
- ...createDescriptorBase("prompt", createUnboundIdentity()),
31
+ ...createDescriptorBase("prompt", options.id ?? createUnboundIdentity()),
26
32
  value: Array.isArray(value) ? [...value] : value,
27
33
  });
28
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"context-descriptors.js","sourceRoot":"","sources":["../src/context-descriptors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAe,MAAM,gBAAgB,CAAC;AACvD,OAAO,EACL,oBAAoB,EACpB,UAAU,GAIX,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,qBAAqB,EAAqB,MAAM,oBAAoB,CAAC;AAyC9E,MAAM,UAAU,eAAe,CAC7B,MAAc;IAEd,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;IAC9E,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,KAAK,UAAU,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAC7F,MAAM,IAAI,SAAS,CAAC,aAAa,GAAG,cAAc,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;QAChB,GAAG,oBAAoB,CAAC,WAAW,EAAE,qBAAqB,EAAE,CAAC;QAC7D,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE;KACtB,CAAgC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,KAAY;IAEZ,MAAM,MAAM,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC3D,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QACtB,MAAM,CAAC,MAAM,KAAK,CAAC;QACnB,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAC3C,CAAC;QACD,MAAM,IAAI,SAAS,CAAC,qCAAqC,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,UAAU,CAAC;QAChB,GAAG,oBAAoB,CAAC,QAAQ,EAAE,qBAAqB,EAAE,CAAC;QAC1D,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK;KACjD,CAA4B,CAAC;AAChC,CAAC;AAED,SAAS,MAAM,CAAC,KAAc;IAC5B,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,OAAO,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAChF,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7D,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACrD,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC"}
1
+ {"version":3,"file":"context-descriptors.js","sourceRoot":"","sources":["../src/context-descriptors.ts"],"names":[],"mappings":"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"}
@@ -18,19 +18,39 @@ export interface InspectorConfig {
18
18
  readonly enabledInProduction?: boolean;
19
19
  readonly maxPreviewBytes?: number;
20
20
  }
21
- export declare const APP_PROVIDER_CAPABILITIES: readonly ["bucket", "cache", "job", "event", "model"];
21
+ export interface AppCompatibilityConfig {
22
+ readonly legacyJobs?: boolean;
23
+ }
24
+ export declare const APP_PROVIDER_CAPABILITIES: readonly ["bucket", "cache", "job", "event", "model", "realtime", "agent-state"];
22
25
  export type AppProviderCapability = (typeof APP_PROVIDER_CAPABILITIES)[number];
23
26
  type CapabilityInput<Capability extends AppProviderCapability> = ProviderInput<ProviderSourceInput<ProviderAdapter<ProviderCapability<Capability>>>>;
24
27
  export interface AppProviderInputs {
25
28
  readonly bucket?: CapabilityInput<"bucket">;
26
29
  readonly cache?: CapabilityInput<"cache">;
30
+ /** Public plural spelling for the jobs provider capability. */
31
+ readonly jobs?: CapabilityInput<"job">;
32
+ /** @deprecated Use `jobs`. */
27
33
  readonly job?: CapabilityInput<"job">;
28
34
  readonly event?: CapabilityInput<"event">;
29
35
  readonly model?: CapabilityInput<"model">;
36
+ readonly realtime?: CapabilityInput<"realtime">;
37
+ readonly "agent-state"?: CapabilityInput<"agent-state">;
30
38
  }
31
39
  type Profile<Input> = Input extends ProviderSourceInput ? "default" : Extract<keyof Input, string>;
40
+ type ProviderInputFor<Providers extends AppProviderInputs, Capability extends AppProviderCapability> = Capability extends "job" ? "jobs" extends keyof Providers ? NonNullable<Providers["jobs"]> : "job" extends keyof Providers ? NonNullable<Providers["job"]> : never : Capability extends keyof Providers ? NonNullable<Providers[Capability]> : never;
41
+ type ProfileFor<Providers extends AppProviderInputs, Capability extends AppProviderCapability> = [
42
+ ProviderInputFor<Providers, Capability>
43
+ ] extends [never] ? never : Profile<ProviderInputFor<Providers, Capability>>;
44
+ /** Public provider-default spellings. The normalized descriptor uses `job`. */
32
45
  export type AppProviderDefaults<Providers extends AppProviderInputs> = Readonly<{
33
- [Capability in AppProviderCapability]?: Capability extends keyof Providers ? Profile<NonNullable<Providers[Capability]>> : never;
46
+ [Capability in Exclude<AppProviderCapability, "job">]?: ProfileFor<Providers, Capability>;
47
+ }> & {
48
+ readonly jobs?: ProfileFor<Providers, "job">;
49
+ /** @deprecated Use `jobs`. */
50
+ readonly job?: ProfileFor<Providers, "job">;
51
+ };
52
+ export type NormalizedAppProviderDefaults<Providers extends AppProviderInputs> = Readonly<{
53
+ [Capability in AppProviderCapability]?: ProfileFor<Providers, Capability>;
34
54
  }>;
35
55
  export type AppTelemetryConfig<Exporters extends TelemetryExporterMap = TelemetryExporterMap> = TelemetryConfiguration<Exporters>;
36
56
  export type AppDeploymentConfig = Readonly<Record<string, JsonValue>>;
@@ -38,6 +58,7 @@ export type DefineAppOptions<Shape extends EnvShape, Providers extends AppProvid
38
58
  readonly id?: string;
39
59
  readonly env: EnvDefinition<Shape>;
40
60
  readonly defaults?: AppProviderDefaults<Providers>;
61
+ readonly compatibility?: AppCompatibilityConfig;
41
62
  readonly telemetry?: AppTelemetryConfig<Exporters>;
42
63
  readonly server?: ServerConfig;
43
64
  readonly inspector?: InspectorConfig;
@@ -45,11 +66,14 @@ export type DefineAppOptions<Shape extends EnvShape, Providers extends AppProvid
45
66
  };
46
67
  type AdapterOf<Input> = Input extends ProviderSourceInput<infer Adapter> ? Adapter : Input extends Readonly<Record<string, infer Binding>> ? Binding extends ProviderSourceInput<infer Adapter> ? Adapter : never : never;
47
68
  type NormalizedProviders<Providers extends AppProviderInputs> = {
48
- readonly [Capability in keyof Providers & AppProviderCapability]: NormalizedProviderProfiles<AdapterOf<NonNullable<Providers[Capability]>>>;
69
+ readonly [Capability in AppProviderCapability as [ProviderInputFor<Providers, Capability>] extends [never] ? never : Capability]: NormalizedProviderProfiles<AdapterOf<ProviderInputFor<Providers, Capability>>>;
49
70
  };
50
71
  export type ApplicationDescriptor<Shape extends EnvShape = EnvShape, Providers extends AppProviderInputs = AppProviderInputs, Exporters extends TelemetryExporterMap = TelemetryExporterMap> = DescriptorBase<"app", string> & NormalizedProviders<Providers> & {
51
72
  readonly env: EnvDefinition<Shape>;
52
- readonly defaults: AppProviderDefaults<Providers>;
73
+ readonly defaults: NormalizedAppProviderDefaults<Providers>;
74
+ readonly compatibility: {
75
+ readonly legacyJobs: boolean;
76
+ };
53
77
  readonly telemetry?: AppTelemetryConfig<Exporters>;
54
78
  readonly server?: ServerConfig;
55
79
  readonly inspector?: InspectorConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"define-app-types.d.ts","sourceRoot":"","sources":["../src/define-app-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"define-app-types.d.ts","sourceRoot":"","sources":["../src/define-app-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACvF,OAAO,KAAK,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACpG,OAAO,KAAK,EACV,0BAA0B,EAC1B,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACpB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IACvC,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7C;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IACvC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACnC;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,eAAO,MAAM,yBAAyB,kFAQ5B,CAAC;AAEX,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/E,KAAK,eAAe,CAAC,UAAU,SAAS,qBAAqB,IAAI,aAAa,CAC5E,mBAAmB,CAAC,eAAe,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC,CACrE,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC5C,QAAQ,CAAC,KAAK,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;IAC1C,+DAA+D;IAC/D,QAAQ,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;IACvC,8BAA8B;IAC9B,QAAQ,CAAC,GAAG,CAAC,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;IACtC,QAAQ,CAAC,KAAK,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;IAC1C,QAAQ,CAAC,KAAK,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;IAC1C,QAAQ,CAAC,QAAQ,CAAC,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;IAChD,QAAQ,CAAC,aAAa,CAAC,EAAE,eAAe,CAAC,aAAa,CAAC,CAAC;CACzD;AAED,KAAK,OAAO,CAAC,KAAK,IAAI,KAAK,SAAS,mBAAmB,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,KAAK,EAAE,MAAM,CAAC,CAAC;AAEnG,KAAK,gBAAgB,CACnB,SAAS,SAAS,iBAAiB,EACnC,UAAU,SAAS,qBAAqB,IACtC,UAAU,SAAS,KAAK,GACxB,MAAM,SAAS,MAAM,SAAS,GAC5B,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,GAC9B,KAAK,SAAS,MAAM,SAAS,GAC3B,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,GAC7B,KAAK,GACT,UAAU,SAAS,MAAM,SAAS,GAChC,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,GAClC,KAAK,CAAC;AAEZ,KAAK,UAAU,CAAC,SAAS,SAAS,iBAAiB,EAAE,UAAU,SAAS,qBAAqB,IAAI;IAC/F,gBAAgB,CAAC,SAAS,EAAE,UAAU,CAAC;CACxC,SAAS,CAAC,KAAK,CAAC,GACb,KAAK,GACL,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;AAErD,+EAA+E;AAC/E,MAAM,MAAM,mBAAmB,CAAC,SAAS,SAAS,iBAAiB,IAAI,QAAQ,CAAC;KAC7E,UAAU,IAAI,OAAO,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC;CAC1F,CAAC,GAAG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC7C,8BAA8B;IAC9B,QAAQ,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,6BAA6B,CAAC,SAAS,SAAS,iBAAiB,IAAI,QAAQ,CAAC;KACvF,UAAU,IAAI,qBAAqB,CAAC,CAAC,EAAE,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC;CAC1E,CAAC,CAAC;AAEH,MAAM,MAAM,kBAAkB,CAAC,SAAS,SAAS,oBAAoB,GAAG,oBAAoB,IAC1F,sBAAsB,CAAC,SAAS,CAAC,CAAC;AACpC,MAAM,MAAM,mBAAmB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;AAEtE,MAAM,MAAM,gBAAgB,CAC1B,KAAK,SAAS,QAAQ,EACtB,SAAS,SAAS,iBAAiB,EACnC,SAAS,SAAS,oBAAoB,GAAG,oBAAoB,IAC3D,kBAAkB,GACpB,SAAS,GAAG;IACV,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IACnC,QAAQ,CAAC,QAAQ,CAAC,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACnD,QAAQ,CAAC,aAAa,CAAC,EAAE,sBAAsB,CAAC;IAChD,QAAQ,CAAC,SAAS,CAAC,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACnD,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,eAAe,CAAC;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAC3C,CAAC;AAEJ,KAAK,SAAS,CAAC,KAAK,IAClB,KAAK,SAAS,mBAAmB,CAAC,MAAM,OAAO,CAAC,GAC5C,OAAO,GACP,KAAK,SAAS,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,CAAC,GACnD,OAAO,SAAS,mBAAmB,CAAC,MAAM,OAAO,CAAC,GAChD,OAAO,GACP,KAAK,GACP,KAAK,CAAC;AAEd,KAAK,mBAAmB,CAAC,SAAS,SAAS,iBAAiB,IAAI;IAC9D,QAAQ,EACN,UAAU,IAAI,qBAAqB,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAC5F,KAAK,GACL,UAAU,GACb,0BAA0B,CAAC,SAAS,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;CAClF,CAAC;AAEF,MAAM,MAAM,qBAAqB,CAC/B,KAAK,SAAS,QAAQ,GAAG,QAAQ,EACjC,SAAS,SAAS,iBAAiB,GAAG,iBAAiB,EACvD,SAAS,SAAS,oBAAoB,GAAG,oBAAoB,IAC3D,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,GAC/B,mBAAmB,CAAC,SAAS,CAAC,GAAG;IAC/B,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IACnC,QAAQ,CAAC,QAAQ,EAAE,6BAA6B,CAAC,SAAS,CAAC,CAAC;IAC5D,QAAQ,CAAC,aAAa,EAAE;QAAE,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;KAAE,CAAC;IACzD,QAAQ,CAAC,SAAS,CAAC,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACnD,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,eAAe,CAAC;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAC3C,CAAC"}
@@ -1,2 +1,10 @@
1
- export const APP_PROVIDER_CAPABILITIES = ["bucket", "cache", "job", "event", "model"];
1
+ export const APP_PROVIDER_CAPABILITIES = [
2
+ "bucket",
3
+ "cache",
4
+ "job",
5
+ "event",
6
+ "model",
7
+ "realtime",
8
+ "agent-state",
9
+ ];
2
10
  //# sourceMappingURL=define-app-types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"define-app-types.js","sourceRoot":"","sources":["../src/define-app-types.ts"],"names":[],"mappings":"AA8BA,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAU,CAAC"}
1
+ {"version":3,"file":"define-app-types.js","sourceRoot":"","sources":["../src/define-app-types.ts"],"names":[],"mappings":"AAkCA,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,QAAQ;IACR,OAAO;IACP,KAAK;IACL,OAAO;IACP,OAAO;IACP,UAAU;IACV,aAAa;CACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"define-app.d.ts","sourceRoot":"","sources":["../src/define-app.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG/C,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,iCAAiC,CAAC;AAQzC,OAAO,EAEL,KAAK,qBAAqB,EAG1B,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACtB,MAAM,uBAAuB,CAAC;AAE/B,cAAc,uBAAuB,CAAC;AAgBtC;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,SAAS,CACvB,KAAK,CAAC,KAAK,SAAS,QAAQ,EAC5B,KAAK,CAAC,SAAS,SAAS,iBAAiB,EACzC,KAAK,CAAC,SAAS,SAAS,oBAAoB,GAAG,oBAAoB,EAEnE,OAAO,EAAE,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,GACrD,qBAAqB,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,CAoBpD"}
1
+ {"version":3,"file":"define-app.d.ts","sourceRoot":"","sources":["../src/define-app.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG/C,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,iCAAiC,CAAC;AAQzC,OAAO,EAEL,KAAK,qBAAqB,EAG1B,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EAEtB,MAAM,uBAAuB,CAAC;AAE/B,cAAc,uBAAuB,CAAC;AAkBtC;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,SAAS,CACvB,KAAK,CAAC,KAAK,SAAS,QAAQ,EAC5B,KAAK,CAAC,SAAS,SAAS,iBAAiB,EACzC,KAAK,CAAC,SAAS,SAAS,oBAAoB,GAAG,oBAAoB,EAEnE,OAAO,EAAE,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,GACrD,qBAAqB,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,CA4BpD"}
@@ -2,7 +2,7 @@ import { createDescriptorBase, deepFreeze, serializeJson } from "@relkit/contrac
2
2
  import { createUnboundIdentity } from "@relkit/invocation";
3
3
  import { normalizeTelemetryConfiguration, } from "@relkit/observability/telemetry";
4
4
  import { defineProviderCapability, normalizeProviderProfiles, } from "@relkit/provider";
5
- import { isEnvDefinition } from "./app-validation.js";
5
+ import { assertExclusiveAlias, isEnvDefinition, normalizeCompatibility } from "./app-validation.js";
6
6
  import { APP_PROVIDER_CAPABILITIES, } from "./define-app-types.js";
7
7
  export * from "./define-app-types.js";
8
8
  const OPTION_KEYS = new Set([
@@ -12,11 +12,13 @@ const OPTION_KEYS = new Set([
12
12
  "tags",
13
13
  "env",
14
14
  "defaults",
15
+ "compatibility",
15
16
  "telemetry",
16
17
  "server",
17
18
  "inspector",
18
19
  "deployment",
19
20
  ...APP_PROVIDER_CAPABILITIES,
21
+ "jobs",
20
22
  ]);
21
23
  /**
22
24
  * Defines one immutable application topology.
@@ -40,12 +42,15 @@ export function defineApp(options) {
40
42
  for (const key of Object.keys(options))
41
43
  if (!OPTION_KEYS.has(key))
42
44
  throw new TypeError(`Unknown defineApp option "${key}"`);
45
+ assertExclusiveAlias(options, "jobs", "job", "defineApp");
46
+ assertExclusiveAlias((options.defaults ?? {}), "jobs", "job", "defineApp defaults");
43
47
  const providers = normalizeProviders(options);
44
48
  const defaults = normalizeDefaults(providers, options.defaults);
45
49
  const base = createDescriptorBase("app", options.id ?? createUnboundIdentity(), options);
46
50
  return deepFreeze({
47
51
  ...base,
48
52
  env: options.env,
53
+ compatibility: normalizeCompatibility(options.compatibility),
49
54
  ...providers,
50
55
  defaults,
51
56
  ...(options.telemetry === undefined
@@ -59,7 +64,7 @@ export function defineApp(options) {
59
64
  function normalizeProviders(options) {
60
65
  const result = {};
61
66
  for (const capability of APP_PROVIDER_CAPABILITIES) {
62
- const input = options[capability];
67
+ const input = capability === "job" ? (options.jobs ?? options.job) : options[capability];
63
68
  if (input !== undefined)
64
69
  result[capability] = normalizeProviderProfiles(defineProviderCapability(capability), input);
65
70
  }
@@ -67,7 +72,8 @@ function normalizeProviders(options) {
67
72
  }
68
73
  function normalizeDefaults(providers, defaults) {
69
74
  const result = {};
70
- for (const [capability, selected] of Object.entries(defaults ?? {})) {
75
+ for (const [rawCapability, selected] of Object.entries(defaults ?? {})) {
76
+ const capability = rawCapability === "jobs" ? "job" : rawCapability;
71
77
  if (!APP_PROVIDER_CAPABILITIES.includes(capability))
72
78
  throw new TypeError(`Unknown default capability "${capability}"`);
73
79
  const profiles = providers[capability]?.profiles;
@@ -1 +1 @@
1
- {"version":3,"file":"define-app.js","sourceRoot":"","sources":["../src/define-app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"define-app.js","sourceRoot":"","sources":["../src/define-app.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -9,6 +9,9 @@ export * from "@relkit/functions";
9
9
  export { bindDescriptorIdentity } from "@relkit/invocation";
10
10
  export type { EventAttributeValue, EventPublishOptions, EventPublishResult } from "@relkit/events";
11
11
  export * from "@relkit/jobs";
12
+ export type { TaskClientFor, TaskClients, TaskTriggerOptions } from "@relkit/jobs";
13
+ export * from "./tasks.js";
14
+ export * from "@relkit/realtime";
12
15
  export * from "@relkit/routes";
13
16
  export * from "@relkit/services";
14
17
  export * from "@relkit/tools";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACnG,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACnG,cAAc,cAAc,CAAC;AAC7B,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACnF,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC"}
package/dist/index.js CHANGED
@@ -8,6 +8,8 @@ export * from "@relkit/events";
8
8
  export * from "@relkit/functions";
9
9
  export { bindDescriptorIdentity } from "@relkit/invocation";
10
10
  export * from "@relkit/jobs";
11
+ export * from "./tasks.js";
12
+ export * from "@relkit/realtime";
11
13
  export * from "@relkit/routes";
12
14
  export * from "@relkit/services";
13
15
  export * from "@relkit/tools";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,cAAc,cAAc,CAAC;AAE7B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "@relkit/jobs/legacy";
2
+ //# sourceMappingURL=jobs-legacy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jobs-legacy.d.ts","sourceRoot":"","sources":["../src/jobs-legacy.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "@relkit/jobs/legacy";
2
+ //# sourceMappingURL=jobs-legacy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jobs-legacy.js","sourceRoot":"","sources":["../src/jobs-legacy.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC"}
package/dist/jobs.d.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  export * from "@relkit/jobs";
2
+ export type { RunStatus } from "@relkit/contracts/jobs";
2
3
  //# sourceMappingURL=jobs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"jobs.d.ts","sourceRoot":"","sources":["../src/jobs.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"jobs.d.ts","sourceRoot":"","sources":["../src/jobs.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,YAAY,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "@relkit/realtime";
2
+ //# sourceMappingURL=realtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"realtime.d.ts","sourceRoot":"","sources":["../src/realtime.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "@relkit/realtime";
2
+ //# sourceMappingURL=realtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"realtime.js","sourceRoot":"","sources":["../src/realtime.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { assertTaskDescriptor, defineTask, isTaskDescriptor } from "@relkit/jobs";
2
+ export type { DefineTaskOptions, JobDescriptorForThisTask, NormalizedTaskRetryPolicy, RunResultOptions, ServerTriggerOptions, TaskAuthContext, TaskCallerInput, TaskCanonicalInput, TaskConcurrency, TaskContext, TaskContextBase, TaskDependencies, TaskDescriptor, TaskDescriptorAny, TaskExecution, TaskFailureHook, TaskHandler, TaskHandlerResult, TaskHookContext, TaskInput, TaskLogging, TaskOutput, TaskProgressInput, TaskProgressOutput, TaskProgressEmitter, TaskResources, TaskRetryPolicy, TaskRunContext, TaskSleepOptions, TaskStartHook, TaskStreamEmitter, TaskStreamEmitters, TaskStreamFrames, TaskStreamItem, TaskStreamInput, TaskStreamOutput, TaskStreamSchemas, TaskSuccessHook, TaskTriggerOptions, TaskRawHandlerOutput, TaskValidatedOutput, TriggerOptions, } from "@relkit/jobs";
3
+ //# sourceMappingURL=tasks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../src/tasks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAClF,YAAY,EACV,iBAAiB,EACjB,wBAAwB,EACxB,yBAAyB,EACzB,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,SAAS,EACT,WAAW,EACX,UAAU,EACV,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,GACf,MAAM,cAAc,CAAC"}
package/dist/tasks.js ADDED
@@ -0,0 +1,2 @@
1
+ export { assertTaskDescriptor, defineTask, isTaskDescriptor } from "@relkit/jobs";
2
+ //# sourceMappingURL=tasks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tasks.js","sourceRoot":"","sources":["../src/tasks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@relkit/app",
3
- "version": "0.4.0",
3
+ "version": "0.5.1",
4
4
  "description": "The primary typed application-authoring API for RELKIT.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -47,6 +47,10 @@
47
47
  "types": "./dist/events.d.ts",
48
48
  "import": "./dist/events.js"
49
49
  },
50
+ "./realtime": {
51
+ "types": "./dist/realtime.d.ts",
52
+ "import": "./dist/realtime.js"
53
+ },
50
54
  "./agents": {
51
55
  "types": "./dist/agents.d.ts",
52
56
  "import": "./dist/agents.js"
@@ -55,6 +59,14 @@
55
59
  "types": "./dist/jobs.d.ts",
56
60
  "import": "./dist/jobs.js"
57
61
  },
62
+ "./jobs/legacy": {
63
+ "types": "./dist/jobs-legacy.d.ts",
64
+ "import": "./dist/jobs-legacy.js"
65
+ },
66
+ "./tasks": {
67
+ "types": "./dist/tasks.d.ts",
68
+ "import": "./dist/tasks.js"
69
+ },
58
70
  "./cache": {
59
71
  "types": "./dist/cache.d.ts",
60
72
  "import": "./dist/cache.js"
@@ -73,21 +85,22 @@
73
85
  }
74
86
  },
75
87
  "dependencies": {
76
- "@relkit/agents": "0.4.0",
77
- "@relkit/buckets": "0.4.0",
78
- "@relkit/cache": "0.4.0",
79
- "@relkit/config": "0.4.0",
80
- "@relkit/contracts": "0.4.0",
81
- "@relkit/events": "0.4.0",
82
- "@relkit/functions": "0.4.0",
83
- "@relkit/invocation": "0.4.0",
84
- "@relkit/jobs": "0.4.0",
85
- "@relkit/observability": "0.4.0",
86
- "@relkit/provider": "0.4.0",
87
- "@relkit/routes": "0.4.0",
88
- "@relkit/schema": "0.4.0",
89
- "@relkit/services": "0.4.0",
90
- "@relkit/tools": "0.4.0"
88
+ "@relkit/agents": "0.5.1",
89
+ "@relkit/buckets": "0.5.1",
90
+ "@relkit/cache": "0.5.1",
91
+ "@relkit/config": "0.5.1",
92
+ "@relkit/contracts": "0.5.1",
93
+ "@relkit/events": "0.5.1",
94
+ "@relkit/functions": "0.5.1",
95
+ "@relkit/invocation": "0.5.1",
96
+ "@relkit/jobs": "0.5.1",
97
+ "@relkit/observability": "0.5.1",
98
+ "@relkit/provider": "0.5.1",
99
+ "@relkit/realtime": "0.5.1",
100
+ "@relkit/routes": "0.5.1",
101
+ "@relkit/schema": "0.5.1",
102
+ "@relkit/services": "0.5.1",
103
+ "@relkit/tools": "0.5.1"
91
104
  },
92
105
  "scripts": {
93
106
  "build": "tsc -b",