@pikku/core 0.12.137 → 0.12.139
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/CHANGELOG.md +40 -0
- package/dist/dev/hot-reload.js +5 -2
- package/dist/env.d.ts +18 -0
- package/dist/env.js +60 -1
- package/dist/function/abort-scope.d.ts +6 -5
- package/dist/function/abort-scope.js +6 -17
- package/dist/function/function-runner.js +2 -1
- package/dist/middleware/addon-scope-cap.d.ts +19 -0
- package/dist/middleware/addon-scope-cap.js +34 -0
- package/dist/middleware/auth-apikey.js +1 -1
- package/dist/middleware/auth-bearer.js +1 -1
- package/dist/middleware/auth-cookie.js +1 -1
- package/dist/middleware/index.d.ts +1 -0
- package/dist/middleware/index.js +1 -0
- package/dist/schema.js +3 -1
- package/dist/scopes.d.ts +8 -0
- package/dist/scopes.js +23 -0
- package/dist/services/content-service.d.ts +13 -1
- package/dist/services/in-memory-queue-service.js +4 -2
- package/dist/services/in-memory-workflow-service.js +7 -6
- package/dist/services/index.d.ts +2 -2
- package/dist/services/index.js +1 -1
- package/dist/services/local-content-request-handler.js +21 -60
- package/dist/services/local-content.d.ts +45 -1
- package/dist/services/local-content.js +202 -18
- package/dist/services/local-variables.d.ts +5 -0
- package/dist/services/local-variables.js +7 -2
- package/dist/services/queue-webhook-service.js +1 -1
- package/dist/services/scoped-content-service.d.ts +35 -0
- package/dist/services/scoped-content-service.js +171 -0
- package/dist/services/webhook-service.d.ts +2 -2
- package/dist/services/webhook-service.js +6 -4
- package/dist/types/core.types.d.ts +10 -1
- package/dist/types/state.types.d.ts +8 -0
- package/dist/utils/hmac.d.ts +25 -10
- package/dist/utils/hmac.js +202 -24
- package/dist/wirings/addon/addon-reach.d.ts +3 -0
- package/dist/wirings/addon/addon-reach.js +21 -0
- package/dist/wirings/addon/addon-runner.d.ts +6 -0
- package/dist/wirings/addon/addon-runner.js +13 -0
- package/dist/wirings/addon/define-screens.d.ts +32 -0
- package/dist/wirings/addon/define-screens.js +5 -0
- package/dist/wirings/addon/index.d.ts +2 -0
- package/dist/wirings/addon/index.js +1 -0
- package/dist/wirings/addon/wire-addon.d.ts +27 -0
- package/dist/wirings/addon/wire-addon.js +4 -0
- package/dist/wirings/agent/agent-agui.js +65 -62
- package/dist/wirings/agent/agent-interrupt.d.ts +4 -1
- package/dist/wirings/agent/agent-interrupt.js +3 -3
- package/dist/wirings/agent/agent-memory.js +5 -6
- package/dist/wirings/agent/agent-model-config.js +2 -1
- package/dist/wirings/agent/agent-prepare.js +24 -13
- package/dist/wirings/agent/agent-stream.js +38 -34
- package/dist/wirings/agent/agent.types.d.ts +8 -1
- package/dist/wirings/channel/channel-handler.js +1 -1
- package/dist/wirings/channel/local/local-channel-handler.js +5 -1
- package/dist/wirings/channel/local/local-channel-runner.js +6 -4
- package/dist/wirings/channel/local/local-eventhub-service.d.ts +1 -0
- package/dist/wirings/channel/local/local-eventhub-service.js +4 -1
- package/dist/wirings/cli/channel/cli-channel-runner.js +7 -2
- package/dist/wirings/cli/channel/cli-raw-client-runner.js +8 -4
- package/dist/wirings/cli/cli-runner.js +1 -1
- package/dist/wirings/gateway/gateway-runner.js +3 -3
- package/dist/wirings/http/http-runner.js +6 -6
- package/dist/wirings/rpc/rpc-runner.d.ts +4 -0
- package/dist/wirings/rpc/rpc-runner.js +41 -2
- package/dist/wirings/rpc/rpc-types.d.ts +6 -0
- package/dist/wirings/scheduler/scheduler-runner.js +1 -1
- package/dist/wirings/scope/define-scope.d.ts +19 -0
- package/dist/wirings/scope/define-scope.js +19 -0
- package/dist/wirings/scope/index.d.ts +2 -2
- package/dist/wirings/scope/index.js +2 -2
- package/dist/wirings/trigger/trigger-runner.js +3 -1
- package/dist/wirings/trigger/webhook-source-runner.js +5 -2
- package/dist/wirings/virtual-user/virtual-user-scaffold.js +3 -2
- package/dist/wirings/workflow/workflow-invocation-id.js +85 -8
- package/package.json +3 -1
- package/src/public-surface.json +65 -18
|
@@ -29,3 +29,22 @@
|
|
|
29
29
|
* ```
|
|
30
30
|
*/
|
|
31
31
|
export const defineScope = (_config) => { };
|
|
32
|
+
/**
|
|
33
|
+
* Declares scopes by id without describing them, so an app can grant a scope
|
|
34
|
+
* (`defineSystemRole`, a function's `scopes`) whose full tree belongs to an
|
|
35
|
+
* addon it has not wired. `wireAddon({ scopes })` does not declare anything: it
|
|
36
|
+
* only requires the scope of the addon's functions, and the tree itself arrives
|
|
37
|
+
* with the addon's metadata. Declaring by id lets an app grant
|
|
38
|
+
* `pikku:console` without wiring `@pikku/addon-console`, which would otherwise
|
|
39
|
+
* be the only way to make that grant valid.
|
|
40
|
+
*
|
|
41
|
+
* Each id declares that node and its ancestors. When the addon IS wired, its
|
|
42
|
+
* own description wins and this call adds nothing it does not already have; the
|
|
43
|
+
* two never conflict, unlike a second `defineScope` for the same root.
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```typescript
|
|
47
|
+
* declareScopes(['pikku:console'])
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
export const declareScopes = (_ids) => { };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { defineScope } from './define-scope.js';
|
|
1
|
+
export { defineScope, declareScopes } from './define-scope.js';
|
|
2
2
|
export { flattenScopeDefinitions, validateAndBuildScopeDefinitionsMeta, } from './validate-scope-definitions.js';
|
|
3
3
|
export type { CoreScopes, CoreScopeNode, FlatScope, ScopeDefinitionMeta, ScopeDefinitionsMeta, ScopeDefinitions, ScopeNodeMeta, ScopeOrigin, } from './scope.types.js';
|
|
4
|
-
export { hasScopes, verifyScopes } from '../../scopes.js';
|
|
4
|
+
export { hasScopes, intersectScopes, verifyScopes } from '../../scopes.js';
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { defineScope } from './define-scope.js';
|
|
1
|
+
export { defineScope, declareScopes } from './define-scope.js';
|
|
2
2
|
export { flattenScopeDefinitions, validateAndBuildScopeDefinitionsMeta, } from './validate-scope-definitions.js';
|
|
3
|
-
export { hasScopes, verifyScopes } from '../../scopes.js';
|
|
3
|
+
export { hasScopes, intersectScopes, verifyScopes } from '../../scopes.js';
|
|
@@ -43,7 +43,9 @@ export async function setupTrigger({ name, input, onTrigger, }) {
|
|
|
43
43
|
trigger: {
|
|
44
44
|
invoke: (data) => {
|
|
45
45
|
singletonServices.logger.info(`Trigger fired: ${name}`);
|
|
46
|
-
|
|
46
|
+
// `invoke` is typed void for trigger sources, so a rejection from the
|
|
47
|
+
// trigger function is logged here rather than left unhandled.
|
|
48
|
+
Promise.resolve(onTrigger(data)).catch((e) => singletonServices.logger.error(`Trigger '${name}' handler failed: ${e?.message ?? e}`));
|
|
47
49
|
},
|
|
48
50
|
},
|
|
49
51
|
};
|
|
@@ -63,6 +63,9 @@ const readRequest = async (http) => {
|
|
|
63
63
|
};
|
|
64
64
|
};
|
|
65
65
|
const signedWith = async (verify, request, secret, services) => {
|
|
66
|
+
// Fail closed: an empty secret never verifies, whatever the scheme.
|
|
67
|
+
if (!secret)
|
|
68
|
+
return false;
|
|
66
69
|
if (typeof verify === 'function') {
|
|
67
70
|
return await verify(request, secret, services);
|
|
68
71
|
}
|
|
@@ -72,14 +75,14 @@ const signedWith = async (verify, request, secret, services) => {
|
|
|
72
75
|
};
|
|
73
76
|
if ('hmac' in verify) {
|
|
74
77
|
const { header: name, prefix, algorithm, encoding, secretEncoding, } = verify.hmac;
|
|
75
|
-
return verifyHmacSignature(secret, header(name, prefix), algorithm, request.body, encoding, secretEncoding);
|
|
78
|
+
return await verifyHmacSignature(secret, header(name, prefix), algorithm, request.body, encoding, secretEncoding);
|
|
76
79
|
}
|
|
77
80
|
if ('token' in verify) {
|
|
78
81
|
const token = header(verify.token.header, verify.token.prefix);
|
|
79
82
|
return !!token && timingSafeStringEqual(token, secret);
|
|
80
83
|
}
|
|
81
84
|
const { header: name, ...options } = verify.publicKey;
|
|
82
|
-
return verifyPublicKeySignature(secret, header(name), request.body, options);
|
|
85
|
+
return await verifyPublicKeySignature(secret, header(name), request.body, options);
|
|
83
86
|
};
|
|
84
87
|
/**
|
|
85
88
|
* Whether the request was signed with the source's secret. A request with a
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { readEnvVariable } from '../../env.js';
|
|
1
2
|
import { BadRequestError, ForbiddenError } from '../../errors/errors.js';
|
|
2
3
|
import { prepareVirtualUserRun } from './prepare-virtual-user-run.js';
|
|
3
4
|
import { runVirtualUser as runVirtualUserEngine } from './run-virtual-user.js';
|
|
@@ -122,7 +123,7 @@ const refuseInProduction = (personaId, disposition, config, environments, enviro
|
|
|
122
123
|
* scheduled tick have in common. The dispatch that follows is typed off the
|
|
123
124
|
* app's RPC map, so it stays in the generated wiring.
|
|
124
125
|
*/
|
|
125
|
-
export const startVirtualUserRun = async ({ store, personas, config, environments, environment =
|
|
126
|
+
export const startVirtualUserRun = async ({ store, personas, config, environments, environment = readEnvVariable('PIKKU_ENV'), persona: personaId, disposition: requested, seed: requestedSeed, goals, memory, startedBy, }) => {
|
|
126
127
|
const runStore = requireVirtualUserRunStore(store);
|
|
127
128
|
const persona = runnablePersona(personas, personaId);
|
|
128
129
|
const disposition = (requested ??
|
|
@@ -251,7 +252,7 @@ export const serializeVirtualUserSchedule = (schedule, personas) => {
|
|
|
251
252
|
* keeps what it had: enabling a row saved earlier as adversarial is refused
|
|
252
253
|
* just as saving one would be.
|
|
253
254
|
*/
|
|
254
|
-
export const writeVirtualUserSchedule = async ({ store, personas, persona, enabled, disposition, goals, budget, minIntervalMs, maxIntervalMs, nextRunAt, config, environments, environment =
|
|
255
|
+
export const writeVirtualUserSchedule = async ({ store, personas, persona, enabled, disposition, goals, budget, minIntervalMs, maxIntervalMs, nextRunAt, config, environments, environment = readEnvVariable('PIKKU_ENV'), }) => {
|
|
255
256
|
const scheduleStore = requireVirtualUserScheduleStore(store);
|
|
256
257
|
const declared = runnablePersona(personas, persona);
|
|
257
258
|
const current = enabled === undefined || disposition === undefined
|
|
@@ -1,16 +1,93 @@
|
|
|
1
|
-
import { createHash } from 'node:crypto';
|
|
2
1
|
const PIKKU_WORKFLOW_NAMESPACE = '70696b6b-7500-5770-9f6c-6f77000a0001';
|
|
3
|
-
const
|
|
2
|
+
const encoder = new TextEncoder();
|
|
3
|
+
const parseUuid = (uuid) => {
|
|
4
|
+
const hex = uuid.replace(/-/g, '');
|
|
5
|
+
const bytes = new Uint8Array(hex.length / 2);
|
|
6
|
+
for (let i = 0; i < bytes.length; i++) {
|
|
7
|
+
bytes[i] = parseInt(hex.slice(i * 2, i * 2 + 2), 16);
|
|
8
|
+
}
|
|
9
|
+
return bytes;
|
|
10
|
+
};
|
|
4
11
|
const formatUuid = (bytes) => {
|
|
5
|
-
|
|
12
|
+
let hex = '';
|
|
13
|
+
for (const b of bytes)
|
|
14
|
+
hex += b.toString(16).padStart(2, '0');
|
|
6
15
|
return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20, 32)}`;
|
|
7
16
|
};
|
|
17
|
+
/**
|
|
18
|
+
* SHA-1 (FIPS 180-4). Web Crypto only offers an async digest and `uuidv5` is
|
|
19
|
+
* called synchronously (and is a public export), so this is a small pure-JS
|
|
20
|
+
* one. It only derives dedupe IDs, never anything secret.
|
|
21
|
+
*/
|
|
22
|
+
const sha1 = (message) => {
|
|
23
|
+
const padded = new Uint8Array(((message.length + 9 + 63) >> 6) << 6);
|
|
24
|
+
padded.set(message);
|
|
25
|
+
padded[message.length] = 0x80;
|
|
26
|
+
const view = new DataView(padded.buffer);
|
|
27
|
+
view.setUint32(padded.length - 8, Math.floor((message.length * 8) / 2 ** 32));
|
|
28
|
+
view.setUint32(padded.length - 4, (message.length * 8) >>> 0);
|
|
29
|
+
let h0 = 0x67452301;
|
|
30
|
+
let h1 = 0xefcdab89;
|
|
31
|
+
let h2 = 0x98badcfe;
|
|
32
|
+
let h3 = 0x10325476;
|
|
33
|
+
let h4 = 0xc3d2e1f0;
|
|
34
|
+
const w = new Uint32Array(80);
|
|
35
|
+
const rotl = (x, n) => (x << n) | (x >>> (32 - n));
|
|
36
|
+
for (let offset = 0; offset < padded.length; offset += 64) {
|
|
37
|
+
for (let i = 0; i < 16; i++)
|
|
38
|
+
w[i] = view.getUint32(offset + i * 4);
|
|
39
|
+
for (let i = 16; i < 80; i++) {
|
|
40
|
+
w[i] = rotl(w[i - 3] ^ w[i - 8] ^ w[i - 14] ^ w[i - 16], 1);
|
|
41
|
+
}
|
|
42
|
+
let a = h0;
|
|
43
|
+
let b = h1;
|
|
44
|
+
let c = h2;
|
|
45
|
+
let d = h3;
|
|
46
|
+
let e = h4;
|
|
47
|
+
for (let i = 0; i < 80; i++) {
|
|
48
|
+
let f;
|
|
49
|
+
let k;
|
|
50
|
+
if (i < 20) {
|
|
51
|
+
f = (b & c) | (~b & d);
|
|
52
|
+
k = 0x5a827999;
|
|
53
|
+
}
|
|
54
|
+
else if (i < 40) {
|
|
55
|
+
f = b ^ c ^ d;
|
|
56
|
+
k = 0x6ed9eba1;
|
|
57
|
+
}
|
|
58
|
+
else if (i < 60) {
|
|
59
|
+
f = (b & c) | (b & d) | (c & d);
|
|
60
|
+
k = 0x8f1bbcdc;
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
f = b ^ c ^ d;
|
|
64
|
+
k = 0xca62c1d6;
|
|
65
|
+
}
|
|
66
|
+
const temp = (rotl(a, 5) + f + e + k + w[i]) >>> 0;
|
|
67
|
+
e = d;
|
|
68
|
+
d = c;
|
|
69
|
+
c = rotl(b, 30) >>> 0;
|
|
70
|
+
b = a;
|
|
71
|
+
a = temp;
|
|
72
|
+
}
|
|
73
|
+
h0 = (h0 + a) >>> 0;
|
|
74
|
+
h1 = (h1 + b) >>> 0;
|
|
75
|
+
h2 = (h2 + c) >>> 0;
|
|
76
|
+
h3 = (h3 + d) >>> 0;
|
|
77
|
+
h4 = (h4 + e) >>> 0;
|
|
78
|
+
}
|
|
79
|
+
const out = new Uint8Array(20);
|
|
80
|
+
const outView = new DataView(out.buffer);
|
|
81
|
+
[h0, h1, h2, h3, h4].forEach((h, i) => outView.setUint32(i * 4, h));
|
|
82
|
+
return out;
|
|
83
|
+
};
|
|
8
84
|
export const uuidv5 = (name, namespace = PIKKU_WORKFLOW_NAMESPACE) => {
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
85
|
+
const ns = parseUuid(namespace);
|
|
86
|
+
const nameBytes = encoder.encode(name);
|
|
87
|
+
const input = new Uint8Array(ns.length + nameBytes.length);
|
|
88
|
+
input.set(ns);
|
|
89
|
+
input.set(nameBytes, ns.length);
|
|
90
|
+
const bytes = sha1(input).subarray(0, 16);
|
|
14
91
|
bytes[6] = (bytes[6] & 0x0f) | 0x50;
|
|
15
92
|
bytes[8] = (bytes[8] & 0x3f) | 0x80;
|
|
16
93
|
return formatUuid(bytes);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pikku/core",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.139",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/pikkujs/pikku.git",
|
|
@@ -81,6 +81,7 @@
|
|
|
81
81
|
"./services/local-content": "./dist/services/local-content.js",
|
|
82
82
|
"./services/local-content-request-handler": "./dist/services/local-content-request-handler.js",
|
|
83
83
|
"./services/temporary-file-service": "./dist/services/temporary-file-service.js",
|
|
84
|
+
"./services/file-scenario-run-store": "./dist/services/file-scenario-run-store.js",
|
|
84
85
|
"./crypto-utils": "./dist/crypto-utils.js",
|
|
85
86
|
"./hmac": "./dist/utils/hmac.js",
|
|
86
87
|
"./state": "./dist/pikku-state.js",
|
|
@@ -100,6 +101,7 @@
|
|
|
100
101
|
},
|
|
101
102
|
"devDependencies": {
|
|
102
103
|
"@ag-ui/core": "0.0.57",
|
|
104
|
+
"@pikku/deploy": "^0.12.15",
|
|
103
105
|
"@types/node": "^24.13.3",
|
|
104
106
|
"esbuild": "~0.28.2",
|
|
105
107
|
"tsx": "^4.23.12"
|
package/src/public-surface.json
CHANGED
|
@@ -2,9 +2,11 @@
|
|
|
2
2
|
".": [],
|
|
3
3
|
"./types": [],
|
|
4
4
|
"./middleware": [
|
|
5
|
+
"ADDON_HEADER",
|
|
5
6
|
"addGlobalMiddleware",
|
|
6
7
|
"addGlobalPermission",
|
|
7
8
|
"addTagMiddleware",
|
|
9
|
+
"addonScopeCap",
|
|
8
10
|
"authAPIKey",
|
|
9
11
|
"authBearer",
|
|
10
12
|
"authCookie",
|
|
@@ -109,7 +111,9 @@
|
|
|
109
111
|
"reconstructStateAt"
|
|
110
112
|
],
|
|
111
113
|
"./workflow/types": [],
|
|
112
|
-
"./actor-flow": [
|
|
114
|
+
"./actor-flow": [
|
|
115
|
+
"runConversation"
|
|
116
|
+
],
|
|
113
117
|
"./virtual-user": [
|
|
114
118
|
"DEFAULT_MAX_INTERVAL_MS",
|
|
115
119
|
"DEFAULT_MIN_INTERVAL_MS",
|
|
@@ -172,7 +176,9 @@
|
|
|
172
176
|
"wireHTTP",
|
|
173
177
|
"wireHTTPRoutes"
|
|
174
178
|
],
|
|
175
|
-
"./remote": [
|
|
179
|
+
"./remote": [
|
|
180
|
+
"buildRemoteHeaders"
|
|
181
|
+
],
|
|
176
182
|
"./queue": [
|
|
177
183
|
"QueueJobDiscardedError",
|
|
178
184
|
"QueueJobFailedError",
|
|
@@ -215,6 +221,7 @@
|
|
|
215
221
|
],
|
|
216
222
|
"./addon": [
|
|
217
223
|
"RemoteAddonAuthError",
|
|
224
|
+
"defineScreens",
|
|
218
225
|
"resolveRemoteAddonToken",
|
|
219
226
|
"wireAddon",
|
|
220
227
|
"wireRemoteAddon"
|
|
@@ -225,7 +232,10 @@
|
|
|
225
232
|
"safeFetch",
|
|
226
233
|
"setDefaultHostResolver"
|
|
227
234
|
],
|
|
228
|
-
"./node-host-resolver": [
|
|
235
|
+
"./node-host-resolver": [
|
|
236
|
+
"installNodeHostResolver",
|
|
237
|
+
"nodeHostResolver"
|
|
238
|
+
],
|
|
229
239
|
"./mcp": [
|
|
230
240
|
"MCPEndpointRegistry",
|
|
231
241
|
"MCPError",
|
|
@@ -312,7 +322,10 @@
|
|
|
312
322
|
"wantsStackTrace",
|
|
313
323
|
"wireCLI"
|
|
314
324
|
],
|
|
315
|
-
"./cli/command-parser": [
|
|
325
|
+
"./cli/command-parser": [
|
|
326
|
+
"generateCommandHelp",
|
|
327
|
+
"parseCLIArguments"
|
|
328
|
+
],
|
|
316
329
|
"./cli/channel": [
|
|
317
330
|
"executeCLIViaChannel",
|
|
318
331
|
"executeRawCLIViaChannel",
|
|
@@ -326,9 +339,11 @@
|
|
|
326
339
|
"validateAndBuildCredentialDefinitionsMeta"
|
|
327
340
|
],
|
|
328
341
|
"./scope": [
|
|
342
|
+
"declareScopes",
|
|
329
343
|
"defineScope",
|
|
330
344
|
"flattenScopeDefinitions",
|
|
331
345
|
"hasScopes",
|
|
346
|
+
"intersectScopes",
|
|
332
347
|
"validateAndBuildScopeDefinitionsMeta",
|
|
333
348
|
"verifyScopes"
|
|
334
349
|
],
|
|
@@ -372,8 +387,13 @@
|
|
|
372
387
|
"deriveOAuth2AppSecrets",
|
|
373
388
|
"validateAndBuildSecretDefinitionsMeta"
|
|
374
389
|
],
|
|
375
|
-
"./variable": [
|
|
376
|
-
|
|
390
|
+
"./variable": [
|
|
391
|
+
"defineVariable",
|
|
392
|
+
"validateAndBuildVariableDefinitionsMeta"
|
|
393
|
+
],
|
|
394
|
+
"./webhook": [
|
|
395
|
+
"defineOutgoingWebhook"
|
|
396
|
+
],
|
|
377
397
|
"./oauth2": [],
|
|
378
398
|
"./errors": [
|
|
379
399
|
"AIProviderAuthError",
|
|
@@ -432,7 +452,6 @@
|
|
|
432
452
|
"ACTOR_SECRET_NAME",
|
|
433
453
|
"ConsoleLogger",
|
|
434
454
|
"DEFAULT_WEBHOOK_RETRIES",
|
|
435
|
-
"FileScenarioRunStore",
|
|
436
455
|
"InMemoryAgentRunStateService",
|
|
437
456
|
"InMemoryLeaseService",
|
|
438
457
|
"InMemoryQueueService",
|
|
@@ -442,18 +461,17 @@
|
|
|
442
461
|
"InMemoryWorkflowService",
|
|
443
462
|
"IncomingWebhookService",
|
|
444
463
|
"JsonConsoleLogger",
|
|
464
|
+
"LeaseLostError",
|
|
465
|
+
"LeaseTakenError",
|
|
445
466
|
"LocalCredentialService",
|
|
446
467
|
"LocalEmailService",
|
|
447
468
|
"LocalGatewayService",
|
|
448
469
|
"LocalSecretService",
|
|
449
470
|
"LocalVariablesService",
|
|
450
|
-
"LeaseLostError",
|
|
451
|
-
"LeaseTakenError",
|
|
452
471
|
"LogLevel",
|
|
453
472
|
"NoopAuditService",
|
|
454
473
|
"PIKKU_OUTGOING_WEBHOOK_QUEUE_NAME",
|
|
455
474
|
"PikkuCredentialWireService",
|
|
456
|
-
"holdLease",
|
|
457
475
|
"PikkuSessionService",
|
|
458
476
|
"QueueWebhookService",
|
|
459
477
|
"REMOTE_JOBS_SECRET_HEADER",
|
|
@@ -461,6 +479,7 @@
|
|
|
461
479
|
"REMOTE_QUEUE_JOB_PATH",
|
|
462
480
|
"REMOTE_SCHEDULER_JOB_PATH",
|
|
463
481
|
"SchedulerService",
|
|
482
|
+
"ScopedContentService",
|
|
464
483
|
"ScopedCredentialService",
|
|
465
484
|
"ScopedSecretService",
|
|
466
485
|
"SecretAccessDeniedError",
|
|
@@ -477,13 +496,12 @@
|
|
|
477
496
|
"createStubProxy",
|
|
478
497
|
"deriveActorSecret",
|
|
479
498
|
"getStubTracker",
|
|
499
|
+
"holdLease",
|
|
480
500
|
"isTestRun",
|
|
481
501
|
"pikkuRemoteQueueJobFunc",
|
|
482
502
|
"pikkuRemoteScheduledJobFunc",
|
|
483
503
|
"pikkuWebhookWorkerFunc",
|
|
484
504
|
"renderEmail",
|
|
485
|
-
"scenarioArtifactContentType",
|
|
486
|
-
"scenarioRunSummary",
|
|
487
505
|
"spy",
|
|
488
506
|
"stub",
|
|
489
507
|
"verifyActorSecret",
|
|
@@ -502,14 +520,36 @@
|
|
|
502
520
|
"subjectIdOf",
|
|
503
521
|
"validateAndBuildFeatureFlagDefinitionsMeta"
|
|
504
522
|
],
|
|
505
|
-
"./services/local-meta": [
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
"./services/
|
|
523
|
+
"./services/local-meta": [
|
|
524
|
+
"LocalMetaService"
|
|
525
|
+
],
|
|
526
|
+
"./services/v8-coverage": [
|
|
527
|
+
"V8CoverageService"
|
|
528
|
+
],
|
|
529
|
+
"./services/istanbul-coverage": [
|
|
530
|
+
"IstanbulCoverageService"
|
|
531
|
+
],
|
|
532
|
+
"./services/local-content": [
|
|
533
|
+
"CONTENT_VISIBILITIES",
|
|
534
|
+
"LocalContent",
|
|
535
|
+
"PUBLIC_URL_SEGMENT",
|
|
536
|
+
"UploadTooLargeError",
|
|
537
|
+
"parseContentSizeLimit",
|
|
538
|
+
"parseContentUrlPath",
|
|
539
|
+
"resolveContentRequestTarget",
|
|
540
|
+
"resolveVisibilityPath",
|
|
541
|
+
"signedContentPath",
|
|
542
|
+
"streamUploadToFile"
|
|
543
|
+
],
|
|
509
544
|
"./services/local-content-request-handler": [
|
|
510
545
|
"createLocalContentRequestHandler",
|
|
511
546
|
"verifySignedContentRequest"
|
|
512
547
|
],
|
|
548
|
+
"./services/file-scenario-run-store": [
|
|
549
|
+
"FileScenarioRunStore",
|
|
550
|
+
"scenarioArtifactContentType",
|
|
551
|
+
"scenarioRunSummary"
|
|
552
|
+
],
|
|
513
553
|
"./services/temporary-file-service": [
|
|
514
554
|
"TemporaryFileInstance",
|
|
515
555
|
"TemporaryFileService"
|
|
@@ -589,6 +629,13 @@
|
|
|
589
629
|
"getSchema",
|
|
590
630
|
"validateSchema"
|
|
591
631
|
],
|
|
592
|
-
"./testing": [
|
|
593
|
-
|
|
632
|
+
"./testing": [
|
|
633
|
+
"clearPikkuRuntimeState",
|
|
634
|
+
"defineServiceTests"
|
|
635
|
+
],
|
|
636
|
+
"./dev": [
|
|
637
|
+
"pikkuDevReloader",
|
|
638
|
+
"reconcileAddonRegistry",
|
|
639
|
+
"reloadGeneratedMeta"
|
|
640
|
+
]
|
|
594
641
|
}
|