@portel/photon 1.17.6 → 1.19.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/dist/auto-ui/beam/photon-management.d.ts.map +1 -1
- package/dist/auto-ui/beam/photon-management.js +28 -1
- package/dist/auto-ui/beam/photon-management.js.map +1 -1
- package/dist/auto-ui/beam/routes/api-marketplace.d.ts.map +1 -1
- package/dist/auto-ui/beam/routes/api-marketplace.js +10 -5
- package/dist/auto-ui/beam/routes/api-marketplace.js.map +1 -1
- package/dist/auto-ui/beam.d.ts.map +1 -1
- package/dist/auto-ui/beam.js +14 -4
- 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 +259 -88
- package/dist/auto-ui/streamable-http-transport.js.map +1 -1
- package/dist/auto-ui/types.d.ts +2 -0
- package/dist/auto-ui/types.d.ts.map +1 -1
- package/dist/auto-ui/types.js +5 -0
- package/dist/auto-ui/types.js.map +1 -1
- package/dist/beam-form.bundle.js +5 -3
- package/dist/beam-form.bundle.js.map +2 -2
- package/dist/beam.bundle.js +912 -59
- package/dist/beam.bundle.js.map +3 -3
- package/dist/claude-code-plugin.js +1 -1
- package/dist/cli/commands/beam.d.ts.map +1 -1
- package/dist/cli/commands/beam.js +8 -2
- package/dist/cli/commands/beam.js.map +1 -1
- package/dist/cli/commands/changelog.d.ts +9 -0
- package/dist/cli/commands/changelog.d.ts.map +1 -0
- package/dist/cli/commands/changelog.js +133 -0
- package/dist/cli/commands/changelog.js.map +1 -0
- package/dist/cli/commands/maker.d.ts.map +1 -1
- package/dist/cli/commands/maker.js +23 -2
- package/dist/cli/commands/maker.js.map +1 -1
- package/dist/cli/commands/mcp.d.ts.map +1 -1
- package/dist/cli/commands/mcp.js +53 -0
- package/dist/cli/commands/mcp.js.map +1 -1
- package/dist/cli/commands/package.d.ts.map +1 -1
- package/dist/cli/commands/package.js +18 -2
- package/dist/cli/commands/package.js.map +1 -1
- package/dist/cli/commands/run.d.ts.map +1 -1
- package/dist/cli/commands/run.js +1 -0
- package/dist/cli/commands/run.js.map +1 -1
- package/dist/cli/commands/update.d.ts +3 -2
- package/dist/cli/commands/update.d.ts.map +1 -1
- package/dist/cli/commands/update.js +50 -43
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +16 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/cli-alias.js +1 -1
- package/dist/cli-alias.js.map +1 -1
- package/dist/context-store.d.ts +23 -33
- package/dist/context-store.d.ts.map +1 -1
- package/dist/context-store.js +147 -97
- package/dist/context-store.js.map +1 -1
- package/dist/context.d.ts +15 -10
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +37 -13
- package/dist/context.js.map +1 -1
- package/dist/daemon/server.js +4 -2
- package/dist/daemon/server.js.map +1 -1
- package/dist/data-migration.d.ts +27 -0
- package/dist/data-migration.d.ts.map +1 -0
- package/dist/data-migration.js +307 -0
- package/dist/data-migration.js.map +1 -0
- package/dist/editor-support/docblock-tag-catalog.d.ts.map +1 -1
- package/dist/editor-support/docblock-tag-catalog.js +6 -0
- package/dist/editor-support/docblock-tag-catalog.js.map +1 -1
- package/dist/loader.d.ts +10 -0
- package/dist/loader.d.ts.map +1 -1
- package/dist/loader.js +106 -20
- package/dist/loader.js.map +1 -1
- package/dist/marketplace-manager.d.ts.map +1 -1
- package/dist/marketplace-manager.js +25 -5
- package/dist/marketplace-manager.js.map +1 -1
- package/dist/photon-cli-runner.d.ts.map +1 -1
- package/dist/photon-cli-runner.js +56 -19
- package/dist/photon-cli-runner.js.map +1 -1
- package/dist/photon-doc-extractor.d.ts +1 -0
- package/dist/photon-doc-extractor.d.ts.map +1 -1
- package/dist/photon-doc-extractor.js +6 -0
- package/dist/photon-doc-extractor.js.map +1 -1
- package/dist/readme-syncer.d.ts.map +1 -1
- package/dist/readme-syncer.js +6 -1
- package/dist/readme-syncer.js.map +1 -1
- package/dist/server.d.ts +40 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +298 -29
- package/dist/server.js.map +1 -1
- package/dist/shared/audit.js +4 -4
- package/dist/shared/audit.js.map +1 -1
- package/dist/tasks/executor.d.ts +47 -0
- package/dist/tasks/executor.d.ts.map +1 -0
- package/dist/tasks/executor.js +180 -0
- package/dist/tasks/executor.js.map +1 -0
- package/dist/tasks/store.d.ts +13 -6
- package/dist/tasks/store.d.ts.map +1 -1
- package/dist/tasks/store.js +56 -11
- package/dist/tasks/store.js.map +1 -1
- package/dist/tasks/types.d.ts +23 -2
- package/dist/tasks/types.d.ts.map +1 -1
- package/dist/tasks/types.js +23 -3
- package/dist/tasks/types.js.map +1 -1
- package/dist/version-notify.d.ts +27 -0
- package/dist/version-notify.d.ts.map +1 -0
- package/dist/version-notify.js +142 -0
- package/dist/version-notify.js.map +1 -0
- package/package.json +5 -4
- package/dist/auto-ui/bridge/openai-shim.d.ts +0 -20
- package/dist/auto-ui/bridge/openai-shim.d.ts.map +0 -1
- package/dist/auto-ui/bridge/openai-shim.js +0 -231
- package/dist/auto-ui/bridge/openai-shim.js.map +0 -1
- package/dist/auto-ui/bridge/photon-app.d.ts +0 -162
- package/dist/auto-ui/bridge/photon-app.d.ts.map +0 -1
- package/dist/auto-ui/bridge/photon-app.js +0 -460
- package/dist/auto-ui/bridge/photon-app.js.map +0 -1
- package/dist/auto-ui/daemon-tools.d.ts +0 -45
- package/dist/auto-ui/daemon-tools.d.ts.map +0 -1
- package/dist/auto-ui/daemon-tools.js +0 -581
- package/dist/auto-ui/daemon-tools.js.map +0 -1
- package/dist/auto-ui/design-system/index.d.ts +0 -21
- package/dist/auto-ui/design-system/index.d.ts.map +0 -1
- package/dist/auto-ui/design-system/index.js +0 -27
- package/dist/auto-ui/design-system/index.js.map +0 -1
- package/dist/auto-ui/design-system/transaction-ui.d.ts +0 -70
- package/dist/auto-ui/design-system/transaction-ui.d.ts.map +0 -1
- package/dist/auto-ui/design-system/transaction-ui.js +0 -982
- package/dist/auto-ui/design-system/transaction-ui.js.map +0 -1
- package/dist/auto-ui/playground-server.d.ts +0 -7
- package/dist/auto-ui/playground-server.d.ts.map +0 -1
- package/dist/auto-ui/playground-server.js +0 -840
- package/dist/auto-ui/playground-server.js.map +0 -1
- package/dist/auto-ui/rendering/components.d.ts +0 -29
- package/dist/auto-ui/rendering/components.d.ts.map +0 -1
- package/dist/auto-ui/rendering/components.js +0 -1341
- package/dist/auto-ui/rendering/components.js.map +0 -1
- package/dist/auto-ui/rendering/field-analyzer.d.ts +0 -104
- package/dist/auto-ui/rendering/field-analyzer.d.ts.map +0 -1
- package/dist/auto-ui/rendering/field-analyzer.js +0 -447
- package/dist/auto-ui/rendering/field-analyzer.js.map +0 -1
- package/dist/auto-ui/rendering/field-renderers.d.ts +0 -64
- package/dist/auto-ui/rendering/field-renderers.d.ts.map +0 -1
- package/dist/auto-ui/rendering/field-renderers.js +0 -317
- package/dist/auto-ui/rendering/field-renderers.js.map +0 -1
- package/dist/auto-ui/rendering/index.d.ts +0 -28
- package/dist/auto-ui/rendering/index.d.ts.map +0 -1
- package/dist/auto-ui/rendering/index.js +0 -60
- package/dist/auto-ui/rendering/index.js.map +0 -1
- package/dist/auto-ui/rendering/layout-selector.d.ts +0 -60
- package/dist/auto-ui/rendering/layout-selector.d.ts.map +0 -1
- package/dist/auto-ui/rendering/layout-selector.js +0 -476
- package/dist/auto-ui/rendering/layout-selector.js.map +0 -1
- package/dist/markdown-utils.d.ts +0 -8
- package/dist/markdown-utils.d.ts.map +0 -1
- package/dist/markdown-utils.js +0 -64
- package/dist/markdown-utils.js.map +0 -1
- package/dist/mcp-client.d.ts +0 -9
- package/dist/mcp-client.d.ts.map +0 -1
- package/dist/mcp-client.js +0 -11
- package/dist/mcp-client.js.map +0 -1
- package/dist/mcp-elicitation.d.ts +0 -32
- package/dist/mcp-elicitation.d.ts.map +0 -1
- package/dist/mcp-elicitation.js +0 -26
- package/dist/mcp-elicitation.js.map +0 -1
- package/dist/photons/builder-compass.photon.d.ts +0 -167
- package/dist/photons/builder-compass.photon.d.ts.map +0 -1
- package/dist/photons/builder-compass.photon.js +0 -816
- package/dist/photons/builder-compass.photon.js.map +0 -1
- package/dist/photons/builder-compass.photon.ts +0 -1129
- package/dist/photons/docs/ui/docs.html +0 -441
- package/dist/photons/docs.photon.d.ts +0 -237
- package/dist/photons/docs.photon.d.ts.map +0 -1
- package/dist/photons/docs.photon.js +0 -483
- package/dist/photons/docs.photon.js.map +0 -1
- package/dist/photons/docs.photon.ts +0 -536
- package/dist/photons/slides.photon.d.ts +0 -212
- package/dist/photons/slides.photon.d.ts.map +0 -1
- package/dist/photons/slides.photon.js +0 -355
- package/dist/photons/slides.photon.js.map +0 -1
- package/dist/photons/slides.photon.ts +0 -370
- package/dist/photons/spreadsheet/ui/spreadsheet.html +0 -779
- package/dist/photons/spreadsheet.photon.d.ts +0 -554
- package/dist/photons/spreadsheet.photon.d.ts.map +0 -1
- package/dist/photons/spreadsheet.photon.js +0 -1050
- package/dist/photons/spreadsheet.photon.js.map +0 -1
- package/dist/photons/spreadsheet.photon.ts +0 -1239
- package/dist/photons/ui/builder-compass.html +0 -1199
- package/dist/photons/ui/builder-compass.photon.html +0 -380
- package/dist/security-scanner.d.ts +0 -52
- package/dist/security-scanner.d.ts.map +0 -1
- package/dist/security-scanner.js +0 -181
- package/dist/security-scanner.js.map +0 -1
- package/dist/shared/performance.d.ts +0 -65
- package/dist/shared/performance.d.ts.map +0 -1
- package/dist/shared/performance.js +0 -136
- package/dist/shared/performance.js.map +0 -1
package/dist/context-store.js
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
* Instance Store & Environment Store
|
|
3
3
|
*
|
|
4
4
|
* Manages:
|
|
5
|
-
* - Instance naming →
|
|
6
|
-
* - Environment vars →
|
|
7
|
-
* - Instance state paths →
|
|
5
|
+
* - Instance naming → .data/{ns}/{photon}/context.json
|
|
6
|
+
* - Environment vars → .data/{ns}/{photon}/env.json
|
|
7
|
+
* - Instance state paths → .data/{ns}/{photon}/state/{instance}/state.json
|
|
8
8
|
*
|
|
9
9
|
* Instance naming is a runtime concept. Every @stateful photon automatically
|
|
10
10
|
* supports named instances — the runtime manages them. Clients (CLI, Beam,
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
import * as fs from 'fs';
|
|
14
14
|
import * as path from 'path';
|
|
15
15
|
import * as os from 'os';
|
|
16
|
+
import { getPhotonContextPath, getPhotonEnvPath, getPhotonStatePath, getPhotonStateLogPath, getPhotonDataDir, getLegacyContextPath, getLegacyEnvPath, getLegacyStatePath, getLegacyStateLogPath, } from '@portel/photon-core';
|
|
16
17
|
import { getDefaultContext } from './context.js';
|
|
17
18
|
import { isNodeError, getErrorMessage } from './shared/error-handler.js';
|
|
18
19
|
// ══════════════════════════════════════════════════════════════════════════════
|
|
@@ -23,15 +24,22 @@ export class InstanceStore {
|
|
|
23
24
|
constructor(baseDir = getDefaultContext().baseDir) {
|
|
24
25
|
this.baseDir = baseDir;
|
|
25
26
|
}
|
|
26
|
-
_path(photonName) {
|
|
27
|
-
|
|
27
|
+
_path(photonName, namespace) {
|
|
28
|
+
const ns = namespace || 'local';
|
|
29
|
+
const newPath = getPhotonContextPath(ns, photonName, this.baseDir);
|
|
30
|
+
if (!fs.existsSync(newPath)) {
|
|
31
|
+
const legacyPath = getLegacyContextPath(photonName, this.baseDir);
|
|
32
|
+
if (fs.existsSync(legacyPath))
|
|
33
|
+
return legacyPath;
|
|
34
|
+
}
|
|
35
|
+
return newPath;
|
|
28
36
|
}
|
|
29
37
|
/**
|
|
30
38
|
* Get current instance name for a photon. Returns "" for default.
|
|
31
39
|
*/
|
|
32
|
-
getCurrentInstance(photonName) {
|
|
40
|
+
getCurrentInstance(photonName, namespace) {
|
|
33
41
|
try {
|
|
34
|
-
const data = JSON.parse(fs.readFileSync(this._path(photonName), 'utf-8'));
|
|
42
|
+
const data = JSON.parse(fs.readFileSync(this._path(photonName, namespace), 'utf-8'));
|
|
35
43
|
return data.instance || '';
|
|
36
44
|
}
|
|
37
45
|
catch (err) {
|
|
@@ -43,18 +51,32 @@ export class InstanceStore {
|
|
|
43
51
|
}
|
|
44
52
|
/**
|
|
45
53
|
* Set current instance name for a photon. Pass "" for default.
|
|
54
|
+
* Always writes to new .data/ path.
|
|
46
55
|
*/
|
|
47
|
-
setCurrentInstance(photonName, instance) {
|
|
48
|
-
const
|
|
56
|
+
setCurrentInstance(photonName, instance, namespace) {
|
|
57
|
+
const ns = namespace || 'local';
|
|
58
|
+
const filePath = getPhotonContextPath(ns, photonName, this.baseDir);
|
|
49
59
|
fs.mkdirSync(path.dirname(filePath), { recursive: true });
|
|
50
60
|
fs.writeFileSync(filePath, JSON.stringify({ instance }, null, 2));
|
|
51
61
|
}
|
|
52
62
|
/**
|
|
53
|
-
* List all instances by scanning
|
|
54
|
-
* Checks
|
|
63
|
+
* List all instances by scanning state directories.
|
|
64
|
+
* Checks .data/ path first, then legacy paths.
|
|
55
65
|
*/
|
|
56
|
-
listInstances(photonName, photonFilePath) {
|
|
66
|
+
listInstances(photonName, photonFilePath, namespace) {
|
|
57
67
|
const instances = new Set();
|
|
68
|
+
const ns = namespace || 'local';
|
|
69
|
+
// New .data/ state dir
|
|
70
|
+
const dataStateDir = path.join(getPhotonDataDir(ns, photonName, this.baseDir), 'state');
|
|
71
|
+
try {
|
|
72
|
+
for (const entry of fs.readdirSync(dataStateDir, { withFileTypes: true })) {
|
|
73
|
+
if (entry.isDirectory())
|
|
74
|
+
instances.add(entry.name);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
catch {
|
|
78
|
+
// .data/ state dir doesn't exist yet
|
|
79
|
+
}
|
|
58
80
|
// Legacy state dir: ~/.photon/state/{photon}/
|
|
59
81
|
const legacyStateDir = path.join(this.baseDir, 'state', photonName);
|
|
60
82
|
try {
|
|
@@ -68,59 +90,83 @@ export class InstanceStore {
|
|
|
68
90
|
console.warn(`[photon] Cannot read instances for ${photonName}: ${getErrorMessage(err)}`);
|
|
69
91
|
}
|
|
70
92
|
}
|
|
71
|
-
//
|
|
93
|
+
// Old namespace-aware .state/ dir (pre-.data/ consolidation)
|
|
72
94
|
if (photonFilePath) {
|
|
73
95
|
const dir = path.dirname(photonFilePath);
|
|
74
96
|
const baseName = path.basename(photonFilePath).replace(/\.photon\.(ts|js)$/, '');
|
|
75
97
|
const nsStateDir = path.join(dir, baseName, '.state');
|
|
76
98
|
try {
|
|
77
99
|
for (const entry of fs.readdirSync(nsStateDir, { withFileTypes: true })) {
|
|
78
|
-
if (entry.isDirectory())
|
|
79
|
-
// Each subdirectory is an instance
|
|
100
|
+
if (entry.isDirectory())
|
|
80
101
|
instances.add(entry.name);
|
|
81
|
-
}
|
|
82
102
|
}
|
|
83
103
|
}
|
|
84
104
|
catch {
|
|
85
|
-
// .state/ dir doesn't exist
|
|
105
|
+
// .state/ dir doesn't exist
|
|
86
106
|
}
|
|
87
107
|
}
|
|
88
108
|
return [...instances];
|
|
89
109
|
}
|
|
90
110
|
/**
|
|
91
111
|
* List instances sorted by modification time (most recent first).
|
|
92
|
-
* Also checks the legacy boards directory for photons like kanban.
|
|
93
112
|
*/
|
|
94
|
-
listInstancesByMtime(photonName) {
|
|
95
|
-
|
|
96
|
-
//
|
|
97
|
-
// when an instance was last selected, not when content was last modified.
|
|
113
|
+
listInstancesByMtime(photonName, namespace) {
|
|
114
|
+
const ns = namespace || 'local';
|
|
115
|
+
// Check .data/ state dir first, then legacy dirs
|
|
98
116
|
const candidateDirs = [
|
|
117
|
+
path.join(getPhotonDataDir(ns, photonName, this.baseDir), 'state'),
|
|
99
118
|
path.join(this.baseDir, photonName, 'boards'),
|
|
100
119
|
path.join(this.baseDir, 'state', photonName),
|
|
101
120
|
];
|
|
102
121
|
for (const dir of candidateDirs) {
|
|
103
122
|
try {
|
|
104
|
-
const
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
123
|
+
const entries = fs.readdirSync(dir, { withFileTypes: true });
|
|
124
|
+
// New layout: directories containing state.json
|
|
125
|
+
const dirEntries = entries.filter((e) => e.isDirectory());
|
|
126
|
+
if (dirEntries.length > 0) {
|
|
127
|
+
const withStat = dirEntries
|
|
128
|
+
.filter((e) => fs.existsSync(path.join(dir, e.name, 'state.json')))
|
|
129
|
+
.map((e) => {
|
|
130
|
+
const stat = fs.statSync(path.join(dir, e.name, 'state.json'));
|
|
131
|
+
return {
|
|
132
|
+
name: e.name,
|
|
133
|
+
mtime: stat.mtimeMs,
|
|
134
|
+
createdAt: stat.birthtime.toISOString(),
|
|
135
|
+
modifiedAt: stat.mtime.toISOString(),
|
|
136
|
+
};
|
|
137
|
+
});
|
|
138
|
+
if (withStat.length > 0) {
|
|
139
|
+
withStat.sort((a, b) => b.mtime - a.mtime);
|
|
140
|
+
const instances = withStat.map((f) => f.name);
|
|
141
|
+
const metadata = {};
|
|
142
|
+
for (const entry of withStat) {
|
|
143
|
+
metadata[entry.name] = { createdAt: entry.createdAt, modifiedAt: entry.modifiedAt };
|
|
144
|
+
}
|
|
145
|
+
return { instances, autoInstance: instances[0] || 'default', metadata };
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
// Legacy layout: .json files
|
|
149
|
+
const jsonFiles = entries.filter((e) => (e.isFile() || e.isSymbolicLink()) &&
|
|
150
|
+
e.name.endsWith('.json') &&
|
|
151
|
+
!e.name.endsWith('.archive.jsonl'));
|
|
152
|
+
if (jsonFiles.length > 0) {
|
|
153
|
+
const withStat = jsonFiles.map((f) => {
|
|
154
|
+
const stat = fs.statSync(path.join(dir, f.name));
|
|
155
|
+
return {
|
|
156
|
+
name: f.name.replace('.json', ''),
|
|
157
|
+
mtime: stat.mtimeMs,
|
|
158
|
+
createdAt: stat.birthtime.toISOString(),
|
|
159
|
+
modifiedAt: stat.mtime.toISOString(),
|
|
160
|
+
};
|
|
161
|
+
});
|
|
162
|
+
withStat.sort((a, b) => b.mtime - a.mtime);
|
|
163
|
+
const instances = withStat.map((f) => f.name);
|
|
164
|
+
const metadata = {};
|
|
165
|
+
for (const entry of withStat) {
|
|
166
|
+
metadata[entry.name] = { createdAt: entry.createdAt, modifiedAt: entry.modifiedAt };
|
|
167
|
+
}
|
|
168
|
+
return { instances, autoInstance: instances[0] || 'default', metadata };
|
|
122
169
|
}
|
|
123
|
-
return { instances, autoInstance: instances[0] || 'default', metadata };
|
|
124
170
|
}
|
|
125
171
|
catch {
|
|
126
172
|
// Dir doesn't exist, try next
|
|
@@ -143,9 +189,6 @@ export class CLISessionStore {
|
|
|
143
189
|
}
|
|
144
190
|
/**
|
|
145
191
|
* Get a stable session key for the current terminal.
|
|
146
|
-
* Uses the controlling terminal (TTY) name — consistent across subshells,
|
|
147
|
-
* pipes, and $() command substitutions within the same terminal window.
|
|
148
|
-
* Falls back to PPID for non-TTY environments.
|
|
149
192
|
*/
|
|
150
193
|
static _getSessionKey() {
|
|
151
194
|
try {
|
|
@@ -187,12 +230,19 @@ export class EnvStore {
|
|
|
187
230
|
constructor(baseDir = getDefaultContext().baseDir) {
|
|
188
231
|
this.baseDir = baseDir;
|
|
189
232
|
}
|
|
190
|
-
_path(photonName) {
|
|
191
|
-
|
|
233
|
+
_path(photonName, namespace) {
|
|
234
|
+
const ns = namespace || 'local';
|
|
235
|
+
const newPath = getPhotonEnvPath(ns, photonName, this.baseDir);
|
|
236
|
+
if (!fs.existsSync(newPath)) {
|
|
237
|
+
const legacyPath = getLegacyEnvPath(photonName, this.baseDir);
|
|
238
|
+
if (fs.existsSync(legacyPath))
|
|
239
|
+
return legacyPath;
|
|
240
|
+
}
|
|
241
|
+
return newPath;
|
|
192
242
|
}
|
|
193
|
-
read(photonName) {
|
|
243
|
+
read(photonName, namespace) {
|
|
194
244
|
try {
|
|
195
|
-
return JSON.parse(fs.readFileSync(this._path(photonName), 'utf-8'));
|
|
245
|
+
return JSON.parse(fs.readFileSync(this._path(photonName, namespace), 'utf-8'));
|
|
196
246
|
}
|
|
197
247
|
catch (err) {
|
|
198
248
|
if (isNodeError(err, 'ENOENT'))
|
|
@@ -201,28 +251,31 @@ export class EnvStore {
|
|
|
201
251
|
return {};
|
|
202
252
|
}
|
|
203
253
|
}
|
|
204
|
-
|
|
205
|
-
|
|
254
|
+
/**
|
|
255
|
+
* Write env vars. Always writes to new .data/ path.
|
|
256
|
+
*/
|
|
257
|
+
write(photonName, values, namespace) {
|
|
258
|
+
const ns = namespace || 'local';
|
|
259
|
+
const filePath = getPhotonEnvPath(ns, photonName, this.baseDir);
|
|
206
260
|
fs.mkdirSync(path.dirname(filePath), { recursive: true });
|
|
207
|
-
const existing = this.read(photonName);
|
|
261
|
+
const existing = this.read(photonName, namespace);
|
|
208
262
|
const merged = { ...existing, ...values };
|
|
209
263
|
fs.writeFileSync(filePath, JSON.stringify(merged, null, 2));
|
|
210
264
|
}
|
|
211
265
|
/**
|
|
212
266
|
* Get the value of a specific env param.
|
|
213
|
-
* Checks stored values first, then process.env with the given envVarName.
|
|
214
267
|
*/
|
|
215
|
-
resolve(photonName, paramName, envVarName) {
|
|
216
|
-
const stored = this.read(photonName);
|
|
268
|
+
resolve(photonName, paramName, envVarName, namespace) {
|
|
269
|
+
const stored = this.read(photonName, namespace);
|
|
217
270
|
if (stored[paramName] !== undefined)
|
|
218
271
|
return stored[paramName];
|
|
219
272
|
return process.env[envVarName];
|
|
220
273
|
}
|
|
221
274
|
/**
|
|
222
|
-
* Get masked values for display
|
|
275
|
+
* Get masked values for display.
|
|
223
276
|
*/
|
|
224
|
-
getMasked(photonName) {
|
|
225
|
-
const values = this.read(photonName);
|
|
277
|
+
getMasked(photonName, namespace) {
|
|
278
|
+
const values = this.read(photonName, namespace);
|
|
226
279
|
const masked = {};
|
|
227
280
|
for (const [key, val] of Object.entries(values)) {
|
|
228
281
|
if (val.length > 6) {
|
|
@@ -236,60 +289,57 @@ export class EnvStore {
|
|
|
236
289
|
}
|
|
237
290
|
}
|
|
238
291
|
// ══════════════════════════════════════════════════════════════════════════════
|
|
239
|
-
// Instance State Path
|
|
292
|
+
// Instance State Path — resolves to .data/ with legacy fallback
|
|
240
293
|
// ══════════════════════════════════════════════════════════════════════════════
|
|
241
294
|
/**
|
|
242
295
|
* Get the state file path for a photon instance.
|
|
243
|
-
*
|
|
244
|
-
*
|
|
245
|
-
* <dir>/<photonName>/.state/<instance>/state.json
|
|
246
|
-
* Otherwise (legacy), resolves to:
|
|
247
|
-
* ~/.photon/state/{photon}/{instance}.json
|
|
248
|
-
*
|
|
249
|
-
* Falls back to legacy path if the new path doesn't exist yet but legacy does.
|
|
296
|
+
* New: .data/{ns}/{photon}/state/{instance}/state.json
|
|
297
|
+
* Falls back to legacy paths if new path doesn't exist yet.
|
|
250
298
|
*/
|
|
251
|
-
export function getInstanceStatePath(photonName, instance, baseDir, photonFilePath) {
|
|
299
|
+
export function getInstanceStatePath(photonName, instance, baseDir, photonFilePath, namespace) {
|
|
252
300
|
const name = instance || 'default';
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
//
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
301
|
+
const ns = namespace || 'local';
|
|
302
|
+
const base = baseDir || getDefaultContext().baseDir;
|
|
303
|
+
const newPath = getPhotonStatePath(ns, photonName, name, base);
|
|
304
|
+
// Check legacy paths in order of preference
|
|
305
|
+
if (!fs.existsSync(path.dirname(newPath))) {
|
|
306
|
+
// Old namespace-aware: <dir>/<photonName>/.state/<instance>/state.json
|
|
307
|
+
if (photonFilePath) {
|
|
308
|
+
const dir = path.dirname(photonFilePath);
|
|
309
|
+
const photonBaseName = path.basename(photonFilePath).replace(/\.photon\.(ts|js)$/, '');
|
|
310
|
+
const oldNsPath = path.join(dir, photonBaseName, '.state', name, 'state.json');
|
|
311
|
+
if (fs.existsSync(oldNsPath))
|
|
312
|
+
return oldNsPath;
|
|
263
313
|
}
|
|
264
|
-
|
|
314
|
+
// Legacy flat: ~/.photon/state/{photon}/{instance}.json
|
|
315
|
+
const legacyPath = getLegacyStatePath(photonName, name, base);
|
|
316
|
+
if (fs.existsSync(legacyPath))
|
|
317
|
+
return legacyPath;
|
|
265
318
|
}
|
|
266
|
-
|
|
267
|
-
const dir = baseDir || getDefaultContext().baseDir;
|
|
268
|
-
return path.join(dir, 'state', photonName, `${name}.json`);
|
|
319
|
+
return newPath;
|
|
269
320
|
}
|
|
270
321
|
/**
|
|
271
322
|
* Get the event log path for a photon instance.
|
|
272
|
-
*
|
|
273
|
-
* When photonFilePath is provided (namespace-aware), resolves to:
|
|
274
|
-
* <dir>/<photonName>/.state/<instance>/state.log
|
|
275
|
-
* Otherwise (legacy), resolves to:
|
|
276
|
-
* ~/.photon/state/{photon}/{instance}.log
|
|
323
|
+
* New: .data/{ns}/{photon}/state/{instance}/state.log
|
|
277
324
|
*/
|
|
278
|
-
export function getInstanceLogPath(photonName, instance, baseDir, photonFilePath) {
|
|
325
|
+
export function getInstanceLogPath(photonName, instance, baseDir, photonFilePath, namespace) {
|
|
279
326
|
const name = instance || 'default';
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
327
|
+
const ns = namespace || 'local';
|
|
328
|
+
const base = baseDir || getDefaultContext().baseDir;
|
|
329
|
+
const newPath = getPhotonStateLogPath(ns, photonName, name, base);
|
|
330
|
+
if (!fs.existsSync(path.dirname(newPath))) {
|
|
331
|
+
if (photonFilePath) {
|
|
332
|
+
const dir = path.dirname(photonFilePath);
|
|
333
|
+
const photonBaseName = path.basename(photonFilePath).replace(/\.photon\.(ts|js)$/, '');
|
|
334
|
+
const oldNsPath = path.join(dir, photonBaseName, '.state', name, 'state.log');
|
|
335
|
+
if (fs.existsSync(oldNsPath))
|
|
336
|
+
return oldNsPath;
|
|
288
337
|
}
|
|
289
|
-
|
|
338
|
+
const legacyPath = getLegacyStateLogPath(photonName, name, base);
|
|
339
|
+
if (fs.existsSync(legacyPath))
|
|
340
|
+
return legacyPath;
|
|
290
341
|
}
|
|
291
|
-
|
|
292
|
-
return path.join(dir, 'state', photonName, `${name}.log`);
|
|
342
|
+
return newPath;
|
|
293
343
|
}
|
|
294
344
|
export function getEnvParams(params) {
|
|
295
345
|
return params.filter((p) => p.isPrimitive && !p.hasDefault);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-store.js","sourceRoot":"","sources":["../src/context-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEzE,iFAAiF;AACjF,sEAAsE;AACtE,iFAAiF;AAEjF,MAAM,OAAO,aAAa;IAChB,OAAO,CAAS;IAExB,YAAY,UAAkB,iBAAiB,EAAE,CAAC,OAAO;QACvD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAEO,KAAK,CAAC,UAAkB;QAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,UAAU,OAAO,CAAC,CAAC;IAClE,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAC,UAAkB;QACnC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;YAC1E,OAAO,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;QAC7B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC;gBAAE,OAAO,EAAE,CAAC,CAAC,6BAA6B;YACxE,OAAO,CAAC,IAAI,CACV,sCAAsC,UAAU,gBAAgB,eAAe,CAAC,GAAG,CAAC,EAAE,CACvF,CAAC;YACF,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAC,UAAkB,EAAE,QAAgB;QACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACxC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACpE,CAAC;IAED;;;OAGG;IACH,aAAa,CAAC,UAAkB,EAAE,cAAuB;QACvD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;QAEpC,8CAA8C;QAC9C,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QACpE,IAAI,CAAC;YACH,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC/C,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;oBAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC;gBAChC,OAAO,CAAC,IAAI,CAAC,sCAAsC,UAAU,KAAK,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC5F,CAAC;QACH,CAAC;QAED,wDAAwD;QACxD,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;YACjF,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACtD,IAAI,CAAC;gBACH,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,WAAW,CAAC,UAAU,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;oBACxE,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;wBACxB,mCAAmC;wBACnC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC5B,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,yCAAyC;YAC3C,CAAC;QACH,CAAC;QAED,OAAO,CAAC,GAAG,SAAS,CAAC,CAAC;IACxB,CAAC;IAED;;;OAGG;IACH,oBAAoB,CAAC,UAAkB;QAKrC,+EAA+E;QAC/E,+EAA+E;QAC/E,0EAA0E;QAC1E,MAAM,aAAa,GAAG;YACpB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC;YAC7C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC;SAC7C,CAAC;QAEF,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;YAChC,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBAClC,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBAC5F,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;oBAAE,SAAS;gBACrC,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBACnC,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;oBAC5C,OAAO;wBACL,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;wBAC5B,KAAK,EAAE,IAAI,CAAC,OAAO;wBACnB,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE;wBACvC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;qBACrC,CAAC;gBACJ,CAAC,CAAC,CAAC;gBACH,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC3C,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC9C,MAAM,QAAQ,GAA8D,EAAE,CAAC;gBAC/E,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;oBAC7B,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;gBACtF,CAAC;gBACD,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,QAAQ,EAAE,CAAC;YAC1E,CAAC;YAAC,MAAM,CAAC;gBACP,8BAA8B;YAChC,CAAC;QACH,CAAC;QACD,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAClE,CAAC;CACF;AAED,iFAAiF;AACjF,6DAA6D;AAC7D,+EAA+E;AAC/E,gEAAgE;AAChE,mDAAmD;AACnD,iFAAiF;AAEjF,MAAM,OAAO,eAAe;IAClB,UAAU,CAAS;IAE3B;QACE,MAAM,UAAU,GAAG,eAAe,CAAC,cAAc,EAAE,CAAC;QACpD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,qBAAqB,EAAE,UAAU,CAAC,CAAC;IAC9E,CAAC;IAED;;;;;OAKG;IACK,MAAM,CAAC,cAAc;QAC3B,IAAI,CAAC;YACH,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;YAC9C,MAAM,GAAG,GAAG,QAAQ,CAAC,iBAAiB,OAAO,CAAC,GAAG,EAAE,EAAE;gBACnD,QAAQ,EAAE,OAAO;gBACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;aAChC,CAAC,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,GAAG,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;gBACvC,OAAO,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;YAC1C,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,6BAA6B;QAC/B,CAAC;QACD,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAEO,KAAK,CAAC,UAAkB;QAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,UAAU,WAAW,CAAC,CAAC;IAC9D,CAAC;IAED,kBAAkB,CAAC,UAAkB;QACnC,IAAI,CAAC;YACH,OAAO,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QACjE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC,CAAC,oCAAoC;QACjD,CAAC;IACH,CAAC;IAED,kBAAkB,CAAC,UAAkB,EAAE,QAAgB;QACrD,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,CAAC;IACrD,CAAC;CACF;AAED,iFAAiF;AACjF,2EAA2E;AAC3E,iFAAiF;AAEjF,MAAM,OAAO,QAAQ;IACX,OAAO,CAAS;IAExB,YAAY,UAAkB,iBAAiB,EAAE,CAAC,OAAO;QACvD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAEO,KAAK,CAAC,UAAkB;QAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,UAAU,OAAO,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,CAAC,UAAkB;QACrB,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QACtE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC;gBAAE,OAAO,EAAE,CAAC;YAC1C,OAAO,CAAC,IAAI,CACV,iCAAiC,UAAU,gBAAgB,eAAe,CAAC,GAAG,CAAC,EAAE,CAClF,CAAC;YACF,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAkB,EAAE,MAA8B;QACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACxC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,MAAM,EAAE,CAAC;QAC1C,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED;;;OAGG;IACH,OAAO,CAAC,UAAkB,EAAE,SAAiB,EAAE,UAAkB;QAC/D,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrC,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,SAAS;YAAE,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC;QAC9D,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,UAAkB;QAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrC,MAAM,MAAM,GAA2B,EAAE,CAAC;QAC1C,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAChD,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnB,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACxD,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACtB,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAED,iFAAiF;AACjF,sBAAsB;AACtB,iFAAiF;AAEjF;;;;;;;;;GASG;AACH,MAAM,UAAU,oBAAoB,CAClC,UAAkB,EAClB,QAAgB,EAChB,OAAgB,EAChB,cAAuB;IAEvB,MAAM,IAAI,GAAG,QAAQ,IAAI,SAAS,CAAC;IAEnC,IAAI,cAAc,EAAE,CAAC;QACnB,wEAAwE;QACxE,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACzC,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;QACvF,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;QAE7E,yDAAyD;QACzD,MAAM,SAAS,GAAG,OAAO,IAAI,iBAAiB,EAAE,CAAC,OAAO,CAAC;QACzD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,IAAI,OAAO,CAAC,CAAC;QAC7E,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACvE,OAAO,UAAU,CAAC,CAAC,kCAAkC;QACvD,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,cAAc;IACd,MAAM,GAAG,GAAG,OAAO,IAAI,iBAAiB,EAAE,CAAC,OAAO,CAAC;IACnD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,IAAI,OAAO,CAAC,CAAC;AAC7D,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAChC,UAAkB,EAClB,QAAgB,EAChB,OAAgB,EAChB,cAAuB;IAEvB,MAAM,IAAI,GAAG,QAAQ,IAAI,SAAS,CAAC;IAEnC,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACzC,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;QACvF,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;QAC5E,MAAM,SAAS,GAAG,OAAO,IAAI,iBAAiB,EAAE,CAAC,OAAO,CAAC;QACzD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,IAAI,MAAM,CAAC,CAAC;QAC5E,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACvE,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,GAAG,GAAG,OAAO,IAAI,iBAAiB,EAAE,CAAC,OAAO,CAAC;IACnD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,IAAI,MAAM,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAA0B;IACrD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;AAC9D,CAAC"}
|
|
1
|
+
{"version":3,"file":"context-store.js","sourceRoot":"","sources":["../src/context-store.ts"],"names":[],"mappings":"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"}
|
package/dist/context.d.ts
CHANGED
|
@@ -5,29 +5,34 @@
|
|
|
5
5
|
* process.env.PHOTON_DIR, and per-constructor baseDir parameters.
|
|
6
6
|
*
|
|
7
7
|
* Design:
|
|
8
|
-
* -
|
|
9
|
-
* -
|
|
8
|
+
* - All runtime data lives under {baseDir}/.data/
|
|
9
|
+
* - Daemon socket/pid/log ALWAYS resolve to ~/.photon/.data/ (one global daemon)
|
|
10
|
+
* - baseDir/dataDir/cacheDir/configFile respect PHOTON_DIR env var overrides
|
|
10
11
|
* - Immutable after creation — no runtime mutations
|
|
11
12
|
*/
|
|
12
13
|
export interface PhotonContext {
|
|
13
14
|
/** Base directory for photon files (~/.photon or PHOTON_DIR override) */
|
|
14
15
|
readonly baseDir: string;
|
|
15
|
-
/**
|
|
16
|
-
readonly
|
|
17
|
-
/** Cache directory (baseDir/.cache) */
|
|
16
|
+
/** Root of all runtime data (baseDir/.data) */
|
|
17
|
+
readonly dataDir: string;
|
|
18
|
+
/** Cache directory (baseDir/.data/.cache) */
|
|
18
19
|
readonly cacheDir: string;
|
|
19
|
-
/** Config file path (baseDir/config.json) */
|
|
20
|
+
/** Config file path (baseDir/config.json) — committable, not inside .data */
|
|
20
21
|
readonly configFile: string;
|
|
21
|
-
/** Daemon socket — ALWAYS ~/.photon/daemon.sock (global daemon) */
|
|
22
|
+
/** Daemon socket — ALWAYS ~/.photon/.data/daemon.sock (global daemon) */
|
|
22
23
|
readonly socketPath: string;
|
|
23
|
-
/** Daemon PID file — ALWAYS ~/.photon/daemon.pid */
|
|
24
|
+
/** Daemon PID file — ALWAYS ~/.photon/.data/daemon.pid */
|
|
24
25
|
readonly pidFile: string;
|
|
25
|
-
/** Daemon log file — ALWAYS ~/.photon/daemon.log */
|
|
26
|
+
/** Daemon log file — ALWAYS ~/.photon/.data/daemon.log */
|
|
26
27
|
readonly logFile: string;
|
|
28
|
+
/**
|
|
29
|
+
* @deprecated Use dataDir instead. State is now per-photon inside .data/
|
|
30
|
+
*/
|
|
31
|
+
readonly stateDir: string;
|
|
27
32
|
}
|
|
28
33
|
/**
|
|
29
34
|
* Get the default PhotonContext.
|
|
30
|
-
*
|
|
35
|
+
* Priority: cwd (if it contains .photon.ts files) > PHOTON_DIR env var > ~/.photon.
|
|
31
36
|
*
|
|
32
37
|
* Not cached — env var may change between calls (e.g. tests).
|
|
33
38
|
*/
|
package/dist/context.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAaH,MAAM,WAAW,aAAa;IAC5B,yEAAyE;IACzE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,+CAA+C;IAC/C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,6CAA6C;IAC7C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,6EAA6E;IAC7E,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,yEAAyE;IACzE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,0DAA0D;IAC1D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,0DAA0D;IAC1D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAiBD;;;;;GAKG;AACH,wBAAgB,iBAAiB,IAAI,aAAa,CAwBjD"}
|
package/dist/context.js
CHANGED
|
@@ -5,34 +5,58 @@
|
|
|
5
5
|
* process.env.PHOTON_DIR, and per-constructor baseDir parameters.
|
|
6
6
|
*
|
|
7
7
|
* Design:
|
|
8
|
-
* -
|
|
9
|
-
* -
|
|
8
|
+
* - All runtime data lives under {baseDir}/.data/
|
|
9
|
+
* - Daemon socket/pid/log ALWAYS resolve to ~/.photon/.data/ (one global daemon)
|
|
10
|
+
* - baseDir/dataDir/cacheDir/configFile respect PHOTON_DIR env var overrides
|
|
10
11
|
* - Immutable after creation — no runtime mutations
|
|
11
12
|
*/
|
|
12
13
|
import * as path from 'path';
|
|
13
14
|
import * as os from 'os';
|
|
15
|
+
import * as fs from 'fs';
|
|
16
|
+
import { getDataRoot, getCacheDir, getDaemonSocketPath, getDaemonPidPath, getDaemonLogPath, } from '@portel/photon-core';
|
|
14
17
|
/** Default photon directory: ~/.photon */
|
|
15
18
|
const HOME_PHOTON_DIR = path.join(os.homedir(), '.photon');
|
|
19
|
+
/**
|
|
20
|
+
* Check if a directory contains .photon.ts files (is a marketplace or photon workspace).
|
|
21
|
+
*/
|
|
22
|
+
function isPhotonDirectory(dir) {
|
|
23
|
+
try {
|
|
24
|
+
const entries = fs.readdirSync(dir);
|
|
25
|
+
return entries.some((e) => e.endsWith('.photon.ts'));
|
|
26
|
+
}
|
|
27
|
+
catch {
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
16
31
|
/**
|
|
17
32
|
* Get the default PhotonContext.
|
|
18
|
-
*
|
|
33
|
+
* Priority: cwd (if it contains .photon.ts files) > PHOTON_DIR env var > ~/.photon.
|
|
19
34
|
*
|
|
20
35
|
* Not cached — env var may change between calls (e.g. tests).
|
|
21
36
|
*/
|
|
22
37
|
export function getDefaultContext() {
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
38
|
+
const cwd = process.cwd();
|
|
39
|
+
let baseDir;
|
|
40
|
+
if (isPhotonDirectory(cwd)) {
|
|
41
|
+
// cwd is a marketplace or photon workspace — use it and update env for downstream
|
|
42
|
+
baseDir = cwd;
|
|
43
|
+
process.env.PHOTON_DIR = cwd;
|
|
44
|
+
}
|
|
45
|
+
else if (process.env.PHOTON_DIR) {
|
|
46
|
+
baseDir = path.resolve(process.env.PHOTON_DIR);
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
baseDir = HOME_PHOTON_DIR;
|
|
50
|
+
}
|
|
28
51
|
return Object.freeze({
|
|
29
52
|
baseDir,
|
|
30
|
-
|
|
31
|
-
|
|
53
|
+
dataDir: getDataRoot(baseDir),
|
|
54
|
+
stateDir: path.join(baseDir, 'state'), // legacy compat
|
|
55
|
+
cacheDir: getCacheDir(baseDir),
|
|
32
56
|
configFile: path.join(baseDir, 'config.json'),
|
|
33
|
-
socketPath,
|
|
34
|
-
pidFile:
|
|
35
|
-
logFile:
|
|
57
|
+
socketPath: getDaemonSocketPath(),
|
|
58
|
+
pidFile: getDaemonPidPath(),
|
|
59
|
+
logFile: getDaemonLogPath(),
|
|
36
60
|
});
|
|
37
61
|
}
|
|
38
62
|
//# sourceMappingURL=context.js.map
|
package/dist/context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EACL,WAAW,EACX,WAAW,EACX,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAwB7B,0CAA0C;AAC1C,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;AAE3D;;GAEG;AACH,SAAS,iBAAiB,CAAC,GAAW;IACpC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACpC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;IACvD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB;IAC/B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,IAAI,OAAe,CAAC;IAEpB,IAAI,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,kFAAkF;QAClF,OAAO,GAAG,GAAG,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;IAC/B,CAAC;SAAM,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;QAClC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACjD,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,eAAe,CAAC;IAC5B,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,OAAO;QACP,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC;QAC7B,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,gBAAgB;QACvD,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC;QAC9B,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC;QAC7C,UAAU,EAAE,mBAAmB,EAAE;QACjC,OAAO,EAAE,gBAAgB,EAAE;QAC3B,OAAO,EAAE,gBAAgB,EAAE;KAC5B,CAAC,CAAC;AACL,CAAC"}
|
package/dist/daemon/server.js
CHANGED
|
@@ -48,11 +48,13 @@ class InProcessBroker {
|
|
|
48
48
|
handlers = new Map();
|
|
49
49
|
async publish(message) {
|
|
50
50
|
const channel = message.channel;
|
|
51
|
+
// Always forward to daemon socket subscribers (MCP servers, Beam SSE, etc.)
|
|
52
|
+
// This ensures events emitted outside of tool execution context (e.g., from
|
|
53
|
+
// polling loops, timers, event handlers) still reach cross-process subscribers.
|
|
54
|
+
publishToChannel(channel, message);
|
|
51
55
|
const handlers = this.handlers.get(channel);
|
|
52
56
|
if (!handlers || handlers.size === 0)
|
|
53
57
|
return;
|
|
54
|
-
// Also buffer for external subscribers (Beam SSE, etc.)
|
|
55
|
-
bufferEvent(channel, message);
|
|
56
58
|
for (const handler of handlers) {
|
|
57
59
|
try {
|
|
58
60
|
handler(message);
|