@portel/photon 1.31.2 → 1.32.2
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/README.md +3 -3
- package/dist/auto-ui/beam.d.ts +8 -0
- package/dist/auto-ui/beam.d.ts.map +1 -1
- package/dist/auto-ui/beam.js +88 -10
- package/dist/auto-ui/beam.js.map +1 -1
- package/dist/auto-ui/streamable-http-transport.d.ts.map +1 -1
- package/dist/auto-ui/streamable-http-transport.js +65 -21
- package/dist/auto-ui/streamable-http-transport.js.map +1 -1
- package/dist/daemon/manager.d.ts +11 -1
- package/dist/daemon/manager.d.ts.map +1 -1
- package/dist/daemon/manager.js +113 -8
- package/dist/daemon/manager.js.map +1 -1
- package/dist/daemon/server.js +26 -20
- package/dist/daemon/server.js.map +1 -1
- package/dist/loader.d.ts +11 -0
- package/dist/loader.d.ts.map +1 -1
- package/dist/loader.js +169 -11
- package/dist/loader.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +53 -16
- package/dist/server.js.map +1 -1
- package/dist/settings-persistence.d.ts.map +1 -1
- package/dist/settings-persistence.js +10 -3
- package/dist/settings-persistence.js.map +1 -1
- package/dist/telemetry/context.d.ts +7 -0
- package/dist/telemetry/context.d.ts.map +1 -1
- package/dist/telemetry/context.js +71 -0
- package/dist/telemetry/context.js.map +1 -1
- package/package.json +1 -1
|
@@ -25,9 +25,16 @@ export interface RequestContext {
|
|
|
25
25
|
* `this.callerCwd`.
|
|
26
26
|
*/
|
|
27
27
|
cwd?: string;
|
|
28
|
+
/**
|
|
29
|
+
* Resolved PHOTON_DIR for the currently loading/executing photon.
|
|
30
|
+
* In the single in-process daemon, several PHOTON_DIRs can execute
|
|
31
|
+
* concurrently, so this must be async-local rather than process-global.
|
|
32
|
+
*/
|
|
33
|
+
photonDir?: string;
|
|
28
34
|
/** Wall-clock start of the tool call. */
|
|
29
35
|
startedAt: number;
|
|
30
36
|
}
|
|
31
37
|
export declare function runWithRequestContext<T>(ctx: RequestContext, fn: () => T): T;
|
|
32
38
|
export declare function getRequestContext(): RequestContext | undefined;
|
|
39
|
+
export declare function runWithPhotonDir<T>(photonDir: string, fn: () => T): T;
|
|
33
40
|
//# sourceMappingURL=context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/telemetry/context.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8EAA8E;IAC9E,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,2CAA2C;IAC3C,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB;;;;;;;OAOG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;CACnB;
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/telemetry/context.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8EAA8E;IAC9E,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,2CAA2C;IAC3C,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB;;;;;;;OAOG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;CACnB;AAyDD,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAE5E;AAED,wBAAgB,iBAAiB,IAAI,cAAc,GAAG,SAAS,CAE9D;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAerE"}
|
|
@@ -8,10 +8,81 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import { AsyncLocalStorage } from 'node:async_hooks';
|
|
10
10
|
const storage = new AsyncLocalStorage();
|
|
11
|
+
let envProxyInstalled = false;
|
|
12
|
+
/**
|
|
13
|
+
* Expose PHOTON_DIR through AsyncLocalStorage for legacy/user code that reads
|
|
14
|
+
* `process.env.PHOTON_DIR` directly. Node's process.env object cannot define
|
|
15
|
+
* accessor properties, but process.env itself can be replaced with a Proxy.
|
|
16
|
+
*
|
|
17
|
+
* This is intentionally narrow: every other env key keeps native semantics.
|
|
18
|
+
* Writes to PHOTON_DIR still update the backing env for CLI/test code; daemon
|
|
19
|
+
* load/execution reads prefer the async-local photonDir when present.
|
|
20
|
+
*/
|
|
21
|
+
function installPhotonDirEnvProxy() {
|
|
22
|
+
if (envProxyInstalled)
|
|
23
|
+
return;
|
|
24
|
+
envProxyInstalled = true;
|
|
25
|
+
const backing = process.env;
|
|
26
|
+
process.env = new Proxy(backing, {
|
|
27
|
+
get(target, prop, receiver) {
|
|
28
|
+
if (prop === 'PHOTON_DIR') {
|
|
29
|
+
return storage.getStore()?.photonDir ?? Reflect.get(target, prop, receiver);
|
|
30
|
+
}
|
|
31
|
+
return Reflect.get(target, prop, receiver);
|
|
32
|
+
},
|
|
33
|
+
has(target, prop) {
|
|
34
|
+
if (prop === 'PHOTON_DIR' && storage.getStore()?.photonDir)
|
|
35
|
+
return true;
|
|
36
|
+
return Reflect.has(target, prop);
|
|
37
|
+
},
|
|
38
|
+
ownKeys(target) {
|
|
39
|
+
const keys = Reflect.ownKeys(target);
|
|
40
|
+
return storage.getStore()?.photonDir && !keys.includes('PHOTON_DIR')
|
|
41
|
+
? [...keys, 'PHOTON_DIR']
|
|
42
|
+
: keys;
|
|
43
|
+
},
|
|
44
|
+
getOwnPropertyDescriptor(target, prop) {
|
|
45
|
+
if (prop === 'PHOTON_DIR' && storage.getStore()?.photonDir) {
|
|
46
|
+
return {
|
|
47
|
+
configurable: true,
|
|
48
|
+
enumerable: true,
|
|
49
|
+
writable: true,
|
|
50
|
+
value: storage.getStore()?.photonDir,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
return Reflect.getOwnPropertyDescriptor(target, prop);
|
|
54
|
+
},
|
|
55
|
+
set(target, prop, value, receiver) {
|
|
56
|
+
return Reflect.set(target, prop, value, receiver);
|
|
57
|
+
},
|
|
58
|
+
deleteProperty(target, prop) {
|
|
59
|
+
return Reflect.deleteProperty(target, prop);
|
|
60
|
+
},
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
installPhotonDirEnvProxy();
|
|
11
64
|
export function runWithRequestContext(ctx, fn) {
|
|
12
65
|
return storage.run(ctx, fn);
|
|
13
66
|
}
|
|
14
67
|
export function getRequestContext() {
|
|
15
68
|
return storage.getStore();
|
|
16
69
|
}
|
|
70
|
+
export function runWithPhotonDir(photonDir, fn) {
|
|
71
|
+
const existing = storage.getStore();
|
|
72
|
+
const ctx = {
|
|
73
|
+
photon: existing?.photon ?? '__load__',
|
|
74
|
+
tool: existing?.tool ?? '__load__',
|
|
75
|
+
photonDir,
|
|
76
|
+
startedAt: existing?.startedAt ?? Date.now(),
|
|
77
|
+
};
|
|
78
|
+
if (existing?.traceId !== undefined)
|
|
79
|
+
ctx.traceId = existing.traceId;
|
|
80
|
+
if (existing?.parentTraceparent !== undefined)
|
|
81
|
+
ctx.parentTraceparent = existing.parentTraceparent;
|
|
82
|
+
if (existing?.caller !== undefined)
|
|
83
|
+
ctx.caller = existing.caller;
|
|
84
|
+
if (existing?.cwd !== undefined)
|
|
85
|
+
ctx.cwd = existing.cwd;
|
|
86
|
+
return storage.run(ctx, fn);
|
|
87
|
+
}
|
|
17
88
|
//# sourceMappingURL=context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/telemetry/context.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/telemetry/context.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED