@formant/formant-cli 0.3.0 → 0.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +152 -124
- package/dist/commands/{commands → command}/for-device.js +2 -2
- package/dist/commands/command/for-device.js.map +1 -0
- package/dist/commands/{commands → command}/get.js +2 -2
- package/dist/commands/command/get.js.map +1 -0
- package/dist/commands/{commands → command}/history.js +3 -3
- package/dist/commands/command/history.js.map +1 -0
- package/dist/commands/{commands → command}/list.js +2 -2
- package/dist/commands/command/list.js.map +1 -0
- package/dist/commands/{commands → command}/send.js +5 -5
- package/dist/commands/command/send.js.map +1 -0
- package/dist/commands/{devices → device}/config.js +2 -2
- package/dist/commands/device/config.js.map +1 -0
- package/dist/commands/{devices → device}/create.js +3 -3
- package/dist/commands/device/create.js.map +1 -0
- package/dist/commands/{devices → device}/delete.js +2 -2
- package/dist/commands/device/delete.js.map +1 -0
- package/dist/commands/{devices → device}/get.js +2 -2
- package/dist/commands/device/get.js.map +1 -0
- package/dist/commands/{devices → device}/last-seen.js +2 -2
- package/dist/commands/device/last-seen.js.map +1 -0
- package/dist/commands/{devices → device}/list.js +5 -5
- package/dist/commands/device/list.js.map +1 -0
- package/dist/commands/{devices → device}/rename.js +2 -2
- package/dist/commands/device/rename.js.map +1 -0
- package/dist/commands/{devices → device}/streams.d.ts +3 -0
- package/dist/commands/device/streams.js +100 -0
- package/dist/commands/device/streams.js.map +1 -0
- package/dist/commands/{devices → device}/tag.js +3 -3
- package/dist/commands/device/tag.js.map +1 -0
- package/dist/commands/{devices → device}/untag.js +3 -3
- package/dist/commands/device/untag.js.map +1 -0
- package/dist/commands/{events → event}/get.js +2 -2
- package/dist/commands/event/get.js.map +1 -0
- package/dist/commands/{events → event}/list.js +4 -4
- package/dist/commands/event/list.js.map +1 -0
- package/dist/commands/{event-triggers → event-trigger}/get.js +2 -2
- package/dist/commands/event-trigger/get.js.map +1 -0
- package/dist/commands/{event-triggers → event-trigger}/list.js +2 -2
- package/dist/commands/event-trigger/list.js.map +1 -0
- package/dist/commands/{fleets → fleet}/get.js +2 -2
- package/dist/commands/fleet/get.js.map +1 -0
- package/dist/commands/{fleets → fleet}/list.js +2 -2
- package/dist/commands/fleet/list.js.map +1 -0
- package/dist/commands/{investigations → investigation}/analytics.js +3 -3
- package/dist/commands/investigation/analytics.js.map +1 -0
- package/dist/commands/{investigations → investigation}/get.js +2 -2
- package/dist/commands/investigation/get.js.map +1 -0
- package/dist/commands/{investigations → investigation}/list.js +3 -3
- package/dist/commands/investigation/list.js.map +1 -0
- package/dist/commands/{investigations → investigation}/run.js +3 -3
- package/dist/commands/investigation/run.js.map +1 -0
- package/dist/commands/{investigations → investigation}/runs-list.js +3 -3
- package/dist/commands/investigation/runs-list.js.map +1 -0
- package/dist/commands/{investigations → investigation}/runs.js +2 -2
- package/dist/commands/investigation/runs.js.map +1 -0
- package/dist/commands/{investigations → investigation}/stats.js +2 -2
- package/dist/commands/investigation/stats.js.map +1 -0
- package/dist/commands/{investigations → investigation}/trigger.js +2 -2
- package/dist/commands/investigation/trigger.js.map +1 -0
- package/dist/commands/persona/delegate-task.d.ts +14 -0
- package/dist/commands/persona/delegate-task.js +50 -0
- package/dist/commands/persona/delegate-task.js.map +1 -0
- package/dist/commands/persona/get.d.ts +10 -0
- package/dist/commands/persona/get.js +98 -0
- package/dist/commands/persona/get.js.map +1 -0
- package/dist/commands/{signals → persona}/list.d.ts +1 -1
- package/dist/commands/persona/list.js +31 -0
- package/dist/commands/persona/list.js.map +1 -0
- package/dist/commands/persona/task-status.d.ts +12 -0
- package/dist/commands/persona/task-status.js +57 -0
- package/dist/commands/persona/task-status.js.map +1 -0
- package/dist/commands/query/latest-values.d.ts +1 -0
- package/dist/commands/query/latest-values.js +41 -15
- package/dist/commands/query/latest-values.js.map +1 -1
- package/dist/commands/{schedules → schedule}/get.js +2 -2
- package/dist/commands/schedule/get.js.map +1 -0
- package/dist/commands/{schedules → schedule}/list.js +2 -2
- package/dist/commands/schedule/list.js.map +1 -0
- package/dist/commands/{signals → signal}/count.js +3 -3
- package/dist/commands/signal/count.js.map +1 -0
- package/dist/commands/signal/create.d.ts +16 -0
- package/dist/commands/signal/create.js +95 -0
- package/dist/commands/signal/create.js.map +1 -0
- package/dist/commands/{signals → signal}/get.js +3 -3
- package/dist/commands/signal/get.js.map +1 -0
- package/dist/commands/signal/list.d.ts +12 -0
- package/dist/commands/signal/list.js +85 -0
- package/dist/commands/signal/list.js.map +1 -0
- package/dist/commands/{signals → signal}/query.d.ts +1 -0
- package/dist/commands/signal/query.js +100 -0
- package/dist/commands/signal/query.js.map +1 -0
- package/dist/commands/signal/set-ground-truth.d.ts +12 -0
- package/dist/commands/signal/set-ground-truth.js +46 -0
- package/dist/commands/signal/set-ground-truth.js.map +1 -0
- package/dist/commands/{users → user}/get.js +2 -2
- package/dist/commands/user/get.js.map +1 -0
- package/dist/commands/{users → user}/list.js +2 -2
- package/dist/commands/user/list.js.map +1 -0
- package/dist/help.js +53 -47
- package/dist/help.js.map +1 -1
- package/dist/lib/api.d.ts +1 -1
- package/dist/lib/api.js +3 -0
- package/dist/lib/api.js.map +1 -1
- package/dist/lib/config.d.ts +1 -0
- package/dist/lib/config.js +3 -0
- package/dist/lib/config.js.map +1 -1
- package/oclif.manifest.json +1288 -834
- package/package.json +28 -25
- package/dist/commands/commands/for-device.js.map +0 -1
- package/dist/commands/commands/get.js.map +0 -1
- package/dist/commands/commands/history.js.map +0 -1
- package/dist/commands/commands/list.js.map +0 -1
- package/dist/commands/commands/send.js.map +0 -1
- package/dist/commands/devices/config.js.map +0 -1
- package/dist/commands/devices/create.js.map +0 -1
- package/dist/commands/devices/delete.js.map +0 -1
- package/dist/commands/devices/get.js.map +0 -1
- package/dist/commands/devices/last-seen.js.map +0 -1
- package/dist/commands/devices/list.js.map +0 -1
- package/dist/commands/devices/rename.js.map +0 -1
- package/dist/commands/devices/streams.js +0 -56
- package/dist/commands/devices/streams.js.map +0 -1
- package/dist/commands/devices/tag.js.map +0 -1
- package/dist/commands/devices/untag.js.map +0 -1
- package/dist/commands/event-triggers/get.js.map +0 -1
- package/dist/commands/event-triggers/list.js.map +0 -1
- package/dist/commands/events/get.js.map +0 -1
- package/dist/commands/events/list.js.map +0 -1
- package/dist/commands/fleets/get.js.map +0 -1
- package/dist/commands/fleets/list.js.map +0 -1
- package/dist/commands/investigations/analytics.js.map +0 -1
- package/dist/commands/investigations/get.js.map +0 -1
- package/dist/commands/investigations/list.js.map +0 -1
- package/dist/commands/investigations/run.js.map +0 -1
- package/dist/commands/investigations/runs-list.js.map +0 -1
- package/dist/commands/investigations/runs.js.map +0 -1
- package/dist/commands/investigations/stats.js.map +0 -1
- package/dist/commands/investigations/trigger.js.map +0 -1
- package/dist/commands/schedules/get.js.map +0 -1
- package/dist/commands/schedules/list.js.map +0 -1
- package/dist/commands/signals/count.js.map +0 -1
- package/dist/commands/signals/get.js.map +0 -1
- package/dist/commands/signals/list.js +0 -30
- package/dist/commands/signals/list.js.map +0 -1
- package/dist/commands/signals/query.js +0 -52
- package/dist/commands/signals/query.js.map +0 -1
- package/dist/commands/users/get.js.map +0 -1
- package/dist/commands/users/list.js.map +0 -1
- /package/dist/commands/{commands → command}/for-device.d.ts +0 -0
- /package/dist/commands/{commands → command}/get.d.ts +0 -0
- /package/dist/commands/{commands → command}/history.d.ts +0 -0
- /package/dist/commands/{commands → command}/list.d.ts +0 -0
- /package/dist/commands/{commands → command}/send.d.ts +0 -0
- /package/dist/commands/{devices → device}/config.d.ts +0 -0
- /package/dist/commands/{devices → device}/create.d.ts +0 -0
- /package/dist/commands/{devices → device}/delete.d.ts +0 -0
- /package/dist/commands/{devices → device}/get.d.ts +0 -0
- /package/dist/commands/{devices → device}/last-seen.d.ts +0 -0
- /package/dist/commands/{devices → device}/list.d.ts +0 -0
- /package/dist/commands/{devices → device}/rename.d.ts +0 -0
- /package/dist/commands/{devices → device}/tag.d.ts +0 -0
- /package/dist/commands/{devices → device}/untag.d.ts +0 -0
- /package/dist/commands/{events → event}/get.d.ts +0 -0
- /package/dist/commands/{events → event}/list.d.ts +0 -0
- /package/dist/commands/{event-triggers → event-trigger}/get.d.ts +0 -0
- /package/dist/commands/{event-triggers → event-trigger}/list.d.ts +0 -0
- /package/dist/commands/{fleets → fleet}/get.d.ts +0 -0
- /package/dist/commands/{fleets → fleet}/list.d.ts +0 -0
- /package/dist/commands/{investigations → investigation}/analytics.d.ts +0 -0
- /package/dist/commands/{investigations → investigation}/get.d.ts +0 -0
- /package/dist/commands/{investigations → investigation}/list.d.ts +0 -0
- /package/dist/commands/{investigations → investigation}/run.d.ts +0 -0
- /package/dist/commands/{investigations → investigation}/runs-list.d.ts +0 -0
- /package/dist/commands/{investigations → investigation}/runs.d.ts +0 -0
- /package/dist/commands/{investigations → investigation}/stats.d.ts +0 -0
- /package/dist/commands/{investigations → investigation}/trigger.d.ts +0 -0
- /package/dist/commands/{schedules → schedule}/get.d.ts +0 -0
- /package/dist/commands/{schedules → schedule}/list.d.ts +0 -0
- /package/dist/commands/{signals → signal}/count.d.ts +0 -0
- /package/dist/commands/{signals → signal}/get.d.ts +0 -0
- /package/dist/commands/{users → user}/get.d.ts +0 -0
- /package/dist/commands/{users → user}/list.d.ts +0 -0
|
@@ -4,8 +4,8 @@ import { formatDetail } from '../../lib/formatters.js';
|
|
|
4
4
|
export default class InvestigationsStats extends BaseCommand {
|
|
5
5
|
static description = 'Get investigation statistics for a time range.';
|
|
6
6
|
static examples = [
|
|
7
|
-
'<%= config.bin %>
|
|
8
|
-
'<%= config.bin %>
|
|
7
|
+
'<%= config.bin %> investigation stats --start 2026-01-01 --end 2026-02-01',
|
|
8
|
+
'<%= config.bin %> investigation stats --start 2026-01-01 --end 2026-02-01 --json',
|
|
9
9
|
];
|
|
10
10
|
static flags = {
|
|
11
11
|
end: Flags.string({
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stats.js","sourceRoot":"","sources":["../../../src/commands/investigation/stats.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAA;AAEjC,OAAO,EAAC,WAAW,EAAC,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAC,YAAY,EAAC,MAAM,yBAAyB,CAAA;AAEpD,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,WAAuC;IACtF,MAAM,CAAU,WAAW,GAAG,gDAAgD,CAAA;IAE9E,MAAM,CAAU,QAAQ,GAAG;QACzB,2EAA2E;QAC3E,kFAAkF;KACnF,CAAA;IAED,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC;YAChB,WAAW,EAAE,qBAAqB;YAClC,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC;YAClB,WAAW,EAAE,uBAAuB;YACpC,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAA;IAED,MAAM,CAAU,OAAO,GAAG,yBAAyB,CAAA;IAE5C,KAAK,CAAC,GAAG;QACd,8CAA8C;QAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAEtD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAC3B,WAAW,EACX,sBAAsB,EACtB;YACE,IAAI,EAAE;gBACJ,OAAO;gBACP,SAAS;aACV;SACF,CACF,CAAA;QAED,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,0BAA0B,IAAI,CAAC,GAAG,MAAM,CAAC,CAAA;YAClD,IAAI,CAAC,GAAG,CAAC,iBAAiB,IAAI,CAAC,KAAK,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAA;YACnE,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAA;YAC9B,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACd,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC"}
|
|
@@ -8,8 +8,8 @@ export default class InvestigationsTrigger extends BaseCommand {
|
|
|
8
8
|
or context for the investigation. The investigation runs asynchronously and
|
|
9
9
|
returns a run ID you can use to check results.`;
|
|
10
10
|
static examples = [
|
|
11
|
-
'<%= config.bin %>
|
|
12
|
-
'<%= config.bin %>
|
|
11
|
+
'<%= config.bin %> investigation trigger <id> --input "Robot stopped responding"',
|
|
12
|
+
'<%= config.bin %> investigation trigger <id> --input "Battery draining fast on device X" --json',
|
|
13
13
|
];
|
|
14
14
|
static flags = {
|
|
15
15
|
input: Flags.string({
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trigger.js","sourceRoot":"","sources":["../../../src/commands/investigation/trigger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAE,KAAK,EAAC,MAAM,aAAa,CAAA;AAEvC,OAAO,EAAC,WAAW,EAAC,MAAM,uBAAuB,CAAA;AAEjD,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,WAAyC;IAC1F,MAAM,CAAU,IAAI,GAAG;QACrB,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,6BAA6B,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;KAC9E,CAAA;IAED,MAAM,CAAU,WAAW,GAAG;;+CAEe,CAAA;IAE7C,MAAM,CAAU,QAAQ,GAAG;QACzB,iFAAiF;QACjF,iGAAiG;KAClG,CAAA;IAED,MAAM,CAAU,KAAK,GAAG;QACtB,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC;YAClB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,wDAAwD;YACrE,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC;YACxB,WAAW,EAAE,+CAA+C;SAC7D,CAAC;KACH,CAAA;IAED,MAAM,CAAU,OAAO,GAAG,0BAA0B,CAAA;IAE7C,KAAK,CAAC,GAAG;QACd,MAAM,IAAI,GAA4B;YACpC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;SACxB,CAAA;QAED,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;QACzC,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAC3B,WAAW,EACX,aAAa,IAAI,CAAC,IAAI,CAAC,EAAE,UAAU,EACnC,EAAC,IAAI,EAAC,CACP,CAAA;QAED,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,2CAA2C,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;YACjE,IAAI,CAAC,GAAG,CAAC,aAAa,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,CAAA;YACjE,IAAI,MAAM,CAAC,QAAQ;gBAAE,IAAI,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;YAChE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACd,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { BaseCommand } from '../../base-command.js';
|
|
2
|
+
export default class PersonaDelegateTask extends BaseCommand<typeof PersonaDelegateTask> {
|
|
3
|
+
static args: {
|
|
4
|
+
id: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
5
|
+
goal: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
6
|
+
};
|
|
7
|
+
static description: string;
|
|
8
|
+
static examples: string[];
|
|
9
|
+
static flags: {
|
|
10
|
+
name: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
};
|
|
12
|
+
static summary: string;
|
|
13
|
+
run(): Promise<Record<string, unknown>>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { Args, Flags } from '@oclif/core';
|
|
2
|
+
import { BaseCommand } from '../../base-command.js';
|
|
3
|
+
export default class PersonaDelegateTask extends BaseCommand {
|
|
4
|
+
static args = {
|
|
5
|
+
id: Args.string({ description: 'Persona ID (UUID)', required: true }),
|
|
6
|
+
goal: Args.string({ description: 'The task goal / instruction for the persona', required: true }),
|
|
7
|
+
};
|
|
8
|
+
static description = `Delegate a task to a persona for async execution.
|
|
9
|
+
|
|
10
|
+
Creates a task with the given goal, assigns it to the persona, and queues it to run in the background. Returns immediately with a task ID you can use to check status later via "persona task-status".`;
|
|
11
|
+
static examples = [
|
|
12
|
+
'<%= config.bin %> persona delegate-task <persona-id> "Analyze recent device failures and summarize findings"',
|
|
13
|
+
'<%= config.bin %> persona delegate-task <persona-id> "Generate a daily report of fleet health" --name "Daily Fleet Report"',
|
|
14
|
+
'<%= config.bin %> persona delegate-task <persona-id> "Check all offline devices" --dev',
|
|
15
|
+
];
|
|
16
|
+
static flags = {
|
|
17
|
+
name: Flags.string({
|
|
18
|
+
char: 'n',
|
|
19
|
+
description: 'Task name (defaults to first 50 chars of goal)',
|
|
20
|
+
}),
|
|
21
|
+
};
|
|
22
|
+
static summary = 'Delegate an async task to a persona';
|
|
23
|
+
async run() {
|
|
24
|
+
const { goal, id: personaId } = this.args;
|
|
25
|
+
const name = this.flags.name ?? goal.slice(0, 50);
|
|
26
|
+
// Step 1: Create the task
|
|
27
|
+
const task = await this.api('theopolis', 'tasks', {
|
|
28
|
+
body: {
|
|
29
|
+
goal,
|
|
30
|
+
guardrails: '',
|
|
31
|
+
meaningfulness: '',
|
|
32
|
+
name,
|
|
33
|
+
personaId,
|
|
34
|
+
},
|
|
35
|
+
});
|
|
36
|
+
// Step 2: Queue it for async execution
|
|
37
|
+
await this.api('theopolis', `tasks/${task.id}/runs/queue`, { body: {} });
|
|
38
|
+
if (!this.jsonEnabled()) {
|
|
39
|
+
this.log(`\nTask delegated (${this.env}):\n`);
|
|
40
|
+
this.log(` Task ID ${task.id}`);
|
|
41
|
+
this.log(` Name ${name}`);
|
|
42
|
+
this.log(` Persona ${personaId}`);
|
|
43
|
+
this.log(` Status queued`);
|
|
44
|
+
this.log(`\n Check progress: fcli persona task-status ${task.id}`);
|
|
45
|
+
this.log('');
|
|
46
|
+
}
|
|
47
|
+
return { personaId, queued: true, taskId: task.id, taskName: name };
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=delegate-task.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delegate-task.js","sourceRoot":"","sources":["../../../src/commands/persona/delegate-task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAE,KAAK,EAAC,MAAM,aAAa,CAAA;AAEvC,OAAO,EAAC,WAAW,EAAC,MAAM,uBAAuB,CAAA;AAUjD,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,WAAuC;IACtF,MAAM,CAAU,IAAI,GAAG;QACrB,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,mBAAmB,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;QACnE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,6CAA6C,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;KAChG,CAAA;IAED,MAAM,CAAU,WAAW,GAAG;;uMAEuK,CAAA;IAErM,MAAM,CAAU,QAAQ,GAAG;QACzB,8GAA8G;QAC9G,4HAA4H;QAC5H,wFAAwF;KACzF,CAAA;IAED,MAAM,CAAU,KAAK,GAAG;QACtB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;YACjB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,gDAAgD;SAC9D,CAAC;KACH,CAAA;IAED,MAAM,CAAU,OAAO,GAAG,qCAAqC,CAAA;IAExD,KAAK,CAAC,GAAG;QACd,MAAM,EAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC,GAAG,IAAI,CAAC,IAAI,CAAA;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QAEjD,0BAA0B;QAC1B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CACzB,WAAW,EACX,OAAO,EACP;YACE,IAAI,EAAE;gBACJ,IAAI;gBACJ,UAAU,EAAE,EAAE;gBACd,cAAc,EAAE,EAAE;gBAClB,IAAI;gBACJ,SAAS;aACV;SACF,CACF,CAAA;QAED,uCAAuC;QACvC,MAAM,IAAI,CAAC,GAAG,CACZ,WAAW,EACX,SAAS,IAAI,CAAC,EAAE,aAAa,EAC7B,EAAC,IAAI,EAAE,EAAE,EAAC,CACX,CAAA;QAED,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,qBAAqB,IAAI,CAAC,GAAG,MAAM,CAAC,CAAA;YAC7C,IAAI,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;YACnC,IAAI,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAA;YAChC,IAAI,CAAC,GAAG,CAAC,gBAAgB,SAAS,EAAE,CAAC,CAAA;YACrC,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;YAC/B,IAAI,CAAC,GAAG,CAAC,gDAAgD,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;YACnE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACd,CAAC;QAED,OAAO,EAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAA;IACnE,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { BaseCommand } from '../../base-command.js';
|
|
2
|
+
export default class PersonasGet extends BaseCommand<typeof PersonasGet> {
|
|
3
|
+
static args: {
|
|
4
|
+
id: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
5
|
+
};
|
|
6
|
+
static description: string;
|
|
7
|
+
static examples: string[];
|
|
8
|
+
static summary: string;
|
|
9
|
+
run(): Promise<Record<string, unknown>>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { Args } from '@oclif/core';
|
|
2
|
+
import { BaseCommand } from '../../base-command.js';
|
|
3
|
+
import { formatDetail, formatTable } from '../../lib/formatters.js';
|
|
4
|
+
export default class PersonasGet extends BaseCommand {
|
|
5
|
+
static args = {
|
|
6
|
+
id: Args.string({ description: 'Persona ID (UUID)', required: true }),
|
|
7
|
+
};
|
|
8
|
+
static description = `Get detailed information about a persona including its integrations and available tools.
|
|
9
|
+
|
|
10
|
+
Uses the user-level persona endpoint which merges org, persona, and user configurations.`;
|
|
11
|
+
static examples = [
|
|
12
|
+
'<%= config.bin %> personas get <persona-id>',
|
|
13
|
+
'<%= config.bin %> personas get <persona-id> --json',
|
|
14
|
+
'<%= config.bin %> personas get <persona-id> --dev',
|
|
15
|
+
];
|
|
16
|
+
static summary = 'Get persona details and tools';
|
|
17
|
+
async run() {
|
|
18
|
+
const persona = await this.api('gateway', `personas/user/${this.args.id}`, { method: 'GET' });
|
|
19
|
+
if (!this.jsonEnabled()) {
|
|
20
|
+
// --- Persona overview ---
|
|
21
|
+
this.log(`\nPersona Details (${this.env}):\n`);
|
|
22
|
+
this.log(formatDetail({
|
|
23
|
+
aiModel: persona.aiModel ?? '—',
|
|
24
|
+
builtIn: persona.builtIn ?? false,
|
|
25
|
+
createdAt: persona.createdAt,
|
|
26
|
+
description: persona.description ?? '—',
|
|
27
|
+
dynamicToolLoading: persona.enableDynamicToolLoading ?? false,
|
|
28
|
+
enabled: persona.enabled,
|
|
29
|
+
name: persona.name ?? '—',
|
|
30
|
+
personaId: persona.personaId,
|
|
31
|
+
updatedAt: persona.updatedAt,
|
|
32
|
+
}, {
|
|
33
|
+
aiModel: 'AI Model',
|
|
34
|
+
builtIn: 'Built-in',
|
|
35
|
+
createdAt: 'Created',
|
|
36
|
+
description: 'Description',
|
|
37
|
+
dynamicToolLoading: 'Dynamic Tool Loading',
|
|
38
|
+
enabled: 'Enabled',
|
|
39
|
+
name: 'Name',
|
|
40
|
+
personaId: 'ID',
|
|
41
|
+
updatedAt: 'Updated',
|
|
42
|
+
}));
|
|
43
|
+
// --- Instructions (truncated) ---
|
|
44
|
+
if (persona.instructions) {
|
|
45
|
+
const preview = persona.instructions.length > 200
|
|
46
|
+
? persona.instructions.slice(0, 200) + '...'
|
|
47
|
+
: persona.instructions;
|
|
48
|
+
this.log(`\n Instructions:\n ${preview.split('\n').join('\n ')}`);
|
|
49
|
+
}
|
|
50
|
+
// --- Integrations & Tools ---
|
|
51
|
+
const integrations = (persona.integrations ?? []).filter((i) => i.enabled !== false);
|
|
52
|
+
if (integrations.length > 0) {
|
|
53
|
+
this.log(`\n\nIntegrations (${integrations.length}):\n`);
|
|
54
|
+
for (const integration of integrations) {
|
|
55
|
+
const label = integration.name ?? integration.aiIntegrationId;
|
|
56
|
+
this.log(` ${label}`);
|
|
57
|
+
if (integration.description) {
|
|
58
|
+
this.log(` ${integration.description}`);
|
|
59
|
+
}
|
|
60
|
+
const tools = (integration.tools ?? []).filter((t) => t.enabled);
|
|
61
|
+
if (tools.length > 0) {
|
|
62
|
+
this.log('');
|
|
63
|
+
const toolColumns = [
|
|
64
|
+
{ key: 'name', label: 'TOOL', width: 40 },
|
|
65
|
+
{ key: 'description', label: 'DESCRIPTION', width: 60 },
|
|
66
|
+
];
|
|
67
|
+
const toolRows = tools.map((t) => ({
|
|
68
|
+
description: t.description,
|
|
69
|
+
name: t.name,
|
|
70
|
+
}));
|
|
71
|
+
this.log(formatTable(toolRows, toolColumns));
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
this.log(' No enabled tools');
|
|
75
|
+
}
|
|
76
|
+
this.log('');
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
this.log('\n No integrations configured.\n');
|
|
81
|
+
}
|
|
82
|
+
// --- Delegations ---
|
|
83
|
+
const delegations = persona.delegations ?? [];
|
|
84
|
+
if (delegations.length > 0) {
|
|
85
|
+
this.log(`Delegations (${delegations.length}):\n`);
|
|
86
|
+
const delColumns = [
|
|
87
|
+
{ key: 'personaId', label: 'PERSONA ID', width: 40 },
|
|
88
|
+
{ key: 'name', label: 'NAME', width: 25 },
|
|
89
|
+
{ key: 'description', label: 'DESCRIPTION', width: 50 },
|
|
90
|
+
];
|
|
91
|
+
this.log(formatTable(delegations, delColumns));
|
|
92
|
+
this.log('');
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
return persona;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=get.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/commands/persona/get.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BaseCommand } from '../../base-command.js';
|
|
2
|
-
export default class
|
|
2
|
+
export default class PersonasList extends BaseCommand<typeof PersonasList> {
|
|
3
3
|
static description: string;
|
|
4
4
|
static examples: string[];
|
|
5
5
|
static summary: string;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { BaseCommand } from '../../base-command.js';
|
|
2
|
+
import { formatTable } from '../../lib/formatters.js';
|
|
3
|
+
export default class PersonasList extends BaseCommand {
|
|
4
|
+
static description = `List AI personas available in your organization.
|
|
5
|
+
|
|
6
|
+
Shows both built-in and custom personas with their ID, name, and description.`;
|
|
7
|
+
static examples = [
|
|
8
|
+
'<%= config.bin %> personas list',
|
|
9
|
+
'<%= config.bin %> personas list --json',
|
|
10
|
+
'<%= config.bin %> personas list --dev',
|
|
11
|
+
];
|
|
12
|
+
static summary = 'List AI personas';
|
|
13
|
+
async run() {
|
|
14
|
+
const result = await this.api('gateway', 'personas/org', { method: 'GET' });
|
|
15
|
+
const personas = (result.items ?? []).filter((p) => p.enabled);
|
|
16
|
+
if (!this.jsonEnabled()) {
|
|
17
|
+
const columns = [
|
|
18
|
+
{ key: 'personaId', label: 'ID', width: 40 },
|
|
19
|
+
{ key: 'name', label: 'NAME', width: 30 },
|
|
20
|
+
{ key: 'description', label: 'DESCRIPTION', width: 50 },
|
|
21
|
+
{ key: 'aiModel', label: 'MODEL', width: 20 },
|
|
22
|
+
{ key: 'builtIn', label: 'BUILT-IN', width: 10 },
|
|
23
|
+
];
|
|
24
|
+
this.log(`\nPersonas (${this.env}):\n`);
|
|
25
|
+
this.log(formatTable(personas, columns));
|
|
26
|
+
this.log('');
|
|
27
|
+
}
|
|
28
|
+
return { items: personas };
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/persona/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAc,WAAW,EAAC,MAAM,yBAAyB,CAAA;AAWhE,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,WAAgC;IACxE,MAAM,CAAU,WAAW,GAAG;;8EAE8C,CAAA;IAE5E,MAAM,CAAU,QAAQ,GAAG;QACzB,iCAAiC;QACjC,wCAAwC;QACxC,uCAAuC;KACxC,CAAA;IAED,MAAM,CAAU,OAAO,GAAG,kBAAkB,CAAA;IAErC,KAAK,CAAC,GAAG;QACd,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAC3B,SAAS,EACT,cAAc,EACd,EAAC,MAAM,EAAE,KAAK,EAAC,CAChB,CAAA;QAED,MAAM,QAAQ,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;QAE9D,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,MAAM,OAAO,GAAa;gBACxB,EAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAC;gBAC1C,EAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAC;gBACvC,EAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,EAAC;gBACrD,EAAC,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAC;gBAC3C,EAAC,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAC;aAC/C,CAAA;YAED,IAAI,CAAC,GAAG,CAAC,eAAe,IAAI,CAAC,GAAG,MAAM,CAAC,CAAA;YACvC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,QAAgD,EAAE,OAAO,CAAC,CAAC,CAAA;YAChF,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACd,CAAC;QAED,OAAO,EAAC,KAAK,EAAE,QAAQ,EAAC,CAAA;IAC1B,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { BaseCommand } from '../../base-command.js';
|
|
2
|
+
export default class PersonaTaskStatus extends BaseCommand<typeof PersonaTaskStatus> {
|
|
3
|
+
static args: {
|
|
4
|
+
taskId: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
5
|
+
};
|
|
6
|
+
static description: string;
|
|
7
|
+
static examples: string[];
|
|
8
|
+
static summary: string;
|
|
9
|
+
run(): Promise<{
|
|
10
|
+
items: unknown[];
|
|
11
|
+
}>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { Args } from '@oclif/core';
|
|
2
|
+
import { BaseCommand } from '../../base-command.js';
|
|
3
|
+
import { formatDetail } from '../../lib/formatters.js';
|
|
4
|
+
export default class PersonaTaskStatus extends BaseCommand {
|
|
5
|
+
static args = {
|
|
6
|
+
taskId: Args.string({ description: 'Task ID (from delegate-task output)', required: true }),
|
|
7
|
+
};
|
|
8
|
+
static description = `Check the status and results of a delegated task.
|
|
9
|
+
|
|
10
|
+
Shows all runs for a task including their status, result summary, and timestamps.`;
|
|
11
|
+
static examples = [
|
|
12
|
+
'<%= config.bin %> persona task-status <task-id>',
|
|
13
|
+
'<%= config.bin %> persona task-status <task-id> --json',
|
|
14
|
+
'<%= config.bin %> persona task-status <task-id> --dev',
|
|
15
|
+
];
|
|
16
|
+
static summary = 'Check status of a delegated task';
|
|
17
|
+
async run() {
|
|
18
|
+
const { taskId } = this.args;
|
|
19
|
+
const result = await this.api('theopolis', `tasks/${taskId}/results`, { method: 'GET' });
|
|
20
|
+
const runs = result.items ?? [];
|
|
21
|
+
if (!this.jsonEnabled()) {
|
|
22
|
+
this.log(`\nTask Runs for ${taskId} (${this.env}):\n`);
|
|
23
|
+
if (runs.length === 0) {
|
|
24
|
+
this.log(' No runs found. The task may still be queued.\n');
|
|
25
|
+
return result;
|
|
26
|
+
}
|
|
27
|
+
for (const run of runs) {
|
|
28
|
+
this.log(formatDetail({
|
|
29
|
+
createdAt: run.createdAt,
|
|
30
|
+
id: run.id,
|
|
31
|
+
status: run.status,
|
|
32
|
+
threadId: run.threadId ?? '—',
|
|
33
|
+
title: run.title ?? '—',
|
|
34
|
+
tldr: run.tldr ?? '—',
|
|
35
|
+
updatedAt: run.updatedAt,
|
|
36
|
+
}, {
|
|
37
|
+
createdAt: 'Started',
|
|
38
|
+
id: 'Run ID',
|
|
39
|
+
status: 'Status',
|
|
40
|
+
threadId: 'Thread',
|
|
41
|
+
title: 'Title',
|
|
42
|
+
tldr: 'Summary',
|
|
43
|
+
updatedAt: 'Updated',
|
|
44
|
+
}));
|
|
45
|
+
if (run.result && run.status === 'completed') {
|
|
46
|
+
const preview = run.result.length > 500
|
|
47
|
+
? run.result.slice(0, 500) + '...'
|
|
48
|
+
: run.result;
|
|
49
|
+
this.log(`\n Result:\n ${preview.split('\n').join('\n ')}`);
|
|
50
|
+
}
|
|
51
|
+
this.log('');
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return result;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=task-status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-status.js","sourceRoot":"","sources":["../../../src/commands/persona/task-status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAA;AAEhC,OAAO,EAAC,WAAW,EAAC,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAc,YAAY,EAAc,MAAM,yBAAyB,CAAA;AAgB9E,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,WAAqC;IAClF,MAAM,CAAU,IAAI,GAAG;QACrB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,qCAAqC,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;KAC1F,CAAA;IAED,MAAM,CAAU,WAAW,GAAG;;kFAEkD,CAAA;IAEhF,MAAM,CAAU,QAAQ,GAAG;QACzB,iDAAiD;QACjD,wDAAwD;QACxD,uDAAuD;KACxD,CAAA;IAED,MAAM,CAAU,OAAO,GAAG,kCAAkC,CAAA;IAErD,KAAK,CAAC,GAAG;QACd,MAAM,EAAC,MAAM,EAAC,GAAG,IAAI,CAAC,IAAI,CAAA;QAE1B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAC3B,WAAW,EACX,SAAS,MAAM,UAAU,EACzB,EAAC,MAAM,EAAE,KAAK,EAAC,CAChB,CAAA;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAA;QAE/B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,mBAAmB,MAAM,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,CAAA;YAEtD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtB,IAAI,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAA;gBAC5D,OAAO,MAAM,CAAA;YACf,CAAC;YAED,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,IAAI,CAAC,GAAG,CAAC,YAAY,CACnB;oBACE,SAAS,EAAE,GAAG,CAAC,SAAS;oBACxB,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,GAAG;oBAC7B,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,GAAG;oBACvB,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,GAAG;oBACrB,SAAS,EAAE,GAAG,CAAC,SAAS;iBACzB,EACD;oBACE,SAAS,EAAE,SAAS;oBACpB,EAAE,EAAE,QAAQ;oBACZ,MAAM,EAAE,QAAQ;oBAChB,QAAQ,EAAE,QAAQ;oBAClB,KAAK,EAAE,OAAO;oBACd,IAAI,EAAE,SAAS;oBACf,SAAS,EAAE,SAAS;iBACrB,CACF,CAAC,CAAA;gBAEF,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;oBAC7C,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG;wBACrC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK;wBAClC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAA;oBACd,IAAI,CAAC,GAAG,CAAC,oBAAoB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;gBACpE,CAAC;gBAED,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACd,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC"}
|
|
@@ -4,6 +4,7 @@ export default class QueryLatestValues extends BaseCommand<typeof QueryLatestVal
|
|
|
4
4
|
static examples: string[];
|
|
5
5
|
static flags: {
|
|
6
6
|
'all-streams': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
7
|
+
days: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
7
8
|
device: import("@oclif/core/interfaces").OptionFlag<string[], import("@oclif/core/interfaces").CustomOptions>;
|
|
8
9
|
stream: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
10
|
};
|
|
@@ -8,7 +8,8 @@ Returns the most recent value for specified streams without needing to specify
|
|
|
8
8
|
a time range. Useful for checking current sensor readings.
|
|
9
9
|
|
|
10
10
|
Use --all-streams with a single device to automatically discover and query all
|
|
11
|
-
|
|
11
|
+
streams — both from the device configuration and from actual ingested data
|
|
12
|
+
(unconfigured streams included).`;
|
|
12
13
|
static examples = [
|
|
13
14
|
'<%= config.bin %> query latest-values --device <id> --stream battery_level',
|
|
14
15
|
'<%= config.bin %> query latest-values --device <id> --stream temperature --stream humidity',
|
|
@@ -17,7 +18,11 @@ configured streams from the device configuration.`;
|
|
|
17
18
|
];
|
|
18
19
|
static flags = {
|
|
19
20
|
'all-streams': Flags.boolean({
|
|
20
|
-
description: 'Query all
|
|
21
|
+
description: 'Query all streams for the device — from config and from ingested data (requires single --device)',
|
|
22
|
+
}),
|
|
23
|
+
days: Flags.integer({
|
|
24
|
+
default: 14,
|
|
25
|
+
description: 'How many days back to look for unconfigured streams when using --all-streams',
|
|
21
26
|
}),
|
|
22
27
|
device: Flags.string({
|
|
23
28
|
char: 'd',
|
|
@@ -34,32 +39,53 @@ configured streams from the device configuration.`;
|
|
|
34
39
|
static summary = 'Get latest stream values';
|
|
35
40
|
async run() {
|
|
36
41
|
let streamNames = this.flags.stream ?? [];
|
|
37
|
-
// If --all-streams, discover streams from
|
|
42
|
+
// If --all-streams, discover streams from both config and ingested data
|
|
38
43
|
if (this.flags['all-streams']) {
|
|
39
44
|
if (this.flags.device.length !== 1) {
|
|
40
45
|
this.error('--all-streams requires exactly one --device');
|
|
41
46
|
}
|
|
42
47
|
const deviceId = this.flags.device[0];
|
|
43
|
-
|
|
48
|
+
const discovered = new Set();
|
|
49
|
+
// ── Config-based discovery ──────────────────────────────────────────────
|
|
44
50
|
const device = await this.api('admin', `devices/${deviceId}`, {
|
|
45
51
|
method: 'GET',
|
|
46
52
|
});
|
|
47
53
|
const configVersion = device.desiredConfigurationVersion;
|
|
48
|
-
if (
|
|
49
|
-
this.
|
|
54
|
+
if (configVersion) {
|
|
55
|
+
const config = await this.api('admin', `devices/${deviceId}/configurations/${configVersion}`, { method: 'GET' });
|
|
56
|
+
const doc = config.document;
|
|
57
|
+
const telemetry = doc?.telemetry;
|
|
58
|
+
const configStreams = telemetry?.streams || [];
|
|
59
|
+
for (const s of configStreams) {
|
|
60
|
+
const name = s.name;
|
|
61
|
+
if (name)
|
|
62
|
+
discovered.add(name);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
// ── Data-based discovery (metadata endpoint) ───────────────────────────
|
|
66
|
+
const since = new Date();
|
|
67
|
+
since.setDate(since.getDate() - this.flags.days);
|
|
68
|
+
try {
|
|
69
|
+
const metaResult = await this.api('query', 'metadata', {
|
|
70
|
+
body: {
|
|
71
|
+
deviceIds: [deviceId],
|
|
72
|
+
start: since.toISOString(),
|
|
73
|
+
},
|
|
74
|
+
});
|
|
75
|
+
for (const item of metaResult?.items ?? []) {
|
|
76
|
+
if (item.name)
|
|
77
|
+
discovered.add(item.name);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
catch {
|
|
81
|
+
// metadata endpoint failure is non-fatal
|
|
50
82
|
}
|
|
51
|
-
|
|
52
|
-
const config = await this.api('admin', `devices/${deviceId}/configurations/${configVersion}`, { method: 'GET' });
|
|
53
|
-
// Parse stream names from config
|
|
54
|
-
const doc = config.document;
|
|
55
|
-
const telemetry = doc?.telemetry;
|
|
56
|
-
const streams = telemetry?.streams || [];
|
|
57
|
-
streamNames = streams.map((s) => s.name).filter(Boolean);
|
|
83
|
+
streamNames = [...discovered];
|
|
58
84
|
if (streamNames.length === 0) {
|
|
59
|
-
this.error('No streams
|
|
85
|
+
this.error('No streams found for this device (neither configured nor in ingested data)');
|
|
60
86
|
}
|
|
61
87
|
if (!this.jsonEnabled()) {
|
|
62
|
-
this.log(`\nDiscovered ${streamNames.length} streams
|
|
88
|
+
this.log(`\nDiscovered ${streamNames.length} streams (config + data, last ${this.flags.days}d).\n`);
|
|
63
89
|
}
|
|
64
90
|
}
|
|
65
91
|
if (streamNames.length === 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"latest-values.js","sourceRoot":"","sources":["../../../src/commands/query/latest-values.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAA;AAEjC,OAAO,EAAC,WAAW,EAAC,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAc,WAAW,EAAC,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"latest-values.js","sourceRoot":"","sources":["../../../src/commands/query/latest-values.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,8 +10,8 @@ export default class SchedulesGet extends BaseCommand {
|
|
|
10
10
|
Shows the full schedule configuration including cron expression, command template,
|
|
11
11
|
investigation link, and execution settings.`;
|
|
12
12
|
static examples = [
|
|
13
|
-
'<%= config.bin %>
|
|
14
|
-
'<%= config.bin %>
|
|
13
|
+
'<%= config.bin %> schedule get <schedule-id>',
|
|
14
|
+
'<%= config.bin %> schedule get <schedule-id> --json',
|
|
15
15
|
];
|
|
16
16
|
static summary = 'Get schedule details';
|
|
17
17
|
async run() {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/commands/schedule/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAA;AAEhC,OAAO,EAAC,WAAW,EAAC,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAC,YAAY,EAAC,MAAM,yBAAyB,CAAA;AAEpD,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,WAAgC;IACxE,MAAM,CAAU,IAAI,GAAG;QACrB,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,oBAAoB,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;KACrE,CAAA;IAED,MAAM,CAAU,WAAW,GAAG;;;4CAGY,CAAA;IAE1C,MAAM,CAAU,QAAQ,GAAG;QACzB,8CAA8C;QAC9C,qDAAqD;KACtD,CAAA;IAED,MAAM,CAAU,OAAO,GAAG,sBAAsB,CAAA;IAEzC,KAAK,CAAC,GAAG;QACd,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAA0B,OAAO,EAAE,aAAa,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE;YAC7F,MAAM,EAAE,KAAK;SACd,CAAC,CAAA;QAEF,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,uBAAuB,IAAI,CAAC,GAAG,MAAM,CAAC,CAAA;YAC/C,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAA;YAChC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACd,CAAC;QAED,OAAO,QAAQ,CAAA;IACjB,CAAC"}
|
|
@@ -5,8 +5,8 @@ export default class SchedulesList extends BaseCommand {
|
|
|
5
5
|
|
|
6
6
|
Schedules can trigger commands or investigations on a recurring (cron) or one-time basis.`;
|
|
7
7
|
static examples = [
|
|
8
|
-
'<%= config.bin %>
|
|
9
|
-
'<%= config.bin %>
|
|
8
|
+
'<%= config.bin %> schedule list',
|
|
9
|
+
'<%= config.bin %> schedule list --json',
|
|
10
10
|
];
|
|
11
11
|
static summary = 'List schedules';
|
|
12
12
|
async run() {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/schedule/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAc,WAAW,EAAC,MAAM,yBAAyB,CAAA;AAEhE,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,WAAiC;IAC1E,MAAM,CAAU,WAAW,GAAG;;0FAE0D,CAAA;IAExF,MAAM,CAAU,QAAQ,GAAG;QACzB,iCAAiC;QACjC,wCAAwC;KACzC,CAAA;IAED,MAAM,CAAU,OAAO,GAAG,gBAAgB,CAAA;IAEnC,KAAK,CAAC,GAAG;QACd,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAC3B,OAAO,EACP,WAAW,EACX,EAAC,MAAM,EAAE,KAAK,EAAC,CAChB,CAAA;QAED,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,MAAM,OAAO,GAAa;gBACxB,EAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAC;gBACvC,EAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAC;gBACvC,EAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAC;gBACvC,EAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAC;gBAC3C,EAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAC;aACpC,CAAA;YAED,IAAI,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,GAAG,MAAM,CAAC,CAAA;YACxC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC,CAAA;YAClD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACd,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC"}
|
|
@@ -6,9 +6,9 @@ export default class SignalsCount extends BaseCommand {
|
|
|
6
6
|
|
|
7
7
|
Returns total counts and per-type breakdowns (manual, eventTrigger, schedule, slack).`;
|
|
8
8
|
static examples = [
|
|
9
|
-
'<%= config.bin %>
|
|
10
|
-
'<%= config.bin %>
|
|
11
|
-
'<%= config.bin %>
|
|
9
|
+
'<%= config.bin %> signal count',
|
|
10
|
+
'<%= config.bin %> signal count --start 2026-01-01 --end 2026-02-01',
|
|
11
|
+
'<%= config.bin %> signal count --json',
|
|
12
12
|
];
|
|
13
13
|
static flags = {
|
|
14
14
|
end: Flags.string({
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"count.js","sourceRoot":"","sources":["../../../src/commands/signal/count.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAA;AAEjC,OAAO,EAAC,WAAW,EAAC,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAC,YAAY,EAAC,MAAM,yBAAyB,CAAA;AAEpD,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,WAAgC;IACxE,MAAM,CAAU,WAAW,GAAG;;sFAEsD,CAAA;IAEpF,MAAM,CAAU,QAAQ,GAAG;QACzB,gCAAgC;QAChC,oEAAoE;QACpE,uCAAuC;KACxC,CAAA;IAED,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC;YAChB,WAAW,EAAE,qBAAqB;SACnC,CAAC;QACF,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC;YAClB,WAAW,EAAE,uBAAuB;SACrC,CAAC;KACH,CAAA;IAED,MAAM,CAAU,OAAO,GAAG,2BAA2B,CAAA;IAE9C,KAAK,CAAC,GAAG;QACd,MAAM,IAAI,GAA4B,EAAE,CAAA;QACxC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK;YAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAA;QACvD,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG;YAAE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAA;QAEjD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAC3B,WAAW,EACX,eAAe,EACf,EAAC,IAAI,EAAC,CACP,CAAA;QAED,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,oBAAoB,IAAI,CAAC,GAAG,kBAAkB,CAAC,CAAA;YACxD,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,EAAE;gBAC7C,YAAY,EAAE,eAAe;gBAC7B,MAAM,EAAE,QAAQ;gBAChB,QAAQ,EAAE,UAAU;gBACpB,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE,OAAO;aACf,CAAC,CAAC,CAAA;YACH,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACd,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { BaseCommand } from '../../base-command.js';
|
|
2
|
+
export default class SignalCreate extends BaseCommand<typeof SignalCreate> {
|
|
3
|
+
static args: {
|
|
4
|
+
goal: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
5
|
+
};
|
|
6
|
+
static description: string;
|
|
7
|
+
static examples: string[];
|
|
8
|
+
static flags: {
|
|
9
|
+
device: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
'ground-truth': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
investigation: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
persona: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
};
|
|
14
|
+
static summary: string;
|
|
15
|
+
run(): Promise<Record<string, unknown>>;
|
|
16
|
+
}
|