pm-orchestrator-runner 1.0.13 → 1.0.15
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 +7 -7
- package/dist/cli/index.js +13 -9
- package/dist/cli/index.js.map +1 -1
- package/dist/config/namespace.d.ts +38 -11
- package/dist/config/namespace.d.ts.map +1 -1
- package/dist/config/namespace.js +163 -26
- package/dist/config/namespace.js.map +1 -1
- package/dist/queue/index.d.ts +7 -32
- package/dist/queue/index.d.ts.map +1 -1
- package/dist/queue/index.js +11 -28
- package/dist/queue/index.js.map +1 -1
- package/dist/queue/queue-poller.d.ts +20 -1
- package/dist/queue/queue-poller.d.ts.map +1 -1
- package/dist/queue/queue-poller.js +40 -1
- package/dist/queue/queue-poller.js.map +1 -1
- package/dist/queue/queue-store.d.ts +136 -47
- package/dist/queue/queue-store.d.ts.map +1 -1
- package/dist/queue/queue-store.js +385 -107
- package/dist/queue/queue-store.js.map +1 -1
- package/dist/web/index.d.ts +8 -2
- package/dist/web/index.d.ts.map +1 -1
- package/dist/web/index.js +8 -2
- package/dist/web/index.js.map +1 -1
- package/dist/web/public/index.html +81 -1
- package/dist/web/server.d.ts +13 -2
- package/dist/web/server.d.ts.map +1 -1
- package/dist/web/server.js +155 -27
- package/dist/web/server.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -40,10 +40,10 @@ pm repl --namespace stable
|
|
|
40
40
|
|
|
41
41
|
```bash
|
|
42
42
|
# Start Web UI server
|
|
43
|
-
pm web --port
|
|
43
|
+
pm web --port 5678
|
|
44
44
|
|
|
45
45
|
# Verify Web UI
|
|
46
|
-
curl http://localhost:
|
|
46
|
+
curl http://localhost:5678/api/health
|
|
47
47
|
```
|
|
48
48
|
|
|
49
49
|
### Non-Interactive Mode (Scripting)
|
|
@@ -95,7 +95,7 @@ pm --project-mode fixed --project-root /path/to/project
|
|
|
95
95
|
|
|
96
96
|
| Option | Description |
|
|
97
97
|
|--------|-------------|
|
|
98
|
-
| `--port <number>` | Web UI port (default:
|
|
98
|
+
| `--port <number>` | Web UI port (default: 5678) |
|
|
99
99
|
| `--namespace <name>` | Namespace for state separation |
|
|
100
100
|
|
|
101
101
|
## REPL Commands
|
|
@@ -115,18 +115,18 @@ Inside the REPL:
|
|
|
115
115
|
|
|
116
116
|
```bash
|
|
117
117
|
# 1. Start Web UI
|
|
118
|
-
pm web --port
|
|
118
|
+
pm web --port 5678
|
|
119
119
|
|
|
120
120
|
# 2. Health check
|
|
121
|
-
curl http://localhost:
|
|
121
|
+
curl http://localhost:5678/api/health
|
|
122
122
|
|
|
123
123
|
# 3. Submit task
|
|
124
|
-
curl -X POST http://localhost:
|
|
124
|
+
curl -X POST http://localhost:5678/api/tasks \
|
|
125
125
|
-H "Content-Type: application/json" \
|
|
126
126
|
-d '{"task_group_id":"test","prompt":"hello"}'
|
|
127
127
|
|
|
128
128
|
# 4. View tasks
|
|
129
|
-
curl http://localhost:
|
|
129
|
+
curl http://localhost:5678/api/task-groups
|
|
130
130
|
```
|
|
131
131
|
|
|
132
132
|
## Environment Variables
|
package/dist/cli/index.js
CHANGED
|
@@ -88,10 +88,10 @@ REPL Options:
|
|
|
88
88
|
--print-project-path Print PROJECT_PATH=<path> on startup
|
|
89
89
|
--namespace <name> Namespace for state separation (default: 'default')
|
|
90
90
|
Examples: 'stable', 'dev', 'test-1'
|
|
91
|
-
--port <number> Web UI port (default:
|
|
91
|
+
--port <number> Web UI port (default: 5678 for 'default'/'stable', 5679 for 'dev')
|
|
92
92
|
|
|
93
93
|
Web Options:
|
|
94
|
-
--port <number> Web UI port (default:
|
|
94
|
+
--port <number> Web UI port (default: 5678)
|
|
95
95
|
--namespace <name> Namespace for state separation
|
|
96
96
|
|
|
97
97
|
General Options:
|
|
@@ -102,17 +102,17 @@ Examples:
|
|
|
102
102
|
pm # Start REPL in current directory
|
|
103
103
|
pm --project ./my-project # Start REPL with specific project
|
|
104
104
|
pm repl --namespace stable # Start REPL with stable namespace
|
|
105
|
-
pm web --port
|
|
105
|
+
pm web --port 5678 # Start Web UI on port 5678
|
|
106
106
|
pm start ./my-project --dry-run # Start session with dry-run
|
|
107
107
|
pm continue session-2025-01-15-abc123 # Continue a session
|
|
108
108
|
|
|
109
109
|
Web UI Verification:
|
|
110
|
-
1. Start Web UI: pm web --port
|
|
111
|
-
2. Health check: curl http://localhost:
|
|
112
|
-
3. Submit task: curl -X POST http://localhost:
|
|
110
|
+
1. Start Web UI: pm web --port 5678
|
|
111
|
+
2. Health check: curl http://localhost:5678/api/health
|
|
112
|
+
3. Submit task: curl -X POST http://localhost:5678/api/tasks \\
|
|
113
113
|
-H "Content-Type: application/json" \\
|
|
114
114
|
-d '{"task_group_id":"test","prompt":"hello"}'
|
|
115
|
-
4. View tasks: curl http://localhost:
|
|
115
|
+
4. View tasks: curl http://localhost:5678/api/task-groups
|
|
116
116
|
`;
|
|
117
117
|
/**
|
|
118
118
|
* Version - read from package.json
|
|
@@ -251,6 +251,7 @@ async function startRepl(replArgs) {
|
|
|
251
251
|
// Build namespace configuration (per spec/21_STABLE_DEV.md)
|
|
252
252
|
// Fail-closed: buildNamespaceConfig throws on invalid namespace
|
|
253
253
|
const namespaceConfig = (0, namespace_1.buildNamespaceConfig)({
|
|
254
|
+
autoDerive: true,
|
|
254
255
|
namespace: replArgs.namespace,
|
|
255
256
|
projectRoot: projectPath,
|
|
256
257
|
port: replArgs.port,
|
|
@@ -323,19 +324,22 @@ async function startWebServer(webArgs) {
|
|
|
323
324
|
const projectPath = process.cwd();
|
|
324
325
|
// Build namespace configuration
|
|
325
326
|
const namespaceConfig = (0, namespace_1.buildNamespaceConfig)({
|
|
327
|
+
autoDerive: true,
|
|
326
328
|
namespace: webArgs.namespace,
|
|
327
329
|
projectRoot: projectPath,
|
|
328
330
|
port: webArgs.port,
|
|
329
331
|
});
|
|
330
332
|
const port = webArgs.port || namespaceConfig.port;
|
|
331
|
-
const queueStore =
|
|
333
|
+
const queueStore = new queue_1.QueueStore({
|
|
332
334
|
namespace: namespaceConfig.namespace,
|
|
333
|
-
tableName: namespaceConfig.tableName,
|
|
334
335
|
});
|
|
336
|
+
await queueStore.ensureTable();
|
|
335
337
|
const server = new server_1.WebServer({
|
|
336
338
|
port,
|
|
337
339
|
queueStore,
|
|
338
340
|
sessionId: generateWebSessionId(),
|
|
341
|
+
namespace: namespaceConfig.namespace,
|
|
342
|
+
projectRoot: projectPath,
|
|
339
343
|
});
|
|
340
344
|
console.log(`Starting Web UI server on port ${port}...`);
|
|
341
345
|
console.log(`Namespace: ${namespaceConfig.namespace}`);
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,21 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Namespace Configuration
|
|
2
|
+
* Namespace Configuration (v2)
|
|
3
3
|
* Per spec/21_STABLE_DEV.md
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* -
|
|
5
|
+
* v2 Changes:
|
|
6
|
+
* - Single table design: namespace is part of the composite key
|
|
7
|
+
* - Table name is fixed: pm-runner-queue
|
|
8
|
+
* - getTableName() returns fixed value
|
|
9
|
+
*
|
|
10
|
+
* Provides state separation between namespaces:
|
|
11
|
+
* - Data separation via namespace partition key
|
|
7
12
|
* - State directory: .claude/state/{namespace}/
|
|
8
13
|
* - Web UI port: configurable via --port
|
|
9
14
|
*
|
|
15
|
+
* Auto-derivation: "Same Folder = Same Queue"
|
|
16
|
+
* - Derives namespace from project root path: {folder_name}-{path_hash_4_chars}
|
|
17
|
+
* - Example: /Users/masa/dev/my-project -> my-project-a1b2
|
|
18
|
+
*
|
|
10
19
|
* Fail-closed: Invalid namespace names cause immediate exit
|
|
11
20
|
*/
|
|
12
21
|
/**
|
|
@@ -19,12 +28,14 @@ export declare const DEFAULT_NAMESPACE = "default";
|
|
|
19
28
|
export interface NamespaceConfig {
|
|
20
29
|
/** Namespace name (default: 'default') */
|
|
21
30
|
namespace: string;
|
|
22
|
-
/** DynamoDB table name
|
|
31
|
+
/** DynamoDB table name (v2: always pm-runner-queue) */
|
|
23
32
|
tableName: string;
|
|
24
33
|
/** State directory path derived from namespace */
|
|
25
34
|
stateDir: string;
|
|
26
|
-
/** Web UI port (default:
|
|
35
|
+
/** Web UI port (default: 5678 for default namespace) */
|
|
27
36
|
port: number;
|
|
37
|
+
/** Whether namespace was auto-derived from project path */
|
|
38
|
+
autoDerived?: boolean;
|
|
28
39
|
}
|
|
29
40
|
/**
|
|
30
41
|
* Validate namespace name
|
|
@@ -32,9 +43,9 @@ export interface NamespaceConfig {
|
|
|
32
43
|
*/
|
|
33
44
|
export declare function validateNamespace(namespace: string): string | undefined;
|
|
34
45
|
/**
|
|
35
|
-
* Get QueueStore table name
|
|
46
|
+
* Get QueueStore table name (v2: always returns fixed table name)
|
|
36
47
|
*/
|
|
37
|
-
export declare function getTableName(
|
|
48
|
+
export declare function getTableName(_namespace: string): string;
|
|
38
49
|
/**
|
|
39
50
|
* Get state directory path for namespace
|
|
40
51
|
* @param projectRoot - The project root directory
|
|
@@ -43,16 +54,31 @@ export declare function getTableName(namespace: string): string;
|
|
|
43
54
|
export declare function getStateDir(projectRoot: string, namespace: string): string;
|
|
44
55
|
/**
|
|
45
56
|
* Get default Web UI port for namespace
|
|
46
|
-
* - default:
|
|
47
|
-
* - stable:
|
|
48
|
-
* - dev:
|
|
49
|
-
* - Others:
|
|
57
|
+
* - default: 5678
|
|
58
|
+
* - stable: 5678
|
|
59
|
+
* - dev: 5679
|
|
60
|
+
* - Others: 5680 + hash(namespace) % 1000
|
|
50
61
|
*/
|
|
51
62
|
export declare function getDefaultPort(namespace: string): number;
|
|
63
|
+
/**
|
|
64
|
+
* Derive namespace from project path
|
|
65
|
+
* Format: {folder_name}-{4_char_hash}
|
|
66
|
+
* Example: /Users/masa/dev/my-project -> my-project-a1b2
|
|
67
|
+
*
|
|
68
|
+
* @param projectPath - Full path to project directory
|
|
69
|
+
* @returns Derived namespace string
|
|
70
|
+
*/
|
|
71
|
+
export declare function deriveNamespaceFromPath(projectPath: string): string;
|
|
52
72
|
/**
|
|
53
73
|
* Build namespace configuration
|
|
54
74
|
* Fail-closed: Throws on invalid namespace
|
|
55
75
|
*
|
|
76
|
+
* Priority order:
|
|
77
|
+
* 1. Explicit namespace option
|
|
78
|
+
* 2. PM_RUNNER_NAMESPACE environment variable
|
|
79
|
+
* 3. Auto-derived from projectRoot (if autoDerive is true)
|
|
80
|
+
* 4. DEFAULT_NAMESPACE ('default')
|
|
81
|
+
*
|
|
56
82
|
* @param options - Configuration options
|
|
57
83
|
* @returns Namespace configuration
|
|
58
84
|
* @throws Error if namespace is invalid
|
|
@@ -61,6 +87,7 @@ export declare function buildNamespaceConfig(options: {
|
|
|
61
87
|
namespace?: string;
|
|
62
88
|
projectRoot: string;
|
|
63
89
|
port?: number;
|
|
90
|
+
autoDerive?: boolean;
|
|
64
91
|
}): NamespaceConfig;
|
|
65
92
|
/**
|
|
66
93
|
* Namespace comparison utilities
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../src/config/namespace.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../src/config/namespace.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAmBH;;GAEG;AACH,eAAO,MAAM,iBAAiB,YAAY,CAAC;AAY3C;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,uDAAuD;IACvD,SAAS,EAAE,MAAM,CAAC;IAClB,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,wDAAwD;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAkBvE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAGvD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAK1E;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAmBxD;AA2BD;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAoCnE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,GAAG,eAAe,CAgClB;AAED;;GAEG;AACH,eAAO,MAAM,cAAc;IACzB;;OAEG;yBACkB,MAAM,OAAO,MAAM,GAAG,OAAO;IAIlD;;OAEG;kCAC2B,MAAM,GAAG,OAAO;IAI9C;;OAEG;wBACiB,MAAM,GAAG,OAAO;IAIpC;;OAEG;qBACc,MAAM,GAAG,OAAO;CAGlC,CAAC"}
|
package/dist/config/namespace.js
CHANGED
|
@@ -1,22 +1,68 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* Namespace Configuration
|
|
3
|
+
* Namespace Configuration (v2)
|
|
4
4
|
* Per spec/21_STABLE_DEV.md
|
|
5
5
|
*
|
|
6
|
-
*
|
|
7
|
-
* -
|
|
6
|
+
* v2 Changes:
|
|
7
|
+
* - Single table design: namespace is part of the composite key
|
|
8
|
+
* - Table name is fixed: pm-runner-queue
|
|
9
|
+
* - getTableName() returns fixed value
|
|
10
|
+
*
|
|
11
|
+
* Provides state separation between namespaces:
|
|
12
|
+
* - Data separation via namespace partition key
|
|
8
13
|
* - State directory: .claude/state/{namespace}/
|
|
9
14
|
* - Web UI port: configurable via --port
|
|
10
15
|
*
|
|
16
|
+
* Auto-derivation: "Same Folder = Same Queue"
|
|
17
|
+
* - Derives namespace from project root path: {folder_name}-{path_hash_4_chars}
|
|
18
|
+
* - Example: /Users/masa/dev/my-project -> my-project-a1b2
|
|
19
|
+
*
|
|
11
20
|
* Fail-closed: Invalid namespace names cause immediate exit
|
|
12
21
|
*/
|
|
22
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
23
|
+
if (k2 === undefined) k2 = k;
|
|
24
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
25
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
26
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
27
|
+
}
|
|
28
|
+
Object.defineProperty(o, k2, desc);
|
|
29
|
+
}) : (function(o, m, k, k2) {
|
|
30
|
+
if (k2 === undefined) k2 = k;
|
|
31
|
+
o[k2] = m[k];
|
|
32
|
+
}));
|
|
33
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
34
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
35
|
+
}) : function(o, v) {
|
|
36
|
+
o["default"] = v;
|
|
37
|
+
});
|
|
38
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
39
|
+
var ownKeys = function(o) {
|
|
40
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
41
|
+
var ar = [];
|
|
42
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
43
|
+
return ar;
|
|
44
|
+
};
|
|
45
|
+
return ownKeys(o);
|
|
46
|
+
};
|
|
47
|
+
return function (mod) {
|
|
48
|
+
if (mod && mod.__esModule) return mod;
|
|
49
|
+
var result = {};
|
|
50
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
51
|
+
__setModuleDefault(result, mod);
|
|
52
|
+
return result;
|
|
53
|
+
};
|
|
54
|
+
})();
|
|
13
55
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
56
|
exports.NamespaceUtils = exports.DEFAULT_NAMESPACE = void 0;
|
|
15
57
|
exports.validateNamespace = validateNamespace;
|
|
16
58
|
exports.getTableName = getTableName;
|
|
17
59
|
exports.getStateDir = getStateDir;
|
|
18
60
|
exports.getDefaultPort = getDefaultPort;
|
|
61
|
+
exports.deriveNamespaceFromPath = deriveNamespaceFromPath;
|
|
19
62
|
exports.buildNamespaceConfig = buildNamespaceConfig;
|
|
63
|
+
const path = __importStar(require("path"));
|
|
64
|
+
const crypto = __importStar(require("crypto"));
|
|
65
|
+
const queue_store_1 = require("../queue/queue-store");
|
|
20
66
|
/**
|
|
21
67
|
* Valid namespace pattern
|
|
22
68
|
* - Alphanumeric and hyphens only
|
|
@@ -32,6 +78,14 @@ const RESERVED_NAMESPACES = ['all', 'none', 'null', 'undefined', 'system'];
|
|
|
32
78
|
* Default namespace name
|
|
33
79
|
*/
|
|
34
80
|
exports.DEFAULT_NAMESPACE = 'default';
|
|
81
|
+
/**
|
|
82
|
+
* Maximum namespace length
|
|
83
|
+
*/
|
|
84
|
+
const MAX_NAMESPACE_LENGTH = 32;
|
|
85
|
+
/**
|
|
86
|
+
* Hash length for auto-derived namespaces
|
|
87
|
+
*/
|
|
88
|
+
const HASH_LENGTH = 4;
|
|
35
89
|
/**
|
|
36
90
|
* Validate namespace name
|
|
37
91
|
* Fail-closed: Returns error message if invalid, undefined if valid
|
|
@@ -40,25 +94,23 @@ function validateNamespace(namespace) {
|
|
|
40
94
|
if (!namespace) {
|
|
41
95
|
return 'Namespace cannot be empty';
|
|
42
96
|
}
|
|
43
|
-
if (namespace.length >
|
|
44
|
-
return
|
|
97
|
+
if (namespace.length > MAX_NAMESPACE_LENGTH) {
|
|
98
|
+
return 'Namespace too long: ' + namespace.length + ' characters (max ' + MAX_NAMESPACE_LENGTH + ')';
|
|
45
99
|
}
|
|
46
100
|
if (!NAMESPACE_PATTERN.test(namespace)) {
|
|
47
|
-
return
|
|
101
|
+
return 'Invalid namespace format: "' + namespace + '". Use alphanumeric and hyphens only (e.g., "stable", "dev", "test-1")';
|
|
48
102
|
}
|
|
49
103
|
if (RESERVED_NAMESPACES.includes(namespace.toLowerCase())) {
|
|
50
|
-
return
|
|
104
|
+
return 'Reserved namespace name: "' + namespace + '". Cannot use: ' + RESERVED_NAMESPACES.join(', ');
|
|
51
105
|
}
|
|
52
106
|
return undefined; // Valid
|
|
53
107
|
}
|
|
54
108
|
/**
|
|
55
|
-
* Get QueueStore table name
|
|
109
|
+
* Get QueueStore table name (v2: always returns fixed table name)
|
|
56
110
|
*/
|
|
57
|
-
function getTableName(
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
}
|
|
61
|
-
return `pm-runner-queue-${namespace}`;
|
|
111
|
+
function getTableName(_namespace) {
|
|
112
|
+
// v2: Single table design - all namespaces share the same table
|
|
113
|
+
return queue_store_1.QUEUE_TABLE_NAME;
|
|
62
114
|
}
|
|
63
115
|
/**
|
|
64
116
|
* Get state directory path for namespace
|
|
@@ -67,55 +119,140 @@ function getTableName(namespace) {
|
|
|
67
119
|
*/
|
|
68
120
|
function getStateDir(projectRoot, namespace) {
|
|
69
121
|
if (namespace === exports.DEFAULT_NAMESPACE) {
|
|
70
|
-
return
|
|
122
|
+
return projectRoot + '/.claude';
|
|
71
123
|
}
|
|
72
|
-
return
|
|
124
|
+
return projectRoot + '/.claude/state/' + namespace;
|
|
73
125
|
}
|
|
74
126
|
/**
|
|
75
127
|
* Get default Web UI port for namespace
|
|
76
|
-
* - default:
|
|
77
|
-
* - stable:
|
|
78
|
-
* - dev:
|
|
79
|
-
* - Others:
|
|
128
|
+
* - default: 5678
|
|
129
|
+
* - stable: 5678
|
|
130
|
+
* - dev: 5679
|
|
131
|
+
* - Others: 5680 + hash(namespace) % 1000
|
|
80
132
|
*/
|
|
81
133
|
function getDefaultPort(namespace) {
|
|
82
134
|
const basePorts = {
|
|
83
|
-
'default':
|
|
84
|
-
'stable':
|
|
85
|
-
'dev':
|
|
135
|
+
'default': 5678,
|
|
136
|
+
'stable': 5678,
|
|
137
|
+
'dev': 5679,
|
|
86
138
|
};
|
|
87
139
|
if (basePorts[namespace] !== undefined) {
|
|
88
140
|
return basePorts[namespace];
|
|
89
141
|
}
|
|
90
|
-
// Hash-based port for other namespaces (
|
|
142
|
+
// Hash-based port for other namespaces (5680-6677)
|
|
91
143
|
let hash = 0;
|
|
92
144
|
for (let i = 0; i < namespace.length; i++) {
|
|
93
145
|
const char = namespace.charCodeAt(i);
|
|
94
146
|
hash = ((hash << 5) - hash) + char;
|
|
95
147
|
hash = hash & hash; // Convert to 32bit integer
|
|
96
148
|
}
|
|
97
|
-
return
|
|
149
|
+
return 5680 + (Math.abs(hash) % 998);
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Normalize folder name for namespace
|
|
153
|
+
* - Convert to lowercase
|
|
154
|
+
* - Replace underscores with hyphens
|
|
155
|
+
* - Remove special characters (keep only alphanumeric and hyphens)
|
|
156
|
+
* - Remove leading/trailing hyphens
|
|
157
|
+
*/
|
|
158
|
+
function normalizeFolderName(folderName) {
|
|
159
|
+
return folderName
|
|
160
|
+
.toLowerCase()
|
|
161
|
+
.replace(/_/g, '-') // underscores to hyphens
|
|
162
|
+
.replace(/[^a-z0-9-]/g, '') // remove special chars
|
|
163
|
+
.replace(/^-+|-+$/g, '') // remove leading/trailing hyphens
|
|
164
|
+
.replace(/-+/g, '-'); // collapse multiple hyphens
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Generate 4-character hash from path
|
|
168
|
+
* Uses MD5 for speed and consistency
|
|
169
|
+
*/
|
|
170
|
+
function generatePathHash(fullPath) {
|
|
171
|
+
const hash = crypto.createHash('md5').update(fullPath).digest('hex');
|
|
172
|
+
return hash.substring(0, HASH_LENGTH);
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Derive namespace from project path
|
|
176
|
+
* Format: {folder_name}-{4_char_hash}
|
|
177
|
+
* Example: /Users/masa/dev/my-project -> my-project-a1b2
|
|
178
|
+
*
|
|
179
|
+
* @param projectPath - Full path to project directory
|
|
180
|
+
* @returns Derived namespace string
|
|
181
|
+
*/
|
|
182
|
+
function deriveNamespaceFromPath(projectPath) {
|
|
183
|
+
// Normalize path separators and remove trailing slash
|
|
184
|
+
const normalizedPath = projectPath
|
|
185
|
+
.replace(/\\/g, '/') // Windows to Unix paths
|
|
186
|
+
.replace(/\/+$/, ''); // Remove trailing slashes
|
|
187
|
+
// Extract folder name (basename)
|
|
188
|
+
const folderName = path.basename(normalizedPath);
|
|
189
|
+
// Normalize folder name for namespace
|
|
190
|
+
const normalizedFolder = normalizeFolderName(folderName);
|
|
191
|
+
// Generate hash from full path
|
|
192
|
+
const pathHash = generatePathHash(normalizedPath);
|
|
193
|
+
// Calculate max folder length to fit within MAX_NAMESPACE_LENGTH
|
|
194
|
+
// Format: {folder}-{hash} where hash is 4 chars and hyphen is 1 char
|
|
195
|
+
const maxFolderLength = MAX_NAMESPACE_LENGTH - HASH_LENGTH - 1;
|
|
196
|
+
// Truncate folder name if needed
|
|
197
|
+
let truncatedFolder = normalizedFolder;
|
|
198
|
+
if (truncatedFolder.length > maxFolderLength) {
|
|
199
|
+
truncatedFolder = truncatedFolder.substring(0, maxFolderLength);
|
|
200
|
+
// Remove trailing hyphen if truncation created one
|
|
201
|
+
truncatedFolder = truncatedFolder.replace(/-+$/, '');
|
|
202
|
+
}
|
|
203
|
+
// Handle edge case: empty folder name after normalization
|
|
204
|
+
if (!truncatedFolder) {
|
|
205
|
+
truncatedFolder = 'project';
|
|
206
|
+
}
|
|
207
|
+
// Combine folder name and hash
|
|
208
|
+
const namespace = truncatedFolder + '-' + pathHash;
|
|
209
|
+
return namespace;
|
|
98
210
|
}
|
|
99
211
|
/**
|
|
100
212
|
* Build namespace configuration
|
|
101
213
|
* Fail-closed: Throws on invalid namespace
|
|
102
214
|
*
|
|
215
|
+
* Priority order:
|
|
216
|
+
* 1. Explicit namespace option
|
|
217
|
+
* 2. PM_RUNNER_NAMESPACE environment variable
|
|
218
|
+
* 3. Auto-derived from projectRoot (if autoDerive is true)
|
|
219
|
+
* 4. DEFAULT_NAMESPACE ('default')
|
|
220
|
+
*
|
|
103
221
|
* @param options - Configuration options
|
|
104
222
|
* @returns Namespace configuration
|
|
105
223
|
* @throws Error if namespace is invalid
|
|
106
224
|
*/
|
|
107
225
|
function buildNamespaceConfig(options) {
|
|
108
|
-
|
|
226
|
+
let namespace;
|
|
227
|
+
let autoDerived = false;
|
|
228
|
+
if (options.namespace) {
|
|
229
|
+
// 1. Explicit namespace option takes highest priority
|
|
230
|
+
namespace = options.namespace;
|
|
231
|
+
}
|
|
232
|
+
else if (process.env.PM_RUNNER_NAMESPACE) {
|
|
233
|
+
// 2. Environment variable
|
|
234
|
+
namespace = process.env.PM_RUNNER_NAMESPACE;
|
|
235
|
+
}
|
|
236
|
+
else if (options.autoDerive) {
|
|
237
|
+
// 3. Auto-derive from project path
|
|
238
|
+
namespace = deriveNamespaceFromPath(options.projectRoot);
|
|
239
|
+
autoDerived = true;
|
|
240
|
+
}
|
|
241
|
+
else {
|
|
242
|
+
// 4. Default namespace
|
|
243
|
+
namespace = exports.DEFAULT_NAMESPACE;
|
|
244
|
+
}
|
|
109
245
|
// Validate namespace (fail-closed)
|
|
110
246
|
const error = validateNamespace(namespace);
|
|
111
247
|
if (error) {
|
|
112
|
-
throw new Error(
|
|
248
|
+
throw new Error('Invalid namespace: ' + error);
|
|
113
249
|
}
|
|
114
250
|
return {
|
|
115
251
|
namespace,
|
|
116
252
|
tableName: getTableName(namespace),
|
|
117
253
|
stateDir: getStateDir(options.projectRoot, namespace),
|
|
118
254
|
port: options.port || getDefaultPort(namespace),
|
|
255
|
+
autoDerived,
|
|
119
256
|
};
|
|
120
257
|
}
|
|
121
258
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../src/config/namespace.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../src/config/namespace.ts"],"names":[],"mappings":"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"}
|
package/dist/queue/index.d.ts
CHANGED
|
@@ -1,41 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Queue Module
|
|
2
|
+
* Queue Module (v2)
|
|
3
3
|
* Per spec/20_QUEUE_STORE.md
|
|
4
4
|
*
|
|
5
|
+
* v2 Changes:
|
|
6
|
+
* - Single fixed table: pm-runner-queue
|
|
7
|
+
* - Namespace is a required config field
|
|
8
|
+
* - Runner heartbeat support
|
|
9
|
+
*
|
|
5
10
|
* Exports:
|
|
6
11
|
* - QueueStore: DynamoDB-backed queue storage
|
|
7
12
|
* - QueuePoller: Polling and task execution
|
|
8
|
-
* - createNamespacedQueueStore: Factory for namespace-separated QueueStore
|
|
9
13
|
*/
|
|
10
|
-
export { QueueStore, QueueStoreConfig, QueueItem, QueueItemStatus, ClaimResult, TaskGroupSummary, } from './queue-store';
|
|
14
|
+
export { QueueStore, QueueStoreConfig, QueueItem, QueueItemStatus, ClaimResult, TaskGroupSummary, StatusUpdateResult, NamespaceSummary, RunnerRecord, RunnerStatus, VALID_STATUS_TRANSITIONS, isValidStatusTransition, QUEUE_TABLE_NAME, RUNNERS_TABLE_NAME, } from './queue-store';
|
|
11
15
|
export { QueuePoller, QueuePollerConfig, QueuePollerState, QueuePollerEvents, TaskExecutor, } from './queue-poller';
|
|
12
|
-
import { QueueStore, QueueStoreConfig } from './queue-store';
|
|
13
|
-
/**
|
|
14
|
-
* Namespace configuration for QueueStore
|
|
15
|
-
* Per spec/21_STABLE_DEV.md
|
|
16
|
-
*/
|
|
17
|
-
export interface NamespaceQueueConfig {
|
|
18
|
-
/** Namespace name (e.g., 'stable', 'dev') */
|
|
19
|
-
namespace: string;
|
|
20
|
-
/** Table name derived from namespace */
|
|
21
|
-
tableName: string;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Create a QueueStore instance with namespace separation
|
|
25
|
-
* Per spec/21_STABLE_DEV.md
|
|
26
|
-
*
|
|
27
|
-
* @param namespaceConfig - Namespace configuration with tableName
|
|
28
|
-
* @param storeConfig - Optional additional QueueStore configuration
|
|
29
|
-
* @returns Configured QueueStore instance
|
|
30
|
-
*
|
|
31
|
-
* @example
|
|
32
|
-
* ```typescript
|
|
33
|
-
* const namespaceConfig = buildNamespaceConfig({ namespace: 'dev', projectRoot: '/path' });
|
|
34
|
-
* const store = createNamespacedQueueStore({
|
|
35
|
-
* namespace: namespaceConfig.namespace,
|
|
36
|
-
* tableName: namespaceConfig.tableName,
|
|
37
|
-
* });
|
|
38
|
-
* ```
|
|
39
|
-
*/
|
|
40
|
-
export declare function createNamespacedQueueStore(namespaceConfig: NamespaceQueueConfig, storeConfig?: Omit<QueueStoreConfig, 'tableName'>): QueueStore;
|
|
41
16
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/queue/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/queue/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,SAAS,EACT,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,wBAAwB,EACxB,uBAAuB,EACvB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,GACb,MAAM,gBAAgB,CAAC"}
|