apcore-js 0.17.1 → 0.18.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/LICENSE +190 -0
- package/README.md +11 -9
- package/dist/acl.d.ts +0 -2
- package/dist/acl.d.ts.map +1 -1
- package/dist/acl.js +4 -19
- package/dist/acl.js.map +1 -1
- package/dist/async-task.d.ts +6 -5
- package/dist/async-task.d.ts.map +1 -1
- package/dist/async-task.js +10 -6
- package/dist/async-task.js.map +1 -1
- package/dist/bindings.d.ts.map +1 -1
- package/dist/bindings.js.map +1 -1
- package/dist/builtin-steps.d.ts.map +1 -1
- package/dist/builtin-steps.js +9 -8
- package/dist/builtin-steps.js.map +1 -1
- package/dist/client.d.ts +1 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +8 -6
- package/dist/client.js.map +1 -1
- package/dist/config.d.ts +8 -2
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +44 -6
- package/dist/config.js.map +1 -1
- package/dist/context.js +2 -2
- package/dist/context.js.map +1 -1
- package/dist/decorator.d.ts.map +1 -1
- package/dist/decorator.js +14 -1
- package/dist/decorator.js.map +1 -1
- package/dist/errors.d.ts +1 -16
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +1 -28
- package/dist/errors.js.map +1 -1
- package/dist/events/emitter.d.ts +2 -1
- package/dist/events/emitter.d.ts.map +1 -1
- package/dist/events/emitter.js +6 -6
- package/dist/events/emitter.js.map +1 -1
- package/dist/executor.d.ts +5 -8
- package/dist/executor.d.ts.map +1 -1
- package/dist/executor.js +26 -26
- package/dist/executor.js.map +1 -1
- package/dist/generated/version.d.ts +1 -1
- package/dist/generated/version.js +1 -1
- package/dist/index.d.ts +9 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -7
- package/dist/index.js.map +1 -1
- package/dist/middleware/platform-notify.d.ts +1 -1
- package/dist/middleware/platform-notify.d.ts.map +1 -1
- package/dist/middleware/platform-notify.js +1 -3
- package/dist/middleware/platform-notify.js.map +1 -1
- package/dist/module.d.ts +8 -2
- package/dist/module.d.ts.map +1 -1
- package/dist/module.js +10 -3
- package/dist/module.js.map +1 -1
- package/dist/pipeline-config.d.ts +0 -2
- package/dist/pipeline-config.d.ts.map +1 -1
- package/dist/pipeline-config.js +0 -4
- package/dist/pipeline-config.js.map +1 -1
- package/dist/registry/conflicts.d.ts +29 -0
- package/dist/registry/conflicts.d.ts.map +1 -0
- package/dist/registry/conflicts.js +62 -0
- package/dist/registry/conflicts.js.map +1 -0
- package/dist/registry/entry-point.d.ts.map +1 -1
- package/dist/registry/entry-point.js.map +1 -1
- package/dist/registry/index.d.ts +5 -2
- package/dist/registry/index.d.ts.map +1 -1
- package/dist/registry/index.js +4 -2
- package/dist/registry/index.js.map +1 -1
- package/dist/registry/metadata.d.ts.map +1 -1
- package/dist/registry/metadata.js +24 -3
- package/dist/registry/metadata.js.map +1 -1
- package/dist/registry/registry.d.ts +32 -3
- package/dist/registry/registry.d.ts.map +1 -1
- package/dist/registry/registry.js +120 -39
- package/dist/registry/registry.js.map +1 -1
- package/dist/registry/version.d.ts +49 -0
- package/dist/registry/version.d.ts.map +1 -0
- package/dist/registry/version.js +169 -0
- package/dist/registry/version.js.map +1 -0
- package/dist/schema/exporter.js +2 -2
- package/dist/schema/loader.js +7 -7
- package/dist/schema/loader.js.map +1 -1
- package/dist/schema/types.d.ts +6 -6
- package/dist/schema/types.d.ts.map +1 -1
- package/dist/schema/types.js +6 -6
- package/dist/schema/types.js.map +1 -1
- package/dist/sys-modules/control.d.ts +79 -1
- package/dist/sys-modules/control.d.ts.map +1 -1
- package/dist/sys-modules/control.js +40 -10
- package/dist/sys-modules/control.js.map +1 -1
- package/dist/sys-modules/health.d.ts +89 -1
- package/dist/sys-modules/health.d.ts.map +1 -1
- package/dist/sys-modules/health.js +41 -1
- package/dist/sys-modules/health.js.map +1 -1
- package/dist/sys-modules/index.d.ts +5 -5
- package/dist/sys-modules/index.d.ts.map +1 -1
- package/dist/sys-modules/index.js +5 -5
- package/dist/sys-modules/index.js.map +1 -1
- package/dist/sys-modules/manifest.d.ts +98 -1
- package/dist/sys-modules/manifest.d.ts.map +1 -1
- package/dist/sys-modules/manifest.js +43 -1
- package/dist/sys-modules/manifest.js.map +1 -1
- package/dist/sys-modules/registration.js +8 -8
- package/dist/sys-modules/registration.js.map +1 -1
- package/dist/sys-modules/toggle.d.ts +39 -2
- package/dist/sys-modules/toggle.d.ts.map +1 -1
- package/dist/sys-modules/toggle.js +23 -6
- package/dist/sys-modules/toggle.js.map +1 -1
- package/dist/sys-modules/usage.d.ts +92 -1
- package/dist/sys-modules/usage.d.ts.map +1 -1
- package/dist/sys-modules/usage.js +42 -1
- package/dist/sys-modules/usage.js.map +1 -1
- package/dist/trace-context.d.ts +3 -4
- package/dist/trace-context.d.ts.map +1 -1
- package/dist/trace-context.js +4 -5
- package/dist/trace-context.js.map +1 -1
- package/package.json +9 -5
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import type { Registry } from '../registry/registry.js';
|
|
5
5
|
import type { Config } from '../config.js';
|
|
6
|
-
|
|
6
|
+
/** @internal */
|
|
7
|
+
export declare class ManifestModule {
|
|
7
8
|
readonly description = "Full manifest for a registered module including source path";
|
|
8
9
|
readonly annotations: {
|
|
9
10
|
readonly: boolean;
|
|
@@ -18,12 +19,64 @@ export declare class ManifestModuleModule {
|
|
|
18
19
|
paginated: boolean;
|
|
19
20
|
paginationStyle: "cursor";
|
|
20
21
|
};
|
|
22
|
+
readonly inputSchema: {
|
|
23
|
+
type: "object";
|
|
24
|
+
properties: {
|
|
25
|
+
module_id: {
|
|
26
|
+
type: "string";
|
|
27
|
+
description: string;
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
required: string[];
|
|
31
|
+
};
|
|
32
|
+
readonly outputSchema: {
|
|
33
|
+
type: "object";
|
|
34
|
+
properties: {
|
|
35
|
+
module_id: {
|
|
36
|
+
type: "string";
|
|
37
|
+
description: string;
|
|
38
|
+
};
|
|
39
|
+
description: {
|
|
40
|
+
type: "string";
|
|
41
|
+
description: string;
|
|
42
|
+
};
|
|
43
|
+
documentation: {
|
|
44
|
+
description: string;
|
|
45
|
+
};
|
|
46
|
+
source_path: {
|
|
47
|
+
type: "string";
|
|
48
|
+
description: string;
|
|
49
|
+
};
|
|
50
|
+
input_schema: {
|
|
51
|
+
type: "object";
|
|
52
|
+
description: string;
|
|
53
|
+
};
|
|
54
|
+
output_schema: {
|
|
55
|
+
type: "object";
|
|
56
|
+
description: string;
|
|
57
|
+
};
|
|
58
|
+
annotations: {
|
|
59
|
+
type: "object";
|
|
60
|
+
description: string;
|
|
61
|
+
};
|
|
62
|
+
tags: {
|
|
63
|
+
type: "array";
|
|
64
|
+
description: string;
|
|
65
|
+
};
|
|
66
|
+
metadata: {
|
|
67
|
+
type: "object";
|
|
68
|
+
description: string;
|
|
69
|
+
};
|
|
70
|
+
};
|
|
71
|
+
required: string[];
|
|
72
|
+
};
|
|
21
73
|
private readonly _registry;
|
|
22
74
|
private readonly _config;
|
|
23
75
|
constructor(registry: Registry, config?: Config | null);
|
|
24
76
|
execute(inputs: Record<string, unknown>, _context: unknown): Record<string, unknown>;
|
|
25
77
|
private _computeSourcePath;
|
|
26
78
|
}
|
|
79
|
+
/** @internal */
|
|
27
80
|
export declare class ManifestFullModule {
|
|
28
81
|
readonly description = "Complete system manifest with filtering by prefix and tags";
|
|
29
82
|
readonly annotations: {
|
|
@@ -39,6 +92,50 @@ export declare class ManifestFullModule {
|
|
|
39
92
|
paginated: boolean;
|
|
40
93
|
paginationStyle: "cursor";
|
|
41
94
|
};
|
|
95
|
+
readonly inputSchema: {
|
|
96
|
+
type: "object";
|
|
97
|
+
properties: {
|
|
98
|
+
include_schemas: {
|
|
99
|
+
type: "boolean";
|
|
100
|
+
description: string;
|
|
101
|
+
default: boolean;
|
|
102
|
+
};
|
|
103
|
+
include_source_paths: {
|
|
104
|
+
type: "boolean";
|
|
105
|
+
description: string;
|
|
106
|
+
default: boolean;
|
|
107
|
+
};
|
|
108
|
+
prefix: {
|
|
109
|
+
type: "string";
|
|
110
|
+
description: string;
|
|
111
|
+
};
|
|
112
|
+
tags: {
|
|
113
|
+
type: "array";
|
|
114
|
+
items: {
|
|
115
|
+
type: "string";
|
|
116
|
+
};
|
|
117
|
+
description: string;
|
|
118
|
+
};
|
|
119
|
+
};
|
|
120
|
+
};
|
|
121
|
+
readonly outputSchema: {
|
|
122
|
+
type: "object";
|
|
123
|
+
properties: {
|
|
124
|
+
project_name: {
|
|
125
|
+
type: "string";
|
|
126
|
+
description: string;
|
|
127
|
+
};
|
|
128
|
+
module_count: {
|
|
129
|
+
type: "integer";
|
|
130
|
+
description: string;
|
|
131
|
+
};
|
|
132
|
+
modules: {
|
|
133
|
+
type: "array";
|
|
134
|
+
description: string;
|
|
135
|
+
};
|
|
136
|
+
};
|
|
137
|
+
required: string[];
|
|
138
|
+
};
|
|
42
139
|
private readonly _registry;
|
|
43
140
|
private readonly _config;
|
|
44
141
|
constructor(registry: Registry, config?: Config | null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/sys-modules/manifest.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAG3C,qBAAa,
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/sys-modules/manifest.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAG3C,gBAAgB;AAChB,qBAAa,cAAc;IACzB,QAAQ,CAAC,WAAW,iEAAiE;IACrF,QAAQ,CAAC,WAAW;;;;;;;;;;;;MAAoO;IACxP,QAAQ,CAAC,WAAW;;;;;;;;;MAMlB;IACF,QAAQ,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAcnB;IAEF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;gBAGtC,QAAQ,EAAE,QAAQ,EAClB,MAAM,GAAE,MAAM,GAAG,IAAW;IAM9B,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAyBpF,OAAO,CAAC,kBAAkB;CAO3B;AAED,gBAAgB;AAChB,qBAAa,kBAAkB;IAC7B,QAAQ,CAAC,WAAW,gEAAgE;IACpF,QAAQ,CAAC,WAAW;;;;;;;;;;;;MAAoO;IACxP,QAAQ,CAAC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;MAQlB;IACF,QAAQ,CAAC,YAAY;;;;;;;;;;;;;;;;;MAQnB;IAEF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;gBAGtC,QAAQ,EAAE,QAAQ,EAClB,MAAM,GAAE,MAAM,GAAG,IAAW;IAM9B,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IA+BpF,OAAO,CAAC,kBAAkB;CAM3B"}
|
|
@@ -2,9 +2,32 @@
|
|
|
2
2
|
* System manifest modules -- module metadata and full system manifest.
|
|
3
3
|
*/
|
|
4
4
|
import { InvalidInputError, ModuleNotFoundError } from '../errors.js';
|
|
5
|
-
|
|
5
|
+
/** @internal */
|
|
6
|
+
export class ManifestModule {
|
|
6
7
|
description = 'Full manifest for a registered module including source path';
|
|
7
8
|
annotations = { readonly: true, destructive: false, idempotent: true, requiresApproval: false, openWorld: false, streaming: false, cacheable: false, cacheTtl: 0, cacheKeyFields: null, paginated: false, paginationStyle: 'cursor' };
|
|
9
|
+
inputSchema = {
|
|
10
|
+
type: 'object',
|
|
11
|
+
properties: {
|
|
12
|
+
module_id: { type: 'string', description: 'ID of the module to inspect' },
|
|
13
|
+
},
|
|
14
|
+
required: ['module_id'],
|
|
15
|
+
};
|
|
16
|
+
outputSchema = {
|
|
17
|
+
type: 'object',
|
|
18
|
+
properties: {
|
|
19
|
+
module_id: { type: 'string', description: 'Module identifier' },
|
|
20
|
+
description: { type: 'string', description: 'Module description' },
|
|
21
|
+
documentation: { description: 'Module documentation (Markdown)' },
|
|
22
|
+
source_path: { type: 'string', description: 'Computed source file path' },
|
|
23
|
+
input_schema: { type: 'object', description: 'Module input JSON Schema' },
|
|
24
|
+
output_schema: { type: 'object', description: 'Module output JSON Schema' },
|
|
25
|
+
annotations: { type: 'object', description: 'Module annotations' },
|
|
26
|
+
tags: { type: 'array', description: 'Module tags' },
|
|
27
|
+
metadata: { type: 'object', description: 'Additional metadata' },
|
|
28
|
+
},
|
|
29
|
+
required: ['module_id', 'description'],
|
|
30
|
+
};
|
|
8
31
|
_registry;
|
|
9
32
|
_config;
|
|
10
33
|
constructor(registry, config = null) {
|
|
@@ -43,9 +66,28 @@ export class ManifestModuleModule {
|
|
|
43
66
|
return `${sourceRoot}/${relativePath}`;
|
|
44
67
|
}
|
|
45
68
|
}
|
|
69
|
+
/** @internal */
|
|
46
70
|
export class ManifestFullModule {
|
|
47
71
|
description = 'Complete system manifest with filtering by prefix and tags';
|
|
48
72
|
annotations = { readonly: true, destructive: false, idempotent: true, requiresApproval: false, openWorld: false, streaming: false, cacheable: false, cacheTtl: 0, cacheKeyFields: null, paginated: false, paginationStyle: 'cursor' };
|
|
73
|
+
inputSchema = {
|
|
74
|
+
type: 'object',
|
|
75
|
+
properties: {
|
|
76
|
+
include_schemas: { type: 'boolean', description: 'Whether to include input/output schemas', default: true },
|
|
77
|
+
include_source_paths: { type: 'boolean', description: 'Whether to include source paths', default: true },
|
|
78
|
+
prefix: { type: 'string', description: 'Filter modules by ID prefix' },
|
|
79
|
+
tags: { type: 'array', items: { type: 'string' }, description: 'Filter modules by tags' },
|
|
80
|
+
},
|
|
81
|
+
};
|
|
82
|
+
outputSchema = {
|
|
83
|
+
type: 'object',
|
|
84
|
+
properties: {
|
|
85
|
+
project_name: { type: 'string', description: 'Project name from config' },
|
|
86
|
+
module_count: { type: 'integer', description: 'Number of modules returned' },
|
|
87
|
+
modules: { type: 'array', description: 'Module manifest entries' },
|
|
88
|
+
},
|
|
89
|
+
required: ['project_name', 'module_count', 'modules'],
|
|
90
|
+
};
|
|
49
91
|
_registry;
|
|
50
92
|
_config;
|
|
51
93
|
constructor(registry, config = null) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/sys-modules/manifest.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEtE,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/sys-modules/manifest.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,11 +7,11 @@ import { UsageCollector, UsageMiddleware } from '../observability/usage.js';
|
|
|
7
7
|
import { EventEmitter, createEvent } from '../events/emitter.js';
|
|
8
8
|
import { WebhookSubscriber, A2ASubscriber } from '../events/subscribers.js';
|
|
9
9
|
import { PlatformNotifyMiddleware } from '../middleware/platform-notify.js';
|
|
10
|
-
import { HealthSummaryModule,
|
|
11
|
-
import { ManifestFullModule,
|
|
10
|
+
import { HealthSummaryModule, HealthModule } from './health.js';
|
|
11
|
+
import { ManifestFullModule, ManifestModule } from './manifest.js';
|
|
12
12
|
import { ToggleFeatureModule } from './toggle.js';
|
|
13
|
-
import { UpdateConfigModule,
|
|
14
|
-
import { UsageSummaryModule,
|
|
13
|
+
import { UpdateConfigModule, ReloadModule } from './control.js';
|
|
14
|
+
import { UsageSummaryModule, UsageModule } from './usage.js';
|
|
15
15
|
// ---------------------------------------------------------------------------
|
|
16
16
|
// Namespace-mode helpers — §9.15.3
|
|
17
17
|
// ---------------------------------------------------------------------------
|
|
@@ -127,13 +127,13 @@ export function registerSysModules(registry, executor, config, metricsCollector)
|
|
|
127
127
|
};
|
|
128
128
|
// Health modules
|
|
129
129
|
reg('system.health.summary', new HealthSummaryModule(registry, metricsCollector ?? null, errorHistory, config));
|
|
130
|
-
reg('system.health.module', new
|
|
130
|
+
reg('system.health.module', new HealthModule(registry, metricsCollector ?? null, errorHistory));
|
|
131
131
|
// Manifest modules
|
|
132
|
-
reg('system.manifest.module', new
|
|
132
|
+
reg('system.manifest.module', new ManifestModule(registry, config));
|
|
133
133
|
reg('system.manifest.full', new ManifestFullModule(registry, config));
|
|
134
134
|
// Usage modules
|
|
135
135
|
reg('system.usage.summary', new UsageSummaryModule(usageCollector));
|
|
136
|
-
reg('system.usage.module', new
|
|
136
|
+
reg('system.usage.module', new UsageModule(registry, usageCollector));
|
|
137
137
|
// Events system
|
|
138
138
|
if (_cfgGet(sysCfg, config, 'events.enabled', false)) {
|
|
139
139
|
const eventEmitter = new EventEmitter();
|
|
@@ -149,7 +149,7 @@ export function registerSysModules(registry, executor, config, metricsCollector)
|
|
|
149
149
|
// Control modules (require EventEmitter)
|
|
150
150
|
reg('system.control.toggle_feature', new ToggleFeatureModule(registry, eventEmitter));
|
|
151
151
|
reg('system.control.update_config', new UpdateConfigModule(config, eventEmitter));
|
|
152
|
-
reg('system.control.reload_module', new
|
|
152
|
+
reg('system.control.reload_module', new ReloadModule(registry, eventEmitter));
|
|
153
153
|
// Bridge registry events
|
|
154
154
|
registry.on('register', (moduleId) => {
|
|
155
155
|
eventEmitter.emit(createEvent('module_registered', moduleId, 'info', {}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registration.js","sourceRoot":"","sources":["../../src/sys-modules/registration.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5E,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,
|
|
1
|
+
{"version":3,"file":"registration.js","sourceRoot":"","sources":["../../src/sys-modules/registration.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Implements system.control.toggle_feature as defined in PROTOCOL_SPEC.md:
|
|
5
5
|
* - Error code: MODULE_DISABLED (HTTP 403)
|
|
6
|
-
* - Canonical event: apcore.module.toggled
|
|
6
|
+
* - Canonical event: apcore.module.toggled
|
|
7
7
|
* - See spec sections: "Error Codes" and "Canonical Event Types"
|
|
8
8
|
*/
|
|
9
9
|
import type { Registry } from '../registry/registry.js';
|
|
@@ -20,7 +20,7 @@ export declare class ToggleState {
|
|
|
20
20
|
clear(): void;
|
|
21
21
|
}
|
|
22
22
|
/** Default global toggle state. */
|
|
23
|
-
export declare const
|
|
23
|
+
export declare const DEFAULT_TOGGLE_STATE: ToggleState;
|
|
24
24
|
/** Check if a module is disabled using the default toggle state. */
|
|
25
25
|
export declare function isModuleDisabled(moduleId: string): boolean;
|
|
26
26
|
/** Throw ModuleDisabledError if the module is disabled. */
|
|
@@ -28,6 +28,7 @@ export declare function checkModuleDisabled(moduleId: string): void;
|
|
|
28
28
|
/**
|
|
29
29
|
* Disable or enable a module without unloading it from the Registry.
|
|
30
30
|
* A disabled module remains registered but calls return MODULE_DISABLED error.
|
|
31
|
+
* @internal
|
|
31
32
|
*/
|
|
32
33
|
export declare class ToggleFeatureModule {
|
|
33
34
|
readonly description = "Disable or enable a module without unloading it";
|
|
@@ -44,6 +45,42 @@ export declare class ToggleFeatureModule {
|
|
|
44
45
|
paginated: boolean;
|
|
45
46
|
paginationStyle: "cursor";
|
|
46
47
|
};
|
|
48
|
+
readonly inputSchema: {
|
|
49
|
+
type: "object";
|
|
50
|
+
properties: {
|
|
51
|
+
module_id: {
|
|
52
|
+
type: "string";
|
|
53
|
+
description: string;
|
|
54
|
+
};
|
|
55
|
+
enabled: {
|
|
56
|
+
type: "boolean";
|
|
57
|
+
description: string;
|
|
58
|
+
};
|
|
59
|
+
reason: {
|
|
60
|
+
type: "string";
|
|
61
|
+
description: string;
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
required: string[];
|
|
65
|
+
};
|
|
66
|
+
readonly outputSchema: {
|
|
67
|
+
type: "object";
|
|
68
|
+
properties: {
|
|
69
|
+
success: {
|
|
70
|
+
type: "boolean";
|
|
71
|
+
description: string;
|
|
72
|
+
};
|
|
73
|
+
module_id: {
|
|
74
|
+
type: "string";
|
|
75
|
+
description: string;
|
|
76
|
+
};
|
|
77
|
+
enabled: {
|
|
78
|
+
type: "boolean";
|
|
79
|
+
description: string;
|
|
80
|
+
};
|
|
81
|
+
};
|
|
82
|
+
required: string[];
|
|
83
|
+
};
|
|
47
84
|
private readonly _registry;
|
|
48
85
|
private readonly _emitter;
|
|
49
86
|
private readonly _toggleState;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toggle.d.ts","sourceRoot":"","sources":["../../src/sys-modules/toggle.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGzD;;;GAGG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0B;IAEpD,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIrC,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI/B,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI9B,KAAK,IAAI,IAAI;CAGd;AAED,mCAAmC;AACnC,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"toggle.d.ts","sourceRoot":"","sources":["../../src/sys-modules/toggle.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGzD;;;GAGG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0B;IAEpD,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIrC,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI/B,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI9B,KAAK,IAAI,IAAI;CAGd;AAED,mCAAmC;AACnC,eAAO,MAAM,oBAAoB,aAAoB,CAAC;AAEtD,oEAAoE;AACpE,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED,2DAA2D;AAC3D,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAI1D;AAED;;;;GAIG;AACH,qBAAa,mBAAmB;IAC9B,QAAQ,CAAC,WAAW,qDAAqD;IACzE,QAAQ,CAAC,WAAW;;;;;;;;;;;;MAAoO;IACxP,QAAQ,CAAC,WAAW;;;;;;;;;;;;;;;;;MAQlB;IACF,QAAQ,CAAC,YAAY;;;;;;;;;;;;;;;;;MAQnB;IAEF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAe;IACxC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAc;gBAE/B,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,CAAC,EAAE,WAAW;IAMrF,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAgBpF,OAAO,CAAC,eAAe;CAexB"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Implements system.control.toggle_feature as defined in PROTOCOL_SPEC.md:
|
|
5
5
|
* - Error code: MODULE_DISABLED (HTTP 403)
|
|
6
|
-
* - Canonical event: apcore.module.toggled
|
|
6
|
+
* - Canonical event: apcore.module.toggled
|
|
7
7
|
* - See spec sections: "Error Codes" and "Canonical Event Types"
|
|
8
8
|
*/
|
|
9
9
|
import { InvalidInputError, ModuleNotFoundError, ModuleDisabledError } from '../errors.js';
|
|
@@ -28,10 +28,10 @@ export class ToggleState {
|
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
/** Default global toggle state. */
|
|
31
|
-
export const
|
|
31
|
+
export const DEFAULT_TOGGLE_STATE = new ToggleState();
|
|
32
32
|
/** Check if a module is disabled using the default toggle state. */
|
|
33
33
|
export function isModuleDisabled(moduleId) {
|
|
34
|
-
return
|
|
34
|
+
return DEFAULT_TOGGLE_STATE.isDisabled(moduleId);
|
|
35
35
|
}
|
|
36
36
|
/** Throw ModuleDisabledError if the module is disabled. */
|
|
37
37
|
export function checkModuleDisabled(moduleId) {
|
|
@@ -42,17 +42,36 @@ export function checkModuleDisabled(moduleId) {
|
|
|
42
42
|
/**
|
|
43
43
|
* Disable or enable a module without unloading it from the Registry.
|
|
44
44
|
* A disabled module remains registered but calls return MODULE_DISABLED error.
|
|
45
|
+
* @internal
|
|
45
46
|
*/
|
|
46
47
|
export class ToggleFeatureModule {
|
|
47
48
|
description = 'Disable or enable a module without unloading it';
|
|
48
49
|
annotations = { readonly: false, destructive: false, idempotent: true, requiresApproval: true, openWorld: false, streaming: false, cacheable: false, cacheTtl: 0, cacheKeyFields: null, paginated: false, paginationStyle: 'cursor' };
|
|
50
|
+
inputSchema = {
|
|
51
|
+
type: 'object',
|
|
52
|
+
properties: {
|
|
53
|
+
module_id: { type: 'string', description: 'ID of the module to toggle' },
|
|
54
|
+
enabled: { type: 'boolean', description: 'True to enable, false to disable' },
|
|
55
|
+
reason: { type: 'string', description: 'Audit reason for the toggle' },
|
|
56
|
+
},
|
|
57
|
+
required: ['module_id', 'enabled', 'reason'],
|
|
58
|
+
};
|
|
59
|
+
outputSchema = {
|
|
60
|
+
type: 'object',
|
|
61
|
+
properties: {
|
|
62
|
+
success: { type: 'boolean', description: 'Whether the toggle succeeded' },
|
|
63
|
+
module_id: { type: 'string', description: 'ID of the toggled module' },
|
|
64
|
+
enabled: { type: 'boolean', description: 'Current enabled state' },
|
|
65
|
+
},
|
|
66
|
+
required: ['success', 'module_id', 'enabled'],
|
|
67
|
+
};
|
|
49
68
|
_registry;
|
|
50
69
|
_emitter;
|
|
51
70
|
_toggleState;
|
|
52
71
|
constructor(registry, eventEmitter, toggleState) {
|
|
53
72
|
this._registry = registry;
|
|
54
73
|
this._emitter = eventEmitter;
|
|
55
|
-
this._toggleState = toggleState ??
|
|
74
|
+
this._toggleState = toggleState ?? DEFAULT_TOGGLE_STATE;
|
|
56
75
|
}
|
|
57
76
|
execute(inputs, _context) {
|
|
58
77
|
const { moduleId, enabled, reason } = this._validateInputs(inputs);
|
|
@@ -65,11 +84,9 @@ export class ToggleFeatureModule {
|
|
|
65
84
|
else {
|
|
66
85
|
this._toggleState.disable(moduleId);
|
|
67
86
|
}
|
|
68
|
-
// Emit canonical event first, then legacy alias for transition period.
|
|
69
87
|
// W-12: Event payload carries only { enabled } to match Python reference implementation.
|
|
70
88
|
// `reason` is returned in the module output but not emitted in the event.
|
|
71
89
|
this._emitter.emit(createEvent('apcore.module.toggled', moduleId, 'info', { enabled }));
|
|
72
|
-
this._emitter.emit(createEvent('module_health_changed', moduleId, 'info', { enabled }));
|
|
73
90
|
return { success: true, module_id: moduleId, enabled };
|
|
74
91
|
}
|
|
75
92
|
_validateInputs(inputs) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toggle.js","sourceRoot":"","sources":["../../src/sys-modules/toggle.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAG3F,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD;;;GAGG;AACH,MAAM,OAAO,WAAW;IACL,SAAS,GAAgB,IAAI,GAAG,EAAE,CAAC;IAEpD,UAAU,CAAC,QAAgB;QACzB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,CAAC,QAAgB;QACtB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,QAAgB;QACrB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;CACF;AAED,mCAAmC;AACnC,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"toggle.js","sourceRoot":"","sources":["../../src/sys-modules/toggle.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import type { Registry } from '../registry/registry.js';
|
|
5
5
|
import type { UsageCollector } from '../observability/usage.js';
|
|
6
|
+
/** @internal */
|
|
6
7
|
export declare class UsageSummaryModule {
|
|
7
8
|
readonly description = "All modules usage overview with trend detection";
|
|
8
9
|
readonly annotations: {
|
|
@@ -18,11 +19,44 @@ export declare class UsageSummaryModule {
|
|
|
18
19
|
paginated: boolean;
|
|
19
20
|
paginationStyle: "cursor";
|
|
20
21
|
};
|
|
22
|
+
readonly inputSchema: {
|
|
23
|
+
type: "object";
|
|
24
|
+
properties: {
|
|
25
|
+
period: {
|
|
26
|
+
type: "string";
|
|
27
|
+
description: string;
|
|
28
|
+
default: string;
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
readonly outputSchema: {
|
|
33
|
+
type: "object";
|
|
34
|
+
properties: {
|
|
35
|
+
period: {
|
|
36
|
+
type: "string";
|
|
37
|
+
description: string;
|
|
38
|
+
};
|
|
39
|
+
total_calls: {
|
|
40
|
+
type: "integer";
|
|
41
|
+
description: string;
|
|
42
|
+
};
|
|
43
|
+
total_errors: {
|
|
44
|
+
type: "integer";
|
|
45
|
+
description: string;
|
|
46
|
+
};
|
|
47
|
+
modules: {
|
|
48
|
+
type: "array";
|
|
49
|
+
description: string;
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
required: string[];
|
|
53
|
+
};
|
|
21
54
|
private readonly _collector;
|
|
22
55
|
constructor(collector: UsageCollector);
|
|
23
56
|
execute(inputs: Record<string, unknown>, _context: unknown): Record<string, unknown>;
|
|
24
57
|
}
|
|
25
|
-
|
|
58
|
+
/** @internal */
|
|
59
|
+
export declare class UsageModule {
|
|
26
60
|
readonly description = "Detailed usage statistics for a single module";
|
|
27
61
|
readonly annotations: {
|
|
28
62
|
readonly: boolean;
|
|
@@ -37,6 +71,63 @@ export declare class UsageModuleModule {
|
|
|
37
71
|
paginated: boolean;
|
|
38
72
|
paginationStyle: "cursor";
|
|
39
73
|
};
|
|
74
|
+
readonly inputSchema: {
|
|
75
|
+
type: "object";
|
|
76
|
+
properties: {
|
|
77
|
+
module_id: {
|
|
78
|
+
type: "string";
|
|
79
|
+
description: string;
|
|
80
|
+
};
|
|
81
|
+
period: {
|
|
82
|
+
type: "string";
|
|
83
|
+
description: string;
|
|
84
|
+
default: string;
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
required: string[];
|
|
88
|
+
};
|
|
89
|
+
readonly outputSchema: {
|
|
90
|
+
type: "object";
|
|
91
|
+
properties: {
|
|
92
|
+
module_id: {
|
|
93
|
+
type: "string";
|
|
94
|
+
description: string;
|
|
95
|
+
};
|
|
96
|
+
period: {
|
|
97
|
+
type: "string";
|
|
98
|
+
description: string;
|
|
99
|
+
};
|
|
100
|
+
call_count: {
|
|
101
|
+
type: "integer";
|
|
102
|
+
description: string;
|
|
103
|
+
};
|
|
104
|
+
error_count: {
|
|
105
|
+
type: "integer";
|
|
106
|
+
description: string;
|
|
107
|
+
};
|
|
108
|
+
avg_latency_ms: {
|
|
109
|
+
type: "number";
|
|
110
|
+
description: string;
|
|
111
|
+
};
|
|
112
|
+
p99_latency_ms: {
|
|
113
|
+
type: "number";
|
|
114
|
+
description: string;
|
|
115
|
+
};
|
|
116
|
+
trend: {
|
|
117
|
+
type: "string";
|
|
118
|
+
description: string;
|
|
119
|
+
};
|
|
120
|
+
callers: {
|
|
121
|
+
type: "array";
|
|
122
|
+
description: string;
|
|
123
|
+
};
|
|
124
|
+
hourly_distribution: {
|
|
125
|
+
type: "array";
|
|
126
|
+
description: string;
|
|
127
|
+
};
|
|
128
|
+
};
|
|
129
|
+
required: string[];
|
|
130
|
+
};
|
|
40
131
|
private readonly _registry;
|
|
41
132
|
private readonly _collector;
|
|
42
133
|
constructor(registry: Registry, usageCollector: UsageCollector);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../src/sys-modules/usage.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAmChE,qBAAa,kBAAkB;IAC7B,QAAQ,CAAC,WAAW,qDAAqD;IACzE,QAAQ,CAAC,WAAW;;;;;;;;;;;;MAAoO;
|
|
1
|
+
{"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../src/sys-modules/usage.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAmChE,gBAAgB;AAChB,qBAAa,kBAAkB;IAC7B,QAAQ,CAAC,WAAW,qDAAqD;IACzE,QAAQ,CAAC,WAAW;;;;;;;;;;;;MAAoO;IACxP,QAAQ,CAAC,WAAW;;;;;;;;;MAKlB;IACF,QAAQ,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;MASnB;IAEF,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiB;gBAEhC,SAAS,EAAE,cAAc;IAIrC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAsBrF;AAED,gBAAgB;AAChB,qBAAa,WAAW;IACtB,QAAQ,CAAC,WAAW,mDAAmD;IACvE,QAAQ,CAAC,WAAW;;;;;;;;;;;;MAAoO;IACxP,QAAQ,CAAC,WAAW;;;;;;;;;;;;;;MAOlB;IACF,QAAQ,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAcnB;IAEF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiB;gBAEhC,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc;IAK9D,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAmCrF"}
|
|
@@ -33,9 +33,26 @@ function padHourlyDistribution(buckets) {
|
|
|
33
33
|
: { hour: k, call_count: 0, error_count: 0 };
|
|
34
34
|
});
|
|
35
35
|
}
|
|
36
|
+
/** @internal */
|
|
36
37
|
export class UsageSummaryModule {
|
|
37
38
|
description = 'All modules usage overview with trend detection';
|
|
38
39
|
annotations = { readonly: true, destructive: false, idempotent: true, requiresApproval: false, openWorld: false, streaming: false, cacheable: false, cacheTtl: 0, cacheKeyFields: null, paginated: false, paginationStyle: 'cursor' };
|
|
40
|
+
inputSchema = {
|
|
41
|
+
type: 'object',
|
|
42
|
+
properties: {
|
|
43
|
+
period: { type: 'string', description: 'Time period for usage data', default: '24h' },
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
outputSchema = {
|
|
47
|
+
type: 'object',
|
|
48
|
+
properties: {
|
|
49
|
+
period: { type: 'string', description: 'Requested time period' },
|
|
50
|
+
total_calls: { type: 'integer', description: 'Total calls across all modules' },
|
|
51
|
+
total_errors: { type: 'integer', description: 'Total errors across all modules' },
|
|
52
|
+
modules: { type: 'array', description: 'Per-module usage entries' },
|
|
53
|
+
},
|
|
54
|
+
required: ['period', 'total_calls', 'total_errors', 'modules'],
|
|
55
|
+
};
|
|
39
56
|
_collector;
|
|
40
57
|
constructor(collector) {
|
|
41
58
|
this._collector = collector;
|
|
@@ -61,9 +78,33 @@ export class UsageSummaryModule {
|
|
|
61
78
|
};
|
|
62
79
|
}
|
|
63
80
|
}
|
|
64
|
-
|
|
81
|
+
/** @internal */
|
|
82
|
+
export class UsageModule {
|
|
65
83
|
description = 'Detailed usage statistics for a single module';
|
|
66
84
|
annotations = { readonly: true, destructive: false, idempotent: true, requiresApproval: false, openWorld: false, streaming: false, cacheable: false, cacheTtl: 0, cacheKeyFields: null, paginated: false, paginationStyle: 'cursor' };
|
|
85
|
+
inputSchema = {
|
|
86
|
+
type: 'object',
|
|
87
|
+
properties: {
|
|
88
|
+
module_id: { type: 'string', description: 'ID of the module to inspect' },
|
|
89
|
+
period: { type: 'string', description: 'Time period for usage data', default: '24h' },
|
|
90
|
+
},
|
|
91
|
+
required: ['module_id'],
|
|
92
|
+
};
|
|
93
|
+
outputSchema = {
|
|
94
|
+
type: 'object',
|
|
95
|
+
properties: {
|
|
96
|
+
module_id: { type: 'string', description: 'Module identifier' },
|
|
97
|
+
period: { type: 'string', description: 'Requested time period' },
|
|
98
|
+
call_count: { type: 'integer', description: 'Total calls in the period' },
|
|
99
|
+
error_count: { type: 'integer', description: 'Total errors in the period' },
|
|
100
|
+
avg_latency_ms: { type: 'number', description: 'Average latency in milliseconds' },
|
|
101
|
+
p99_latency_ms: { type: 'number', description: '99th percentile latency in milliseconds' },
|
|
102
|
+
trend: { type: 'string', description: 'Usage trend indicator' },
|
|
103
|
+
callers: { type: 'array', description: 'Per-caller usage breakdown' },
|
|
104
|
+
hourly_distribution: { type: 'array', description: 'Hourly call/error distribution' },
|
|
105
|
+
},
|
|
106
|
+
required: ['module_id', 'period', 'call_count', 'error_count', 'avg_latency_ms', 'p99_latency_ms', 'trend', 'callers', 'hourly_distribution'],
|
|
107
|
+
};
|
|
67
108
|
_registry;
|
|
68
109
|
_collector;
|
|
69
110
|
constructor(registry, usageCollector) {
|