Socket
Socket
Sign inDemoInstall

@temporalio/common

Package Overview
Dependencies
Maintainers
4
Versions
64
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@temporalio/common - npm Package Compare versions

Comparing version 0.12.0 to 0.13.0

19

lib/otel.d.ts

@@ -1,4 +0,5 @@

import { Span, SpanContext } from '@opentelemetry/api';
import * as otel from '@opentelemetry/api';
import { Headers } from './interceptors';
export declare const TRACE_HEADER = "Otel-Trace-Context";
/** Default trace header for opentelemetry interceptors */
export declare const TRACE_HEADER = "_tracer-data";
/** As in workflow run id */

@@ -11,12 +12,16 @@ export declare const RUN_ID_ATTR_KEY = "run_id";

/**
* If found, return a span context deserialized from the provided headers
* If found, return an otel Context deserialized from the provided headers
*/
export declare function extractSpanContextFromHeaders(headers: Headers): Promise<SpanContext | undefined>;
export declare function extractContextFromHeaders(headers: Headers): Promise<otel.Context | undefined>;
/**
* Given a span context & headers, return new headers with the span context inserted
* If found, return an otel SpanContext deserialized from the provided headers
*/
export declare function headersWithSpanContext(context: SpanContext, headers: Headers): Promise<Headers>;
export declare function extractSpanContextFromHeaders(headers: Headers): Promise<otel.SpanContext | undefined>;
/**
* Given headers, return new headers with the current otel context inserted
*/
export declare function headersWithContext(headers: Headers): Promise<Headers>;
/**
* Link a span to an maybe-existing span context
*/
export declare function linkSpans(fromSpan: Span, toContext?: SpanContext): void;
export declare function linkSpans(fromSpan: otel.Span, toContext?: otel.SpanContext): void;
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.linkSpans = exports.headersWithSpanContext = exports.extractSpanContextFromHeaders = exports.NUM_JOBS_ATTR_KEY = exports.TASK_TOKEN_ATTR_KEY = exports.RUN_ID_ATTR_KEY = exports.TRACE_HEADER = void 0;
const api_1 = require("@opentelemetry/api");
exports.linkSpans = exports.headersWithContext = exports.extractSpanContextFromHeaders = exports.extractContextFromHeaders = exports.NUM_JOBS_ATTR_KEY = exports.TASK_TOKEN_ATTR_KEY = exports.RUN_ID_ATTR_KEY = exports.TRACE_HEADER = void 0;
const otel = __importStar(require("@opentelemetry/api"));
const data_converter_1 = require("./converter/data-converter");
exports.TRACE_HEADER = 'Otel-Trace-Context';
/** Default trace header for opentelemetry interceptors */
exports.TRACE_HEADER = '_tracer-data';
/** As in workflow run id */

@@ -14,5 +34,5 @@ exports.RUN_ID_ATTR_KEY = 'run_id';

/**
* If found, return a span context deserialized from the provided headers
* If found, return an otel Context deserialized from the provided headers
*/
async function extractSpanContextFromHeaders(headers) {
async function extractContextFromHeaders(headers) {
const encodedSpanContext = headers[exports.TRACE_HEADER];

@@ -22,16 +42,26 @@ if (encodedSpanContext === undefined) {

}
const decoded = await data_converter_1.defaultDataConverter.fromPayload(encodedSpanContext);
if ((0, api_1.isSpanContextValid)(decoded)) {
return decoded;
const textMap = await data_converter_1.defaultDataConverter.fromPayload(encodedSpanContext);
return otel.propagation.extract(otel.context.active(), textMap, otel.defaultTextMapGetter);
}
exports.extractContextFromHeaders = extractContextFromHeaders;
/**
* If found, return an otel SpanContext deserialized from the provided headers
*/
async function extractSpanContextFromHeaders(headers) {
const context = await extractContextFromHeaders(headers);
if (context === undefined) {
return undefined;
}
return undefined;
return otel.trace.getSpanContext(context);
}
exports.extractSpanContextFromHeaders = extractSpanContextFromHeaders;
/**
* Given a span context & headers, return new headers with the span context inserted
* Given headers, return new headers with the current otel context inserted
*/
async function headersWithSpanContext(context, headers) {
return { ...headers, [exports.TRACE_HEADER]: await data_converter_1.defaultDataConverter.toPayload(context) };
async function headersWithContext(headers) {
const carrier = {};
otel.propagation.inject(otel.context.active(), carrier, otel.defaultTextMapSetter);
return { ...headers, [exports.TRACE_HEADER]: await data_converter_1.defaultDataConverter.toPayload(carrier) };
}
exports.headersWithSpanContext = headersWithSpanContext;
exports.headersWithContext = headersWithContext;
/**

@@ -38,0 +68,0 @@ * Link a span to an maybe-existing span context

@@ -9,10 +9,2 @@ import { Workflow, WorkflowResultType, SignalDefinition } from './interfaces';

/**
* Start the Workflow with arguments, returns a Promise that resolves when the Workflow execution completes
*/
execute(...args: Parameters<T>): Promise<WorkflowResultType<T>>;
/**
* Start the Workflow with arguments, returns a Promise that resolves with the execution runId
*/
start(...args: Parameters<T>): Promise<string>;
/**
* Promise that resolves when Workflow execution completes

@@ -19,0 +11,0 @@ */

import { coresdk, google } from '@temporalio/proto/lib/coresdk';
import { Workflow } from './interfaces';
export declare type WorkflowIdReusePolicy = coresdk.common.WorkflowIdReusePolicy;

@@ -49,2 +50,13 @@ export declare const WorkflowIdReusePolicy: typeof coresdk.common.WorkflowIdReusePolicy;

}
export declare type WithWorkflowArgs<W extends Workflow, T> = T & (Parameters<W> extends [any, ...any[]] ? {
/**
* Arguments to pass to the Workflow
*/
args: Parameters<W>;
} : {
/**
* Arguments to pass to the Workflow
*/
args?: Parameters<W>;
});
export interface WorkflowDurationOptions {

@@ -76,5 +88,7 @@ /**

export declare type WorkflowOptions = BaseWorkflowOptions & WorkflowDurationOptions;
export declare type RequiredWorkflowOptions = Required<Pick<BaseWorkflowOptions, 'workflowId' | 'taskQueue'>>;
export declare type WorkflowOptionsWithDefaults = WorkflowOptions & RequiredWorkflowOptions;
export declare type CompiledWorkflowOptions = BaseWorkflowOptions & RequiredWorkflowOptions & {
export declare type RequiredWorkflowOptions<T extends Workflow = Workflow> = Required<Pick<BaseWorkflowOptions, 'workflowId' | 'taskQueue'>> & {
args: Parameters<T>[];
};
export declare type WorkflowOptionsWithDefaults<T extends Workflow = Workflow> = WorkflowOptions & RequiredWorkflowOptions<T>;
export declare type CompiledWorkflowOptions<T extends Workflow = Workflow> = BaseWorkflowOptions & RequiredWorkflowOptions<T> & {
workflowExecutionTimeout?: google.protobuf.IDuration;

@@ -84,2 +98,2 @@ workflowRunTimeout?: google.protobuf.IDuration;

};
export declare function compileWorkflowOptions({ workflowExecutionTimeout, workflowRunTimeout, workflowTaskTimeout, ...rest }: WorkflowOptionsWithDefaults): CompiledWorkflowOptions;
export declare function compileWorkflowOptions<T extends Workflow>({ workflowExecutionTimeout, workflowRunTimeout, workflowTaskTimeout, ...rest }: WorkflowOptionsWithDefaults<T>): CompiledWorkflowOptions<T>;
{
"name": "@temporalio/common",
"version": "0.12.0",
"version": "0.13.0",
"description": "Temporal.io SDK common library for use in Workflow and normal code",

@@ -16,3 +16,3 @@ "main": "lib/index.js",

"dependencies": {
"@temporalio/proto": "^0.12.0",
"@temporalio/proto": "^0.13.0",
"ms": "^2.1.3"

@@ -27,3 +27,3 @@ },

},
"gitHead": "eaa2d205c9bc5ff4a3b17c0b34f2dcf6b1e0264a"
"gitHead": "bbb8d36ad9d310eb44bd19f3f8bb9356e1dd9dfb"
}

@@ -1,6 +0,7 @@

import { isSpanContextValid, Span, SpanContext } from '@opentelemetry/api';
import * as otel from '@opentelemetry/api';
import { defaultDataConverter } from './converter/data-converter';
import { Headers } from './interceptors';
export const TRACE_HEADER = 'Otel-Trace-Context';
/** Default trace header for opentelemetry interceptors */
export const TRACE_HEADER = '_tracer-data';
/** As in workflow run id */

@@ -14,5 +15,5 @@ export const RUN_ID_ATTR_KEY = 'run_id';

/**
* If found, return a span context deserialized from the provided headers
* If found, return an otel Context deserialized from the provided headers
*/
export async function extractSpanContextFromHeaders(headers: Headers): Promise<SpanContext | undefined> {
export async function extractContextFromHeaders(headers: Headers): Promise<otel.Context | undefined> {
const encodedSpanContext = headers[TRACE_HEADER];

@@ -22,14 +23,25 @@ if (encodedSpanContext === undefined) {

}
const decoded: SpanContext = await defaultDataConverter.fromPayload(encodedSpanContext);
if (isSpanContextValid(decoded)) {
return decoded;
const textMap: Record<string, string> = await defaultDataConverter.fromPayload(encodedSpanContext);
return otel.propagation.extract(otel.context.active(), textMap, otel.defaultTextMapGetter);
}
/**
* If found, return an otel SpanContext deserialized from the provided headers
*/
export async function extractSpanContextFromHeaders(headers: Headers): Promise<otel.SpanContext | undefined> {
const context = await extractContextFromHeaders(headers);
if (context === undefined) {
return undefined;
}
return undefined;
return otel.trace.getSpanContext(context);
}
/**
* Given a span context & headers, return new headers with the span context inserted
* Given headers, return new headers with the current otel context inserted
*/
export async function headersWithSpanContext(context: SpanContext, headers: Headers): Promise<Headers> {
return { ...headers, [TRACE_HEADER]: await defaultDataConverter.toPayload(context) };
export async function headersWithContext(headers: Headers): Promise<Headers> {
const carrier = {};
otel.propagation.inject(otel.context.active(), carrier, otel.defaultTextMapSetter);
return { ...headers, [TRACE_HEADER]: await defaultDataConverter.toPayload(carrier) };
}

@@ -40,3 +52,3 @@

*/
export function linkSpans(fromSpan: Span, toContext?: SpanContext): void {
export function linkSpans(fromSpan: otel.Span, toContext?: otel.SpanContext): void {
if (toContext !== undefined) {

@@ -43,0 +55,0 @@ // TODO: I have to go around typescript because otel api 😢

@@ -10,12 +10,2 @@ import { Workflow, WorkflowResultType, SignalDefinition } from './interfaces';

/**
* Start the Workflow with arguments, returns a Promise that resolves when the Workflow execution completes
*/
execute(...args: Parameters<T>): Promise<WorkflowResultType<T>>;
/**
* Start the Workflow with arguments, returns a Promise that resolves with the execution runId
*/
start(...args: Parameters<T>): Promise<string /* runId */>;
/**
* Promise that resolves when Workflow execution completes

@@ -22,0 +12,0 @@ */

import { coresdk, google } from '@temporalio/proto/lib/coresdk';
import { Workflow } from './interfaces';
import { msToTs } from './time';

@@ -8,3 +9,2 @@

// Copied from https://github.com/temporalio/sdk-java/blob/master/temporal-sdk/src/main/java/io/temporal/client/WorkflowOptions.java
export interface BaseWorkflowOptions {

@@ -61,2 +61,17 @@ /**

export type WithWorkflowArgs<W extends Workflow, T> = T &
(Parameters<W> extends [any, ...any[]]
? {
/**
* Arguments to pass to the Workflow
*/
args: Parameters<W>;
}
: {
/**
* Arguments to pass to the Workflow
*/
args?: Parameters<W>;
});
export interface WorkflowDurationOptions {

@@ -92,8 +107,12 @@ /**

export type RequiredWorkflowOptions = Required<Pick<BaseWorkflowOptions, 'workflowId' | 'taskQueue'>>;
export type RequiredWorkflowOptions<T extends Workflow = Workflow> = Required<
Pick<BaseWorkflowOptions, 'workflowId' | 'taskQueue'>
> & {
args: Parameters<T>[];
};
export type WorkflowOptionsWithDefaults = WorkflowOptions & RequiredWorkflowOptions;
export type WorkflowOptionsWithDefaults<T extends Workflow = Workflow> = WorkflowOptions & RequiredWorkflowOptions<T>;
export type CompiledWorkflowOptions = BaseWorkflowOptions &
RequiredWorkflowOptions & {
export type CompiledWorkflowOptions<T extends Workflow = Workflow> = BaseWorkflowOptions &
RequiredWorkflowOptions<T> & {
workflowExecutionTimeout?: google.protobuf.IDuration;

@@ -104,3 +123,3 @@ workflowRunTimeout?: google.protobuf.IDuration;

export function compileWorkflowOptions({
export function compileWorkflowOptions<T extends Workflow>({
workflowExecutionTimeout,

@@ -110,3 +129,3 @@ workflowRunTimeout,

...rest
}: WorkflowOptionsWithDefaults): CompiledWorkflowOptions {
}: WorkflowOptionsWithDefaults<T>): CompiledWorkflowOptions<T> {
return {

@@ -113,0 +132,0 @@ ...rest,

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc