@outputai/core 0.9.0 → 0.9.1-dev.667788.0
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.
- package/package.json +1 -1
- package/src/internal_activities/index.js +6 -2
- package/src/internal_activities/index.spec.js +37 -20
- package/src/tracing/processors/local/temp/traces/019e84c6-23ee-7590-9b96-3677ef70ff7a.trace +10 -0
- package/src/tracing/processors/local/temp/traces/1782328168490_019efb09-902a-79ff-a070-62fe7da66177.trace +5 -0
- package/src/tracing/processors/local/temp/traces/1782328311518_019efb0b-bede-7823-9864-000451c94990.trace +5 -0
- package/src/tracing/processors/local/temp/traces/1782335434971_019efb78-70db-7b6d-a7e2-836004486dfe.trace +5 -0
- package/src/tracing/processors/local/temp/traces/1782336480613_019efb88-6565-7c6d-a656-317aabb14d2b.trace +7 -0
- package/src/tracing/processors/local/temp/traces/1782336510823_019efb88-db67-7c98-9471-496611deb668.trace +8 -0
- package/src/tracing/processors/local/temp/traces/1782336616409_019efb8a-77d9-73bf-be50-773ff96c97c1.trace +8 -0
- package/src/tracing/processors/local/temp/traces/1782337050009_019efb91-1599-7034-b995-580776268a71.trace +9 -0
- package/src/tracing/processors/local/temp/traces/1782338236879_019efba3-31cf-74dd-a731-a6067edc696e.trace +9 -0
- package/src/tracing/processors/local/temp/traces/1782338252839_019efba3-7027-7c45-9ce6-830959710b32.trace +7 -0
- package/src/tracing/processors/local/temp/traces/1782338267579_019efba3-a9bb-70c3-b0e5-5faa4a8c65ab.trace +7 -0
- package/src/tracing/processors/local/temp/traces/1782338277157_019efba3-cf25-7585-9b61-adbd3a27f2bd.trace +7 -0
- package/src/tracing/processors/local/temp/traces/1782338315954_019efba4-66b2-7304-9f48-72c8868414d2.trace +23 -0
- package/src/tracing/processors/local/temp/traces/1782338327628_019efba4-944c-7baf-991e-b29689de2370.trace +8 -0
- package/src/tracing/processors/local/temp/traces/1782338336071_019efba4-b547-7ba5-ba09-8eec9d42563e.trace +23 -0
- package/src/tracing/processors/local/temp/traces/1782402753823_019eff7b-a51f-77ce-87ae-6d14897ccf45.trace +7 -0
- package/src/tracing/processors/local/temp/traces/1782402762165_019eff7b-c5b5-75a5-9376-df3f081a8eb4.trace +13 -0
- package/src/tracing/processors/local/temp/traces/1782407106830_019effbe-110e-710f-b0c6-bfc9ed9aea6f.trace +5 -0
- package/src/tracing/processors/local/temp/traces/1782407208741_019effbf-9f25-754c-8759-1bac48f140f1.trace +5 -0
- package/src/tracing/processors/local/temp/traces/1782408303776_019effd0-54a0-71ef-8dd6-ca7fc056c39e.trace +10 -0
- package/src/tracing/processors/local/temp/traces/1782408323412_019effd0-a154-79b7-a59b-f7b939977b25.trace +9 -0
- package/src/tracing/processors/local/temp/traces/1782408350747_019effd1-0c1b-7aa6-bb50-99bffda60578.trace +9 -0
- package/src/tracing/processors/local/temp/traces/1782417971022_019f0063-d74e-79e5-8c45-0b2454293fbe.trace +3 -0
- package/src/tracing/processors/local/temp/traces/1782418001073_019f0064-4cb1-7e02-87ec-9d16d45de6b0.trace +5 -0
- package/src/tracing/processors/local/temp/traces/1782418826845_019f0070-e65d-75e7-ba18-e02d5f042e76.trace +5 -0
- package/src/tracing/processors/local/temp/traces/1782418845896_019f0071-30c8-73e8-b951-a794ea54734d.trace +5 -0
- package/src/tracing/processors/local/temp/traces/1782419454023_019f007a-7847-770a-8579-736d0d1ea8c3.trace +5 -0
- package/src/tracing/processors/local/temp/traces/1782419596519_019f007c-a4e7-7e8a-ab80-a4e6962cb609.trace +5 -0
- package/src/tracing/processors/local/temp/traces/1782419641903_019f007d-562f-73e5-b47a-12a6c160cae4.trace +5 -0
- package/src/tracing/processors/local/temp/traces/1782421214804_019f0095-5654-7e12-978f-451f5c871f29.trace +5 -0
- package/src/tracing/processors/local/temp/traces/1782421420583_019f0098-7a27-79c5-863f-8c5cdb278e09.trace +5 -0
- package/src/tracing/processors/local/temp/traces/1782422027703_019f00a1-bdb7-729e-9a90-d5554d48eac3.trace +5 -0
- package/src/tracing/processors/local/temp/traces/1782494266451_019f04f0-0453-7575-ad6a-e3dcd7361a76.trace +9 -0
- package/src/tracing/processors/local/temp/traces/1782500853437_019f0554-86bd-765c-b2cc-500970efc891.trace +5 -0
- package/src/tracing/processors/local/temp/traces/1782501441463_019f055d-7fb7-73e2-98c4-7bd50c33c7a7.trace +5 -0
- package/src/tracing/processors/local/temp/traces/1782932572760_019f1f10-0a58-7154-9e8f-092add07b211.trace +23 -0
- package/src/worker/proxy.js +8 -20
- package/src/worker/proxy.spec.js +16 -36
- package/src/worker/temp/__activity_options.js +37 -0
- package/src/worker/temp/__workflows_entrypoint.js +55 -0
package/src/worker/proxy.spec.js
CHANGED
|
@@ -2,6 +2,7 @@ import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
|
|
|
2
2
|
|
|
3
3
|
const mockSetGlobalDispatcher = vi.fn();
|
|
4
4
|
const MockEnvHttpProxyAgent = vi.fn();
|
|
5
|
+
const mockLogger = { info: vi.fn(), warn: vi.fn(), error: vi.fn() };
|
|
5
6
|
|
|
6
7
|
vi.mock( 'undici', () => ( {
|
|
7
8
|
EnvHttpProxyAgent: MockEnvHttpProxyAgent,
|
|
@@ -9,63 +10,42 @@ vi.mock( 'undici', () => ( {
|
|
|
9
10
|
} ) );
|
|
10
11
|
|
|
11
12
|
vi.mock( '#logger', () => ( {
|
|
12
|
-
createChildLogger: () =>
|
|
13
|
+
createChildLogger: () => mockLogger
|
|
13
14
|
} ) );
|
|
14
15
|
|
|
15
16
|
describe( 'worker/proxy', () => {
|
|
16
|
-
const
|
|
17
|
+
const proxyEnv = [ 'http_proxy', 'HTTP_PROXY', 'https_proxy', 'HTTPS_PROXY' ];
|
|
17
18
|
|
|
18
19
|
beforeEach( () => {
|
|
19
20
|
vi.clearAllMocks();
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
delete process.env.http_proxy;
|
|
21
|
+
for ( const key of proxyEnv ) {
|
|
22
|
+
delete process.env[key];
|
|
23
|
+
}
|
|
24
24
|
} );
|
|
25
25
|
|
|
26
26
|
afterEach( () => {
|
|
27
|
-
|
|
27
|
+
vi.resetModules();
|
|
28
28
|
} );
|
|
29
29
|
|
|
30
30
|
it( 'does nothing when no proxy env vars are set', async () => {
|
|
31
31
|
const { bootstrapFetchProxy } = await import( './proxy.js' );
|
|
32
32
|
bootstrapFetchProxy();
|
|
33
33
|
|
|
34
|
+
expect( MockEnvHttpProxyAgent ).not.toHaveBeenCalled();
|
|
34
35
|
expect( mockSetGlobalDispatcher ).not.toHaveBeenCalled();
|
|
36
|
+
expect( mockLogger.info ).not.toHaveBeenCalled();
|
|
35
37
|
} );
|
|
36
38
|
|
|
37
|
-
it( 'sets global dispatcher when
|
|
38
|
-
process.env.
|
|
39
|
+
it( 'sets global dispatcher when proxy URL is available', async () => {
|
|
40
|
+
process.env.HTTP_PROXY = 'http://proxy:8080/';
|
|
39
41
|
const { bootstrapFetchProxy } = await import( './proxy.js' );
|
|
40
42
|
bootstrapFetchProxy();
|
|
41
43
|
|
|
42
|
-
expect( MockEnvHttpProxyAgent ).
|
|
44
|
+
expect( MockEnvHttpProxyAgent ).toHaveBeenCalledWith( { allowH2: false } );
|
|
43
45
|
expect( mockSetGlobalDispatcher ).toHaveBeenCalledTimes( 1 );
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
const { bootstrapFetchProxy } = await import( './proxy.js' );
|
|
49
|
-
bootstrapFetchProxy();
|
|
50
|
-
|
|
51
|
-
expect( MockEnvHttpProxyAgent ).toHaveBeenCalled();
|
|
52
|
-
expect( mockSetGlobalDispatcher ).toHaveBeenCalledTimes( 1 );
|
|
53
|
-
} );
|
|
54
|
-
|
|
55
|
-
it( 'prefers HTTPS_PROXY over HTTP_PROXY for detection', async () => {
|
|
56
|
-
process.env.HTTPS_PROXY = 'http://secure-proxy:8080';
|
|
57
|
-
process.env.HTTP_PROXY = 'http://plain-proxy:8080';
|
|
58
|
-
const { bootstrapFetchProxy } = await import( './proxy.js' );
|
|
59
|
-
bootstrapFetchProxy();
|
|
60
|
-
|
|
61
|
-
expect( mockSetGlobalDispatcher ).toHaveBeenCalledTimes( 1 );
|
|
62
|
-
} );
|
|
63
|
-
|
|
64
|
-
it( 'does not set global dispatcher when proxy URL is malformed', async () => {
|
|
65
|
-
process.env.HTTPS_PROXY = 'not a url';
|
|
66
|
-
const { bootstrapFetchProxy } = await import( './proxy.js' );
|
|
67
|
-
bootstrapFetchProxy();
|
|
68
|
-
|
|
69
|
-
expect( mockSetGlobalDispatcher ).not.toHaveBeenCalled();
|
|
46
|
+
expect( mockLogger.info ).toHaveBeenCalledWith(
|
|
47
|
+
'Proxy env vars detected, setting up global fetch dispatcher EnvHttpProxyAgent',
|
|
48
|
+
{ httpProxyUrl: 'http://proxy:8080/', httpsProxyUrl: undefined }
|
|
49
|
+
);
|
|
70
50
|
} );
|
|
71
51
|
} );
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
"execute_in_parallel#sumValues": {
|
|
3
|
+
"retry": {
|
|
4
|
+
"initialInterval": "5s"
|
|
5
|
+
}
|
|
6
|
+
},
|
|
7
|
+
"helper_fn#sumValues": {
|
|
8
|
+
"retry": {
|
|
9
|
+
"initialInterval": "5s"
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
"logger#getWord": {
|
|
13
|
+
"retry": {
|
|
14
|
+
"initialInterval": "5s"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"simple#sumValues": {
|
|
18
|
+
"retry": {
|
|
19
|
+
"initialInterval": "5s"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"simple_alias#sumValues": {
|
|
23
|
+
"retry": {
|
|
24
|
+
"initialInterval": "5s"
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"__subtract_numbers#subtractValues": {
|
|
28
|
+
"retry": {
|
|
29
|
+
"initialInterval": "5s"
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
"__sum_numbers#sumValues": {
|
|
33
|
+
"retry": {
|
|
34
|
+
"initialInterval": "5s"
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
};
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
export { default as continue_as_new } from '/app/test_workflows/dist/workflows/continue_as_new/workflow.js';
|
|
2
|
+
export { default as credentials_demo } from '/app/test_workflows/dist/workflows/credentials_demo/workflow.js';
|
|
3
|
+
export { default as test_error } from '/app/test_workflows/dist/workflows/error/workflow.js';
|
|
4
|
+
export { default as evaluation } from '/app/test_workflows/dist/workflows/evaluation/workflow.js';
|
|
5
|
+
export { default as event_hub } from '/app/test_workflows/dist/workflows/event_hub/workflow.js';
|
|
6
|
+
export { default as execute_in_parallel } from '/app/test_workflows/dist/workflows/execute_in_parallel/workflow.js';
|
|
7
|
+
export { default as fetch } from '/app/test_workflows/dist/workflows/fetch/workflow.js';
|
|
8
|
+
export { default as get_context } from '/app/test_workflows/dist/workflows/get_context/workflow.js';
|
|
9
|
+
export { default as helper_fn } from '/app/test_workflows/dist/workflows/helper_fn/workflow.js';
|
|
10
|
+
export { default as http } from '/app/test_workflows/dist/workflows/http/workflow.js';
|
|
11
|
+
export { default as http_error } from '/app/test_workflows/dist/workflows/http_error/workflow.js';
|
|
12
|
+
export { default as http_simple } from '/app/test_workflows/dist/workflows/http_simple/workflow.js';
|
|
13
|
+
export { default as invalid_schema } from '/app/test_workflows/dist/workflows/invalid_schema/workflow.js';
|
|
14
|
+
export { default as agent_demo } from '/app/test_workflows/dist/workflows/llm/agent_demo/workflow.js';
|
|
15
|
+
export { default as blog_generator_eval } from '/app/test_workflows/dist/workflows/llm/blog_generator/tests/evals/workflow.js';
|
|
16
|
+
export { default as blog_generator } from '/app/test_workflows/dist/workflows/llm/blog_generator/workflow.js';
|
|
17
|
+
export { default as generate_image } from '/app/test_workflows/dist/workflows/llm/generate_image/workflow.js';
|
|
18
|
+
export { default as generate_text } from '/app/test_workflows/dist/workflows/llm/generate_text/workflow.js';
|
|
19
|
+
export { default as stream_text } from '/app/test_workflows/dist/workflows/llm/stream_text/workflow.js';
|
|
20
|
+
export { default as web_search } from '/app/test_workflows/dist/workflows/llm/web_search/workflow.js';
|
|
21
|
+
export { default as logger } from '/app/test_workflows/dist/workflows/logger/workflow.js';
|
|
22
|
+
export { default as call_shape_child } from '/app/test_workflows/dist/workflows/nested/call_shapes/child/workflow.js';
|
|
23
|
+
export { default as call_shape_child_no_args } from '/app/test_workflows/dist/workflows/nested/call_shapes/child_no_args/workflow.js';
|
|
24
|
+
export { default as call_shape_child_sleep } from '/app/test_workflows/dist/workflows/nested/call_shapes/child_sleep/workflow.js';
|
|
25
|
+
export { default as nested_call_shapes } from '/app/test_workflows/dist/workflows/nested/call_shapes/workflow.js';
|
|
26
|
+
export { default as nested_continue_as_new_child } from '/app/test_workflows/dist/workflows/nested/continue_as_new/child/workflow.js';
|
|
27
|
+
export { default as nested_continue_as_new } from '/app/test_workflows/dist/workflows/nested/continue_as_new/workflow.js';
|
|
28
|
+
export { default as nested_direct_call_child } from '/app/test_workflows/dist/workflows/nested/direct_call/child/workflow.js';
|
|
29
|
+
export { default as nested_direct_call } from '/app/test_workflows/dist/workflows/nested/direct_call/workflow.js';
|
|
30
|
+
export { default as nested_external } from '/app/test_workflows/dist/workflows/nested/external/workflow.js';
|
|
31
|
+
export { default as nested_fatal_error_child } from '/app/test_workflows/dist/workflows/nested/fatal_error/child/workflow.js';
|
|
32
|
+
export { default as nested_fatal_error } from '/app/test_workflows/dist/workflows/nested/fatal_error/workflow.js';
|
|
33
|
+
export { default as nested_http_error_child } from '/app/test_workflows/dist/workflows/nested/http_error/child/workflow.js';
|
|
34
|
+
export { default as nested_http_error } from '/app/test_workflows/dist/workflows/nested/http_error/workflow.js';
|
|
35
|
+
export { default as nested_indirect_call_child } from '/app/test_workflows/dist/workflows/nested/indirect_call/child/workflow.js';
|
|
36
|
+
export { default as nested_indirect_call } from '/app/test_workflows/dist/workflows/nested/indirect_call/workflow.js';
|
|
37
|
+
export { default as nested_recursive } from '/app/test_workflows/dist/workflows/nested/recursive/workflow.js';
|
|
38
|
+
export { default as nested_shared_child } from '/app/test_workflows/dist/workflows/nested/shared_test/child/workflow.js';
|
|
39
|
+
export { default as nested_shared } from '/app/test_workflows/dist/workflows/nested/shared_test/workflow.js';
|
|
40
|
+
export { default as send_http_request } from '/app/test_workflows/dist/workflows/send_http_request/workflow.js';
|
|
41
|
+
export { default as shared_demo } from '/app/test_workflows/dist/workflows/shared_demo/workflow.js';
|
|
42
|
+
export { default as signals } from '/app/test_workflows/dist/workflows/signals/workflow.js';
|
|
43
|
+
export { default as simple_eval } from '/app/test_workflows/dist/workflows/simple/tests/evals/workflow.js';
|
|
44
|
+
export { default as simple } from '/app/test_workflows/dist/workflows/simple/workflow.js';
|
|
45
|
+
export { default as simple_alias_eval } from '/app/test_workflows/dist/workflows/simple_alias/tests/evals/workflow.js';
|
|
46
|
+
export { default as simple_alias } from '/app/test_workflows/dist/workflows/simple_alias/workflow.js';
|
|
47
|
+
export { default as sleep } from '/app/test_workflows/dist/workflows/simple_sleep/workflow.js';
|
|
48
|
+
export { default as slow } from '/app/test_workflows/dist/workflows/slow/workflow.js';
|
|
49
|
+
export { default as webhook } from '/app/test_workflows/dist/workflows/webhook/workflow.js';
|
|
50
|
+
export { default as __process_numbers } from '/app/node_modules/.pnpm/@growthxlabs+workflows_catalog@0.0.13_@outputai+core@sdk+core_zod@4.3.6/node_modules/@growthxlabs/workflows_catalog/src/workflows/process_numbers/workflow.js';
|
|
51
|
+
export { default as __subtract_numbers } from '/app/node_modules/.pnpm/@growthxlabs+workflows_catalog@0.0.13_@outputai+core@sdk+core_zod@4.3.6/node_modules/@growthxlabs/workflows_catalog/src/workflows/subtract_numbers/workflow.js';
|
|
52
|
+
export { default as __sum_numbers } from '/app/node_modules/.pnpm/@growthxlabs+workflows_catalog@0.0.13_@outputai+core@sdk+core_zod@4.3.6/node_modules/@growthxlabs/workflows_catalog/src/workflows/sum_numbers/workflow.js';
|
|
53
|
+
export { default as simple_v1 } from '/app/test_workflows/dist/workflows/simple_alias/workflow.js';
|
|
54
|
+
export { default as simple_original } from '/app/test_workflows/dist/workflows/simple_alias/workflow.js';
|
|
55
|
+
export { default as $catalog } from 'file:///app/sdk/core/src/worker/catalog_workflow/workflow.js';
|