SDK
Angular SDK
Angular SDK
Source Code
https://github.com/orquestadev/orquesta-javascript/tree/main/packages/angular
Installation
npm install @orquesta/angular
yarn add @orquesta/angular
Creating a client instance
You can get your workspace API key from the settings section in your Orquesta workspace.
https://my.orquesta.dev/<workspace>/settings/developers
Initialize Orquesta module using your API Key.
import { provideOrquesta } from '@orquesta/angular';
bootstrapApplication(AppComponent, {
providers: [
provideOrquesta({
api_key: '__API_KEY__',
ttl: 3000,
}),
],
});
When creating a client instance, the following connection settings can be adjusted:
api_key
string - your workspace API key to use for authentication.ttl?
number - the time to live in seconds for the local cache. Default is 3600 seconds (1 hour).
Usage - Remote Configurations
Important Note: If you want to use the Prompts API in Angular reach out to us.
Orquesta has a powerful Remote Configurations API that allows you to configure and run all your environments and services remotely dynamically. Orquesta supports different types of remote configurations, and we recommend always typing the query
method to help Typescript infer the correct type.
The useOrquestaRemoteConfig
hook receives an object of type OrquestaRemoteConfigQuery
as parameter.
Supported types: boolean
, number
, string
, JSON
, array
Example: Querying a configuration of type boolean
import { inject } from '@angular/core';
import { OrquestaClient } from '@orquesta/angular';
import { OrquestaRemoteConfig } from '@orquesta/js-sdk';
import { tap } from 'rxjs';
@Component({})
export class AppComponent {
private orquesta = inject(OrquestaClient);
config$: Observable<OrquestaRemoteConfig<boolean>> =
this.orquesta.remoteConfigs.query<boolean>({
key: 'boolean_config',
default_value: false,
context: { environments: 'production', role: 'admin' },
metadata: { timestamp: Date.now() },
});
addMetadata(): void {
this.config$.pipe(
tap((config) =>
config.addMetrics({
metadata: {
user_id: '123',
},
})
)
);
}
}
Example: Querying a configuration of type string
config$: Observable<OrquestaRemoteConfig<string>> =
this.orquesta.remoteConfigs.query<string>({
key: "string_config",
default_value: "string_value",
context: { environments: "production", country: "NL" },
metadata: { timestamp: Date.now() },
});
Example: Querying a configuration of type number
config$: Observable<OrquestaRemoteConfig<number>> =
this.orquesta.remoteConfigs.query<number>({
key: "number_config",
default_value: 1990,
context: { environments: "production", market: "US", domain: "ecommerce" },
metadata: { timestamp: Date.now() },
});
Example: Querying a configuration of type array
config$: Observable<OrquestaRemoteConfig<string[]>> =
this.orquesta.remoteConfigs.query<string[]>({
key: "array_config",
default_value: ["value1", "value2"],
context: { environments: "acceptance", isEnable: true },
metadata: { timestamp: Date.now() },
});
Example: Querying a configuration of type JSON
It's recommended to add an interface to the JSON configuration to help Typescript infer the correct type.
config$: Observable<OrquestaRemoteConfig<object>> =
this.orquesta.remoteConfigs.query<object>({
key: "json_config",
default_value: { dashboardEnabled: false, theme: "dark" },
context: { environments: "develop", platform: "mobile" },
metadata: { timestamp: Date.now() },
});
Additional metadata logging
After every query, Orquesta will generate a log with data about the request. You can add additional metadata to the log by using the addMetrics
method at any time.
metadata
is a set key-value pairs that you can use to add custom information to each log.
Example: Add metrics to your request log
public reportMetrics() {
config$.pipe(
tap((config) =>
config.addMetrics({
metadata: {
user_id: '123',
},
})
)
);
}
Remote Configurations API
OrquestaRemoteConfigQuery
key string
Key of remote configuration to retrieve
default_value T
The value to be used in case there is an error during evaluation or the remote configuration does not exist
context Record<string, unknown>
optional
Set of key-value pairs from your data model that should be compared against the values in the configuration matrix
metadata Record<string, unknown>
optional
Set of key-value pairs of metadata to attach to the generated log after the evaluation
OrquestaRemoteConfig
value T
The value of the remote configuration
type OrquestaRemoteConfigType
Return type of the remote configuration
trace_id string
race ID of the request log to use to report metadata to the API if the method addMetrics
is not used
addMetrics (payload: OrquestaRemoteConfigMetrics) => Promise<void>
A method that reports metadata to the request log after the configuration value is returned. At least one of the properties is required
OrquestaRemoteConfigMetrics
metadata Record<string, unknown>
optional
Set of key-value pairs of metadata you want to attach to the request log
Angular SDK
Source Code
https://github.com/orquestadev/orquesta-javascript/tree/main/packages/angular
Installation
npm install @orquesta/angular
yarn add @orquesta/angular
Creating a client instance
You can get your workspace API key from the settings section in your Orquesta workspace.
https://my.orquesta.dev/<workspace>/settings/developers
Initialize Orquesta module using your API Key.
import { provideOrquesta } from '@orquesta/angular';
bootstrapApplication(AppComponent, {
providers: [
provideOrquesta({
api_key: '__API_KEY__',
ttl: 3000,
}),
],
});
When creating a client instance, the following connection settings can be adjusted:
api_key
string - your workspace API key to use for authentication.ttl?
number - the time to live in seconds for the local cache. Default is 3600 seconds (1 hour).
Usage - Remote Configurations
Important Note: If you want to use the Prompts API in Angular reach out to us.
Orquesta has a powerful Remote Configurations API that allows you to configure and run all your environments and services remotely dynamically. Orquesta supports different types of remote configurations, and we recommend always typing the query
method to help Typescript infer the correct type.
The useOrquestaRemoteConfig
hook receives an object of type OrquestaRemoteConfigQuery
as parameter.
Supported types: boolean
, number
, string
, JSON
, array
Example: Querying a configuration of type boolean
import { inject } from '@angular/core';
import { OrquestaClient } from '@orquesta/angular';
import { OrquestaRemoteConfig } from '@orquesta/js-sdk';
import { tap } from 'rxjs';
@Component({})
export class AppComponent {
private orquesta = inject(OrquestaClient);
config$: Observable<OrquestaRemoteConfig<boolean>> =
this.orquesta.remoteConfigs.query<boolean>({
key: 'boolean_config',
default_value: false,
context: { environments: 'production', role: 'admin' },
metadata: { timestamp: Date.now() },
});
addMetadata(): void {
this.config$.pipe(
tap((config) =>
config.addMetrics({
metadata: {
user_id: '123',
},
})
)
);
}
}
Example: Querying a configuration of type string
config$: Observable<OrquestaRemoteConfig<string>> =
this.orquesta.remoteConfigs.query<string>({
key: "string_config",
default_value: "string_value",
context: { environments: "production", country: "NL" },
metadata: { timestamp: Date.now() },
});
Example: Querying a configuration of type number
config$: Observable<OrquestaRemoteConfig<number>> =
this.orquesta.remoteConfigs.query<number>({
key: "number_config",
default_value: 1990,
context: { environments: "production", market: "US", domain: "ecommerce" },
metadata: { timestamp: Date.now() },
});
Example: Querying a configuration of type array
config$: Observable<OrquestaRemoteConfig<string[]>> =
this.orquesta.remoteConfigs.query<string[]>({
key: "array_config",
default_value: ["value1", "value2"],
context: { environments: "acceptance", isEnable: true },
metadata: { timestamp: Date.now() },
});
Example: Querying a configuration of type JSON
It's recommended to add an interface to the JSON configuration to help Typescript infer the correct type.
config$: Observable<OrquestaRemoteConfig<object>> =
this.orquesta.remoteConfigs.query<object>({
key: "json_config",
default_value: { dashboardEnabled: false, theme: "dark" },
context: { environments: "develop", platform: "mobile" },
metadata: { timestamp: Date.now() },
});
Additional metadata logging
After every query, Orquesta will generate a log with data about the request. You can add additional metadata to the log by using the addMetrics
method at any time.
metadata
is a set key-value pairs that you can use to add custom information to each log.
Example: Add metrics to your request log
public reportMetrics() {
config$.pipe(
tap((config) =>
config.addMetrics({
metadata: {
user_id: '123',
},
})
)
);
}
Remote Configurations API
OrquestaRemoteConfigQuery
key string
Key of remote configuration to retrieve
default_value T
The value to be used in case there is an error during evaluation or the remote configuration does not exist
context Record<string, unknown>
optional
Set of key-value pairs from your data model that should be compared against the values in the configuration matrix
metadata Record<string, unknown>
optional
Set of key-value pairs of metadata to attach to the generated log after the evaluation
OrquestaRemoteConfig
value T
The value of the remote configuration
type OrquestaRemoteConfigType
Return type of the remote configuration
trace_id string
race ID of the request log to use to report metadata to the API if the method addMetrics
is not used
addMetrics (payload: OrquestaRemoteConfigMetrics) => Promise<void>
A method that reports metadata to the request log after the configuration value is returned. At least one of the properties is required
OrquestaRemoteConfigMetrics
metadata Record<string, unknown>
optional
Set of key-value pairs of metadata you want to attach to the request log
Angular SDK
Source Code
https://github.com/orquestadev/orquesta-javascript/tree/main/packages/angular
Installation
npm install @orquesta/angular
yarn add @orquesta/angular
Creating a client instance
You can get your workspace API key from the settings section in your Orquesta workspace.
https://my.orquesta.dev/<workspace>/settings/developers
Initialize Orquesta module using your API Key.
import { provideOrquesta } from '@orquesta/angular';
bootstrapApplication(AppComponent, {
providers: [
provideOrquesta({
api_key: '__API_KEY__',
ttl: 3000,
}),
],
});
When creating a client instance, the following connection settings can be adjusted:
api_key
string - your workspace API key to use for authentication.ttl?
number - the time to live in seconds for the local cache. Default is 3600 seconds (1 hour).
Usage - Remote Configurations
Important Note: If you want to use the Prompts API in Angular reach out to us.
Orquesta has a powerful Remote Configurations API that allows you to configure and run all your environments and services remotely dynamically. Orquesta supports different types of remote configurations, and we recommend always typing the query
method to help Typescript infer the correct type.
The useOrquestaRemoteConfig
hook receives an object of type OrquestaRemoteConfigQuery
as parameter.
Supported types: boolean
, number
, string
, JSON
, array
Example: Querying a configuration of type boolean
import { inject } from '@angular/core';
import { OrquestaClient } from '@orquesta/angular';
import { OrquestaRemoteConfig } from '@orquesta/js-sdk';
import { tap } from 'rxjs';
@Component({})
export class AppComponent {
private orquesta = inject(OrquestaClient);
config$: Observable<OrquestaRemoteConfig<boolean>> =
this.orquesta.remoteConfigs.query<boolean>({
key: 'boolean_config',
default_value: false,
context: { environments: 'production', role: 'admin' },
metadata: { timestamp: Date.now() },
});
addMetadata(): void {
this.config$.pipe(
tap((config) =>
config.addMetrics({
metadata: {
user_id: '123',
},
})
)
);
}
}
Example: Querying a configuration of type string
config$: Observable<OrquestaRemoteConfig<string>> =
this.orquesta.remoteConfigs.query<string>({
key: "string_config",
default_value: "string_value",
context: { environments: "production", country: "NL" },
metadata: { timestamp: Date.now() },
});
Example: Querying a configuration of type number
config$: Observable<OrquestaRemoteConfig<number>> =
this.orquesta.remoteConfigs.query<number>({
key: "number_config",
default_value: 1990,
context: { environments: "production", market: "US", domain: "ecommerce" },
metadata: { timestamp: Date.now() },
});
Example: Querying a configuration of type array
config$: Observable<OrquestaRemoteConfig<string[]>> =
this.orquesta.remoteConfigs.query<string[]>({
key: "array_config",
default_value: ["value1", "value2"],
context: { environments: "acceptance", isEnable: true },
metadata: { timestamp: Date.now() },
});
Example: Querying a configuration of type JSON
It's recommended to add an interface to the JSON configuration to help Typescript infer the correct type.
config$: Observable<OrquestaRemoteConfig<object>> =
this.orquesta.remoteConfigs.query<object>({
key: "json_config",
default_value: { dashboardEnabled: false, theme: "dark" },
context: { environments: "develop", platform: "mobile" },
metadata: { timestamp: Date.now() },
});
Additional metadata logging
After every query, Orquesta will generate a log with data about the request. You can add additional metadata to the log by using the addMetrics
method at any time.
metadata
is a set key-value pairs that you can use to add custom information to each log.
Example: Add metrics to your request log
public reportMetrics() {
config$.pipe(
tap((config) =>
config.addMetrics({
metadata: {
user_id: '123',
},
})
)
);
}
Remote Configurations API
OrquestaRemoteConfigQuery
key string
Key of remote configuration to retrieve
default_value T
The value to be used in case there is an error during evaluation or the remote configuration does not exist
context Record<string, unknown>
optional
Set of key-value pairs from your data model that should be compared against the values in the configuration matrix
metadata Record<string, unknown>
optional
Set of key-value pairs of metadata to attach to the generated log after the evaluation
OrquestaRemoteConfig
value T
The value of the remote configuration
type OrquestaRemoteConfigType
Return type of the remote configuration
trace_id string
race ID of the request log to use to report metadata to the API if the method addMetrics
is not used
addMetrics (payload: OrquestaRemoteConfigMetrics) => Promise<void>
A method that reports metadata to the request log after the configuration value is returned. At least one of the properties is required
OrquestaRemoteConfigMetrics
metadata Record<string, unknown>
optional
Set of key-value pairs of metadata you want to attach to the request log