@skrr-ai/cli 0.1.22 → 0.1.23
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 +83 -73
- package/bin/dev-fallback.js +221 -0
- package/bin/run.js +43 -0
- package/dist/base-command.d.ts +15 -0
- package/dist/base-command.js +71 -10
- package/dist/commands/agents/attach-harness.d.ts +37 -0
- package/dist/commands/agents/attach-harness.js +102 -3
- package/dist/commands/agents/chat.d.ts +69 -1
- package/dist/commands/agents/chat.js +202 -22
- package/dist/commands/agents/create.d.ts +38 -0
- package/dist/commands/agents/create.js +95 -2
- package/dist/commands/agents/schedule-trace.js +11 -0
- package/dist/commands/agents/show.js +29 -1
- package/dist/commands/api-keys/create.d.ts +24 -0
- package/dist/commands/api-keys/create.js +80 -0
- package/dist/commands/api-keys/list.d.ts +11 -0
- package/dist/commands/api-keys/list.js +42 -0
- package/dist/commands/api-keys/revoke.d.ts +14 -0
- package/dist/commands/api-keys/revoke.js +33 -0
- package/dist/commands/api-keys/rotate.d.ts +19 -0
- package/dist/commands/api-keys/rotate.js +42 -0
- package/dist/commands/balance/index.d.ts +18 -0
- package/dist/commands/balance/index.js +29 -0
- package/dist/commands/balance/show.d.ts +25 -0
- package/dist/commands/balance/show.js +60 -0
- package/dist/commands/balance/statement.d.ts +19 -0
- package/dist/commands/balance/statement.js +52 -0
- package/dist/commands/browser/doctor.d.ts +11 -0
- package/dist/commands/browser/doctor.js +11 -0
- package/dist/commands/code/jobs/approve.d.ts +25 -0
- package/dist/commands/code/jobs/approve.js +52 -0
- package/dist/commands/code/jobs/cancel.d.ts +12 -0
- package/dist/commands/code/jobs/cancel.js +39 -0
- package/dist/commands/code/jobs/index.d.ts +19 -0
- package/dist/commands/code/jobs/index.js +38 -0
- package/dist/commands/code/jobs/list.d.ts +12 -0
- package/dist/commands/code/jobs/list.js +87 -0
- package/dist/commands/code/jobs/run.d.ts +32 -0
- package/dist/commands/code/jobs/run.js +151 -0
- package/dist/commands/code/jobs/show.d.ts +12 -0
- package/dist/commands/code/jobs/show.js +86 -0
- package/dist/commands/commitments/preflight.js +18 -4
- package/dist/commands/commitments/receipt-metrics.d.ts +39 -0
- package/dist/commands/commitments/receipt-metrics.js +78 -0
- package/dist/commands/convos/search.js +5 -5
- package/dist/commands/harnesses/leases/list.d.ts +3 -0
- package/dist/commands/harnesses/leases/list.js +59 -12
- package/dist/commands/harnesses/leases/show.js +36 -0
- package/dist/commands/harnesses/list.d.ts +18 -0
- package/dist/commands/harnesses/list.js +30 -0
- package/dist/commands/harnesses/products.js +48 -3
- package/dist/commands/harnesses/quota.d.ts +16 -0
- package/dist/commands/harnesses/quota.js +26 -1
- package/dist/commands/harnesses/usage.js +17 -0
- package/dist/commands/inbox/index.d.ts +2 -1
- package/dist/commands/inbox/index.js +27 -4
- package/dist/commands/login.js +4 -1
- package/dist/commands/machines/list.d.ts +1 -0
- package/dist/commands/machines/list.js +33 -5
- package/dist/commands/memory/approvals/issue.d.ts +18 -0
- package/dist/commands/memory/approvals/issue.js +63 -0
- package/dist/commands/memory/commit.js +5 -2
- package/dist/commands/memory/context.d.ts +3 -2
- package/dist/commands/memory/context.js +9 -11
- package/dist/commands/memory/delete.d.ts +1 -1
- package/dist/commands/memory/list.d.ts +1 -1
- package/dist/commands/memory/list.js +1 -1
- package/dist/commands/memory/mounts/resolve.d.ts +10 -0
- package/dist/commands/memory/mounts/resolve.js +27 -0
- package/dist/commands/memory/proposals/commit.d.ts +18 -0
- package/dist/commands/memory/proposals/commit.js +32 -0
- package/dist/commands/memory/proposals/create.d.ts +18 -0
- package/dist/commands/memory/proposals/create.js +56 -0
- package/dist/commands/memory/proposals/list.d.ts +13 -0
- package/dist/commands/memory/proposals/list.js +31 -0
- package/dist/commands/memory/proposals/promote.d.ts +22 -0
- package/dist/commands/memory/proposals/promote.js +33 -0
- package/dist/commands/memory/proposals/reject.d.ts +16 -0
- package/dist/commands/memory/proposals/reject.js +28 -0
- package/dist/commands/memory/rebuild-index.d.ts +20 -0
- package/dist/commands/memory/rebuild-index.js +25 -0
- package/dist/commands/memory/save.d.ts +1 -1
- package/dist/commands/memory/save.js +1 -1
- package/dist/commands/memory/search.d.ts +6 -3
- package/dist/commands/memory/search.js +27 -3
- package/dist/commands/memory/show.d.ts +1 -1
- package/dist/commands/memory/stores/archive.d.ts +14 -0
- package/dist/commands/memory/stores/archive.js +31 -0
- package/dist/commands/memory/stores/create.d.ts +12 -0
- package/dist/commands/memory/stores/create.js +30 -0
- package/dist/commands/memory/stores/delete.d.ts +15 -0
- package/dist/commands/memory/stores/delete.js +38 -0
- package/dist/commands/memory/stores/list.d.ts +10 -0
- package/dist/commands/memory/stores/list.js +29 -0
- package/dist/commands/memory/stores/show.d.ts +12 -0
- package/dist/commands/memory/stores/show.js +14 -0
- package/dist/commands/memory/stores/update.d.ts +15 -0
- package/dist/commands/memory/stores/update.js +39 -0
- package/dist/commands/memory/sync/delete.d.ts +13 -0
- package/dist/commands/memory/sync/delete.js +35 -0
- package/dist/commands/memory/sync/pull.d.ts +19 -0
- package/dist/commands/memory/sync/pull.js +52 -0
- package/dist/commands/memory/sync/push.d.ts +18 -0
- package/dist/commands/memory/sync/push.js +115 -0
- package/dist/commands/memory/sync/resolve.d.ts +23 -0
- package/dist/commands/memory/sync/resolve.js +27 -0
- package/dist/commands/memory/sync/status.d.ts +9 -0
- package/dist/commands/memory/sync/status.js +22 -0
- package/dist/commands/memory/topics/archive.d.ts +20 -0
- package/dist/commands/memory/topics/archive.js +29 -0
- package/dist/commands/memory/topics/create.d.ts +23 -0
- package/dist/commands/memory/topics/create.js +46 -0
- package/dist/commands/memory/topics/delete.d.ts +22 -0
- package/dist/commands/memory/topics/delete.js +30 -0
- package/dist/commands/memory/topics/forget.d.ts +22 -0
- package/dist/commands/memory/topics/forget.js +29 -0
- package/dist/commands/memory/topics/list.d.ts +13 -0
- package/dist/commands/memory/topics/list.js +22 -0
- package/dist/commands/memory/topics/move.d.ts +22 -0
- package/dist/commands/memory/topics/move.js +26 -0
- package/dist/commands/memory/topics/show.d.ts +17 -0
- package/dist/commands/memory/topics/show.js +21 -0
- package/dist/commands/memory/topics/update.d.ts +23 -0
- package/dist/commands/memory/topics/update.js +27 -0
- package/dist/commands/memory/tree.d.ts +5 -2
- package/dist/commands/memory/tree.js +20 -2
- package/dist/commands/memory/update.d.ts +1 -1
- package/dist/commands/memory/versions/list.d.ts +16 -0
- package/dist/commands/memory/versions/list.js +22 -0
- package/dist/commands/memory/versions/redact.d.ts +21 -0
- package/dist/commands/memory/versions/redact.js +22 -0
- package/dist/commands/memory/versions/restore.d.ts +20 -0
- package/dist/commands/memory/versions/restore.js +16 -0
- package/dist/commands/memory/versions/show.d.ts +15 -0
- package/dist/commands/memory/versions/show.js +17 -0
- package/dist/commands/messages/list.js +25 -8
- package/dist/commands/messages/show.js +10 -0
- package/dist/commands/store/install.js +5 -1
- package/dist/commands/store/releases.js +1 -1
- package/dist/commands/store/update.js +5 -1
- package/dist/commands/subscriptions/cancel.js +5 -1
- package/dist/commands/subscriptions/health.js +5 -1
- package/dist/commands/subscriptions/status.js +5 -1
- package/dist/commands/subscriptions/subscribe.js +5 -1
- package/dist/commands/tasks/activity.d.ts +2 -3
- package/dist/commands/tasks/activity.js +15 -5
- package/dist/commands/tasks/complete.d.ts +18 -150
- package/dist/commands/tasks/complete.js +161 -600
- package/dist/commands/tasks/create.d.ts +5 -0
- package/dist/commands/tasks/create.js +107 -4
- package/dist/commands/tasks/deliverable/add.d.ts +8 -0
- package/dist/commands/tasks/deliverable/add.js +41 -8
- package/dist/commands/tasks/deliverable/confirm.d.ts +5 -5
- package/dist/commands/tasks/deliverable/confirm.js +9 -18
- package/dist/commands/tasks/deliverable/list.d.ts +12 -0
- package/dist/commands/tasks/deliverable/list.js +37 -0
- package/dist/commands/tasks/events/append.d.ts +2 -0
- package/dist/commands/tasks/events/append.js +11 -4
- package/dist/commands/tasks/events/list.d.ts +1 -0
- package/dist/commands/tasks/events/list.js +1 -0
- package/dist/commands/tasks/events/tail.d.ts +1 -0
- package/dist/commands/tasks/events/tail.js +1 -0
- package/dist/commands/tasks/expectations/assess.d.ts +21 -0
- package/dist/commands/tasks/expectations/assess.js +77 -0
- package/dist/commands/tasks/expectations.js +14 -18
- package/dist/commands/tasks/judge.d.ts +1 -0
- package/dist/commands/tasks/judge.js +2 -1
- package/dist/commands/tasks/output.d.ts +2 -11
- package/dist/commands/tasks/output.js +64 -145
- package/dist/commands/tasks/report.d.ts +3 -3
- package/dist/commands/tasks/report.js +64 -41
- package/dist/commands/tasks/resource/add.d.ts +23 -0
- package/dist/commands/tasks/resource/add.js +76 -0
- package/dist/commands/tasks/resource/list.d.ts +13 -0
- package/dist/commands/tasks/resource/list.js +41 -0
- package/dist/commands/tasks/result/show.d.ts +13 -0
- package/dist/commands/tasks/result/show.js +46 -0
- package/dist/commands/tasks/result/submit.d.ts +26 -0
- package/dist/commands/tasks/result/submit.js +134 -0
- package/dist/commands/tasks/resume/save.d.ts +16 -0
- package/dist/commands/tasks/resume/save.js +59 -0
- package/dist/commands/tasks/resume/show.d.ts +13 -0
- package/dist/commands/tasks/resume/show.js +35 -0
- package/dist/commands/tasks/review.d.ts +17 -0
- package/dist/commands/tasks/review.js +54 -0
- package/dist/commands/tasks/runs.js +5 -0
- package/dist/commands/tasks/timeline.d.ts +2 -2
- package/dist/commands/tasks/timeline.js +10 -23
- package/dist/commands/tasks/updates/add.d.ts +22 -0
- package/dist/commands/tasks/updates/add.js +101 -0
- package/dist/commands/tasks/updates/list.d.ts +15 -0
- package/dist/commands/tasks/updates/list.js +57 -0
- package/dist/commands/tasks/waive.d.ts +1 -0
- package/dist/commands/tasks/waive.js +2 -1
- package/dist/lib/agentic-stream.d.ts +257 -0
- package/dist/lib/agentic-stream.js +490 -33
- package/dist/lib/balance.d.ts +8 -0
- package/dist/lib/commitment-product.d.ts +10 -1
- package/dist/lib/commitment-product.js +66 -2
- package/dist/lib/commitments.d.ts +2 -1
- package/dist/lib/commitments.js +1 -0
- package/dist/lib/conversation-search.d.ts +3 -0
- package/dist/lib/conversation-search.js +75 -0
- package/dist/lib/execution-target.d.ts +21 -0
- package/dist/lib/execution-target.js +22 -6
- package/dist/lib/harnesses.d.ts +82 -6
- package/dist/lib/harnesses.js +30 -2
- package/dist/lib/hosted-machines.js +9 -0
- package/dist/lib/inbox.d.ts +2 -1
- package/dist/lib/machines.d.ts +17 -0
- package/dist/lib/machines.js +29 -0
- package/dist/lib/managed-agent-keys.d.ts +104 -0
- package/dist/lib/managed-agent-keys.js +50 -0
- package/dist/lib/memory-scope.d.ts +4 -3
- package/dist/lib/memory-scope.js +9 -9
- package/dist/lib/memory-sync.d.ts +114 -0
- package/dist/lib/memory-sync.js +730 -0
- package/dist/lib/message-provenance.d.ts +42 -0
- package/dist/lib/message-provenance.js +89 -0
- package/dist/lib/scoped-memory-command.d.ts +68 -0
- package/dist/lib/scoped-memory-command.js +183 -0
- package/dist/lib/session-task-endpoints.d.ts +1 -1
- package/dist/lib/session-task-endpoints.js +7 -0
- package/dist/lib/sky-code-broker.d.ts +47 -0
- package/dist/lib/sky-code-broker.js +50 -0
- package/dist/lib/sky-code-doctor.js +10 -1
- package/dist/lib/task-artifact-flags.d.ts +2 -0
- package/dist/lib/task-artifact-flags.js +7 -0
- package/dist/lib/task-execution.d.ts +4 -5
- package/dist/lib/task-execution.js +4 -5
- package/dist/lib/task-extras.d.ts +1 -5
- package/dist/lib/task-extras.js +1 -5
- package/dist/lib/task-transcript.d.ts +5 -7
- package/dist/lib/task-transcript.js +8 -16
- package/dist/lib/tasks.d.ts +7 -21
- package/dist/lib/tasks.js +17 -20
- package/dist/lib/triggers.d.ts +39 -1
- package/dist/lib/triggers.js +70 -2
- package/dist/lib/usage-discovery.d.ts +17 -1
- package/dist/lib/usage-discovery.js +17 -1
- package/dist/node_modules/@skrr-ai/data-provider/index.js +3733 -3618
- package/oclif.manifest.json +16201 -10377
- package/package.json +26 -5
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ScopedMemoryCommand } from '../../../lib/scoped-memory-command';
|
|
2
|
+
export default class MemoryApprovalsIssue extends ScopedMemoryCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static flags: {
|
|
5
|
+
purpose: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
6
|
+
payload: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
7
|
+
'source-store': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
8
|
+
'source-memory': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
9
|
+
'source-version': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
10
|
+
ttl: import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
11
|
+
agent: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
12
|
+
space: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
13
|
+
store: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
14
|
+
scope: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
15
|
+
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
16
|
+
};
|
|
17
|
+
run(): Promise<void>;
|
|
18
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const core_1 = require("@oclif/core");
|
|
4
|
+
const scoped_memory_command_1 = require("../../../lib/scoped-memory-command");
|
|
5
|
+
class MemoryApprovalsIssue extends scoped_memory_command_1.ScopedMemoryCommand {
|
|
6
|
+
static description = 'Issue a short-lived user approval for Space PII or Agent-to-Space promotion';
|
|
7
|
+
static flags = {
|
|
8
|
+
...scoped_memory_command_1.scopedMemoryFlags,
|
|
9
|
+
purpose: core_1.Flags.string({
|
|
10
|
+
description: 'Approval purpose',
|
|
11
|
+
options: ['space_pii', 'space_promotion'],
|
|
12
|
+
required: true,
|
|
13
|
+
}),
|
|
14
|
+
payload: core_1.Flags.string({
|
|
15
|
+
description: 'Exact mutation-policy JSON payload for a space_pii approval',
|
|
16
|
+
}),
|
|
17
|
+
'source-store': core_1.Flags.string({ description: 'Agent Store ID for space_promotion' }),
|
|
18
|
+
'source-memory': core_1.Flags.string({ description: 'Agent Memory topic ID for space_promotion' }),
|
|
19
|
+
'source-version': core_1.Flags.string({ description: 'Current Agent Memory version for promotion' }),
|
|
20
|
+
ttl: core_1.Flags.integer({ description: 'Approval lifetime in seconds (30-900)', default: 300 }),
|
|
21
|
+
};
|
|
22
|
+
async run() {
|
|
23
|
+
this.requireAuth();
|
|
24
|
+
const { flags } = await this.parse(MemoryApprovalsIssue);
|
|
25
|
+
const store = await this.resolveStore(flags, { write: true });
|
|
26
|
+
if (store.owner.kind !== 'space' || store.mount?.source !== 'current_space') {
|
|
27
|
+
this.error('MEMORY_APPROVAL_TARGET_INVALID: approvals require the current Space Store.', {
|
|
28
|
+
exit: 5,
|
|
29
|
+
code: 'MEMORY_APPROVAL_TARGET_INVALID',
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
let payload;
|
|
33
|
+
if (flags.purpose === 'space_pii') {
|
|
34
|
+
if (!flags.payload) {
|
|
35
|
+
this.error('--payload JSON is required for --purpose space_pii.', { exit: 2 });
|
|
36
|
+
}
|
|
37
|
+
try {
|
|
38
|
+
payload = JSON.parse(flags.payload);
|
|
39
|
+
}
|
|
40
|
+
catch {
|
|
41
|
+
this.error('--payload must be valid JSON.', { exit: 2 });
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
else if (!flags['source-store'] || !flags['source-memory'] || !flags['source-version']) {
|
|
45
|
+
this.error('--source-store, --source-memory, and --source-version are required for space_promotion.', { exit: 2 });
|
|
46
|
+
}
|
|
47
|
+
const result = await this.memoryApi(flags.agent, '/approvals', {
|
|
48
|
+
method: 'POST',
|
|
49
|
+
body: {
|
|
50
|
+
spaceId: flags.space,
|
|
51
|
+
purpose: flags.purpose,
|
|
52
|
+
targetStoreId: store.id,
|
|
53
|
+
ttlSeconds: flags.ttl,
|
|
54
|
+
...(payload ? { payload } : {}),
|
|
55
|
+
...(flags['source-store'] ? { sourceStoreId: flags['source-store'] } : {}),
|
|
56
|
+
...(flags['source-memory'] ? { sourceMemoryId: flags['source-memory'] } : {}),
|
|
57
|
+
...(flags['source-version'] ? { sourceVersionId: flags['source-version'] } : {}),
|
|
58
|
+
},
|
|
59
|
+
});
|
|
60
|
+
this.print(result, flags.json, `Issued ${result.purpose} approval ${result.approvalId}; expires ${result.expiresAt}.`);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
exports.default = MemoryApprovalsIssue;
|
|
@@ -28,8 +28,11 @@ class MemoryCommit extends base_command_1.BaseCommand {
|
|
|
28
28
|
if (flags.json)
|
|
29
29
|
this.log(this.agentJson(flags.agent, result));
|
|
30
30
|
else {
|
|
31
|
-
this.log(`${result.outcome || 'committed'}: ${result.node.
|
|
32
|
-
|
|
31
|
+
this.log(`${result.outcome || 'committed'}: ${result.node?.path || result.node?.id || args.proposal}`);
|
|
32
|
+
if (result.fact?.claim)
|
|
33
|
+
this.log(result.fact.claim);
|
|
34
|
+
else if (result.fact?.id)
|
|
35
|
+
this.log(`Fact: ${result.fact.id}`);
|
|
33
36
|
this.printAgentUrl(flags.agent);
|
|
34
37
|
}
|
|
35
38
|
}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export default class MemoryContext extends
|
|
1
|
+
import { ScopedMemoryCommand } from '../../lib/scoped-memory-command';
|
|
2
|
+
export default class MemoryContext extends ScopedMemoryCommand {
|
|
3
3
|
static description: string;
|
|
4
4
|
static args: {
|
|
5
5
|
query: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
6
6
|
};
|
|
7
7
|
static flags: {
|
|
8
8
|
agent: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
9
|
+
space: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
9
10
|
tokens: import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
10
11
|
level: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
11
12
|
nodes: import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const core_1 = require("@oclif/core");
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
class MemoryContext extends base_command_1.BaseCommand {
|
|
4
|
+
const scoped_memory_command_1 = require("../../lib/scoped-memory-command");
|
|
5
|
+
class MemoryContext extends scoped_memory_command_1.ScopedMemoryCommand {
|
|
7
6
|
static description = 'Preview the hierarchical memory context assembled for a query';
|
|
8
7
|
static args = { query: core_1.Args.string({ required: true, ignoreStdin: true }) };
|
|
9
8
|
static flags = {
|
|
10
9
|
agent: core_1.Flags.string({ required: true }),
|
|
10
|
+
space: core_1.Flags.string({ description: 'Current Space context; includes its mounted Store' }),
|
|
11
11
|
tokens: core_1.Flags.integer({ default: 2000 }),
|
|
12
12
|
level: core_1.Flags.string({ options: ['L0', 'L1', 'L2'], default: 'L2' }),
|
|
13
13
|
nodes: core_1.Flags.integer({ default: 12 }),
|
|
@@ -17,19 +17,17 @@ class MemoryContext extends base_command_1.BaseCommand {
|
|
|
17
17
|
async run() {
|
|
18
18
|
this.requireAuth();
|
|
19
19
|
const { args, flags } = await this.parse(MemoryContext);
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
const result = await this.memoryApi(flags.agent, '/context', {
|
|
21
|
+
method: 'POST',
|
|
22
|
+
body: {
|
|
23
23
|
query: args.query,
|
|
24
24
|
maxTokens: flags.tokens,
|
|
25
25
|
maxLevel: flags.level,
|
|
26
26
|
maxNodes: flags.nodes,
|
|
27
27
|
cooldownMinutes: flags.cooldown,
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
this.handleApiError(error);
|
|
32
|
-
}
|
|
28
|
+
...(flags.space ? { spaceId: flags.space } : {}),
|
|
29
|
+
},
|
|
30
|
+
});
|
|
33
31
|
if (flags.json) {
|
|
34
32
|
this.log(this.agentJson(flags.agent, result));
|
|
35
33
|
return;
|
|
@@ -8,7 +8,7 @@ export default class MemoryDelete extends BaseCommand {
|
|
|
8
8
|
static flags: {
|
|
9
9
|
agent: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
10
10
|
tier: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
11
|
-
workspace: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
11
|
+
'pool-workspace': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
12
12
|
yes: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
13
13
|
};
|
|
14
14
|
run(): Promise<void>;
|
|
@@ -5,7 +5,7 @@ export default class MemoryList extends BaseCommand {
|
|
|
5
5
|
static flags: {
|
|
6
6
|
agent: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
7
7
|
tier: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
8
|
-
workspace: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
8
|
+
'pool-workspace': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
9
9
|
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
10
10
|
};
|
|
11
11
|
run(): Promise<void>;
|
|
@@ -12,7 +12,7 @@ class MemoryList extends base_command_1.BaseCommand {
|
|
|
12
12
|
'<%= config.bin %> memory list --json',
|
|
13
13
|
'<%= config.bin %> memory list --agent agent_abc123',
|
|
14
14
|
'<%= config.bin %> memory list --tier user',
|
|
15
|
-
'<%= config.bin %> memory list --tier workspace --workspace ws_123',
|
|
15
|
+
'<%= config.bin %> memory list --tier workspace --pool-workspace ws_123',
|
|
16
16
|
];
|
|
17
17
|
static flags = {
|
|
18
18
|
json: core_1.Flags.boolean({ description: 'Output as JSON' }),
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ScopedMemoryCommand } from '../../../lib/scoped-memory-command';
|
|
2
|
+
export default class MemoryMountsResolve extends ScopedMemoryCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static flags: {
|
|
5
|
+
agent: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
6
|
+
space: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
7
|
+
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
8
|
+
};
|
|
9
|
+
run(): Promise<void>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const core_1 = require("@oclif/core");
|
|
4
|
+
const data_schemas_1 = require("@skrr-ai/data-schemas");
|
|
5
|
+
const scoped_memory_command_1 = require("../../../lib/scoped-memory-command");
|
|
6
|
+
class MemoryMountsResolve extends scoped_memory_command_1.ScopedMemoryCommand {
|
|
7
|
+
static description = 'Resolve the ACL-aware Memory mounts for an Agent session';
|
|
8
|
+
static flags = {
|
|
9
|
+
agent: core_1.Flags.string({ required: true }),
|
|
10
|
+
space: core_1.Flags.string({ description: 'Current Space context' }),
|
|
11
|
+
json: core_1.Flags.boolean({ description: 'Output stable JSON' }),
|
|
12
|
+
};
|
|
13
|
+
async run() {
|
|
14
|
+
this.requireAuth();
|
|
15
|
+
const { flags } = await this.parse(MemoryMountsResolve);
|
|
16
|
+
const response = await this.memoryApi(flags.agent, `/mounts${this.query(flags)}`);
|
|
17
|
+
const result = { mounts: response.mounts.map((mount) => data_schemas_1.MemoryMountSchema.parse(mount)) };
|
|
18
|
+
if (flags.json)
|
|
19
|
+
return this.log(JSON.stringify(result, null, 2));
|
|
20
|
+
for (const mount of result.mounts) {
|
|
21
|
+
this.log(`${mount.source} ${mount.uri} ${mount.access} store=${mount.storeId} r${mount.storeRevision} cursor=${mount.cursor}`);
|
|
22
|
+
}
|
|
23
|
+
if (!result.mounts.length)
|
|
24
|
+
this.log('No Memory mounts.');
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
exports.default = MemoryMountsResolve;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ScopedMemoryCommand } from '../../../lib/scoped-memory-command';
|
|
2
|
+
export default class MemoryProposalsCommit extends ScopedMemoryCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static args: {
|
|
5
|
+
proposalId: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
6
|
+
};
|
|
7
|
+
static flags: {
|
|
8
|
+
reason: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
9
|
+
'idempotency-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
10
|
+
'privacy-approval': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
11
|
+
agent: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
12
|
+
space: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
13
|
+
store: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
14
|
+
scope: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
15
|
+
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
16
|
+
};
|
|
17
|
+
run(): Promise<void>;
|
|
18
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const core_1 = require("@oclif/core");
|
|
4
|
+
const scoped_memory_command_1 = require("../../../lib/scoped-memory-command");
|
|
5
|
+
class MemoryProposalsCommit extends scoped_memory_command_1.ScopedMemoryCommand {
|
|
6
|
+
static description = 'Commit a reviewed Store-scoped Memory proposal';
|
|
7
|
+
static args = {
|
|
8
|
+
proposalId: core_1.Args.string({ description: 'Proposal ID', required: true, ignoreStdin: true }),
|
|
9
|
+
};
|
|
10
|
+
static flags = {
|
|
11
|
+
...scoped_memory_command_1.scopedMemoryFlags,
|
|
12
|
+
reason: core_1.Flags.string({ description: 'Decision reason recorded on the proposal' }),
|
|
13
|
+
'idempotency-key': core_1.Flags.string({ description: 'Stable retry key for the canonical mutation' }),
|
|
14
|
+
'privacy-approval': core_1.Flags.string({ description: 'One-time approval ID for Space PII' }),
|
|
15
|
+
};
|
|
16
|
+
async run() {
|
|
17
|
+
this.requireAuth();
|
|
18
|
+
const { args, flags } = await this.parse(MemoryProposalsCommit);
|
|
19
|
+
const store = await this.resolveStore(flags, { write: true });
|
|
20
|
+
const result = await this.memoryApi(flags.agent, `/stores/${store.id}/proposals/${encodeURIComponent(args.proposalId)}/commit`, {
|
|
21
|
+
method: 'POST',
|
|
22
|
+
body: {
|
|
23
|
+
...(flags.space ? { spaceId: flags.space } : {}),
|
|
24
|
+
...(flags.reason ? { reason: flags.reason } : {}),
|
|
25
|
+
...(flags['idempotency-key'] ? { idempotencyKey: flags['idempotency-key'] } : {}),
|
|
26
|
+
...(flags['privacy-approval'] ? { privacyApprovalId: flags['privacy-approval'] } : {}),
|
|
27
|
+
},
|
|
28
|
+
});
|
|
29
|
+
this.print(result, flags.json, `Committed Memory proposal ${args.proposalId}: ${result.mutation?.node?.path || result.proposal?.proposedPath || 'canonical Store updated'}.`);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
exports.default = MemoryProposalsCommit;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ScopedMemoryCommand } from '../../../lib/scoped-memory-command';
|
|
2
|
+
export default class MemoryProposalsCreate extends ScopedMemoryCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static flags: {
|
|
5
|
+
path: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
6
|
+
content: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
7
|
+
title: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
8
|
+
kind: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
9
|
+
confidence: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
10
|
+
evidence: import("@oclif/core/lib/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
11
|
+
agent: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
12
|
+
space: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
13
|
+
store: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
14
|
+
scope: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
15
|
+
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
16
|
+
};
|
|
17
|
+
run(): Promise<void>;
|
|
18
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const core_1 = require("@oclif/core");
|
|
4
|
+
const scoped_memory_command_1 = require("../../../lib/scoped-memory-command");
|
|
5
|
+
const MEMORY_KINDS = [
|
|
6
|
+
'profile',
|
|
7
|
+
'preference',
|
|
8
|
+
'entity',
|
|
9
|
+
'event',
|
|
10
|
+
'belief',
|
|
11
|
+
'experience',
|
|
12
|
+
'procedure',
|
|
13
|
+
'relationship',
|
|
14
|
+
'observation',
|
|
15
|
+
'custom',
|
|
16
|
+
];
|
|
17
|
+
class MemoryProposalsCreate extends scoped_memory_command_1.ScopedMemoryCommand {
|
|
18
|
+
static description = 'Submit a proposal to a mounted Agent or Space Store without changing canonical Memory';
|
|
19
|
+
static flags = {
|
|
20
|
+
...scoped_memory_command_1.scopedMemoryFlags,
|
|
21
|
+
path: core_1.Flags.string({ required: true }),
|
|
22
|
+
content: core_1.Flags.string({ required: true }),
|
|
23
|
+
title: core_1.Flags.string(),
|
|
24
|
+
kind: core_1.Flags.string({ description: 'Canonical Memory kind', options: [...MEMORY_KINDS] }),
|
|
25
|
+
confidence: core_1.Flags.string(),
|
|
26
|
+
evidence: core_1.Flags.string({
|
|
27
|
+
description: 'Attributable source reference (required for Space proposals)',
|
|
28
|
+
multiple: true,
|
|
29
|
+
}),
|
|
30
|
+
};
|
|
31
|
+
async run() {
|
|
32
|
+
this.requireAuth();
|
|
33
|
+
const { flags } = await this.parse(MemoryProposalsCreate);
|
|
34
|
+
const store = await this.resolveStore(flags, { write: true });
|
|
35
|
+
if (store.owner.kind === 'space' && !flags.evidence?.length) {
|
|
36
|
+
this.error('Space proposals require at least one --evidence <source-ref>.', { exit: 2 });
|
|
37
|
+
}
|
|
38
|
+
const result = await this.memoryApi(flags.agent, `/stores/${encodeURIComponent(store.id)}/proposals`, {
|
|
39
|
+
method: 'POST',
|
|
40
|
+
body: {
|
|
41
|
+
spaceId: flags.space,
|
|
42
|
+
path: flags.path,
|
|
43
|
+
claim: flags.content,
|
|
44
|
+
title: flags.title,
|
|
45
|
+
memoryKind: flags.kind,
|
|
46
|
+
confidence: flags.confidence === undefined ? undefined : Number(flags.confidence),
|
|
47
|
+
evidence: (flags.evidence || []).map((sourceRef) => ({
|
|
48
|
+
sourceKind: 'observation',
|
|
49
|
+
sourceRef,
|
|
50
|
+
})),
|
|
51
|
+
},
|
|
52
|
+
});
|
|
53
|
+
this.print(result, flags.json, `Submitted Memory proposal ${result.proposal.id} to ${store.owner.kind}:${store.owner.id}.`);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
exports.default = MemoryProposalsCreate;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ScopedMemoryCommand } from '../../../lib/scoped-memory-command';
|
|
2
|
+
export default class MemoryProposalsList extends ScopedMemoryCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static flags: {
|
|
5
|
+
status: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
6
|
+
agent: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
7
|
+
space: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
8
|
+
store: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
9
|
+
scope: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
10
|
+
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
11
|
+
};
|
|
12
|
+
run(): Promise<void>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const core_1 = require("@oclif/core");
|
|
4
|
+
const scoped_memory_command_1 = require("../../../lib/scoped-memory-command");
|
|
5
|
+
class MemoryProposalsList extends scoped_memory_command_1.ScopedMemoryCommand {
|
|
6
|
+
static description = 'List reviewable proposals in one mounted Memory Store';
|
|
7
|
+
static flags = {
|
|
8
|
+
...scoped_memory_command_1.scopedMemoryFlags,
|
|
9
|
+
status: core_1.Flags.string({
|
|
10
|
+
description: 'Proposal status',
|
|
11
|
+
options: ['proposed', 'accepted', 'merged', 'rejected'],
|
|
12
|
+
default: 'proposed',
|
|
13
|
+
}),
|
|
14
|
+
};
|
|
15
|
+
async run() {
|
|
16
|
+
this.requireAuth();
|
|
17
|
+
const { flags } = await this.parse(MemoryProposalsList);
|
|
18
|
+
const store = await this.resolveStore(flags);
|
|
19
|
+
const result = await this.memoryApi(flags.agent, `/stores/${store.id}/proposals${this.query(flags, { status: flags.status })}`);
|
|
20
|
+
if (flags.json) {
|
|
21
|
+
this.log(JSON.stringify({ storeId: store.id, proposals: result.proposals }, null, 2));
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
for (const proposal of result.proposals) {
|
|
25
|
+
this.log(`${proposal.id} ${proposal.status} ${proposal.proposedPath} ${proposal.title || proposal.claim}`);
|
|
26
|
+
}
|
|
27
|
+
if (!result.proposals.length)
|
|
28
|
+
this.log(`No ${flags.status} Memory proposals.`);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
exports.default = MemoryProposalsList;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ScopedMemoryCommand } from '../../../lib/scoped-memory-command';
|
|
2
|
+
export default class MemoryProposalsPromote extends ScopedMemoryCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static flags: {
|
|
5
|
+
'source-store': import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
6
|
+
'source-memory': import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
7
|
+
'source-version': import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
8
|
+
'consent-approval': import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
9
|
+
path: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
10
|
+
'authorization-generation': import("@oclif/core/lib/interfaces").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
11
|
+
'expected-version': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
12
|
+
'idempotency-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
13
|
+
'privacy-approval': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
14
|
+
'dry-run': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
15
|
+
agent: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
16
|
+
space: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
17
|
+
store: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
18
|
+
scope: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
19
|
+
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
20
|
+
};
|
|
21
|
+
run(): Promise<void>;
|
|
22
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const core_1 = require("@oclif/core");
|
|
4
|
+
const scoped_memory_command_1 = require("../../../lib/scoped-memory-command");
|
|
5
|
+
class MemoryProposalsPromote extends scoped_memory_command_1.ScopedMemoryCommand {
|
|
6
|
+
static description = 'Consume a one-time approval and promote an Agent topic into the current Space Store';
|
|
7
|
+
static flags = {
|
|
8
|
+
...scoped_memory_command_1.mutationFlags,
|
|
9
|
+
'source-store': core_1.Flags.string({ required: true, description: 'Mounted Agent Store ID' }),
|
|
10
|
+
'source-memory': core_1.Flags.string({ required: true, description: 'Agent Memory topic ID' }),
|
|
11
|
+
'source-version': core_1.Flags.string({
|
|
12
|
+
required: true,
|
|
13
|
+
description: 'Current Agent topic version ID',
|
|
14
|
+
}),
|
|
15
|
+
'consent-approval': core_1.Flags.string({
|
|
16
|
+
required: true,
|
|
17
|
+
description: 'One-time space_promotion approval ID from memory approvals issue',
|
|
18
|
+
}),
|
|
19
|
+
path: core_1.Flags.string({ description: 'Optional destination path in the Space Store' }),
|
|
20
|
+
};
|
|
21
|
+
async run() {
|
|
22
|
+
this.requireAuth();
|
|
23
|
+
const { flags } = await this.parse(MemoryProposalsPromote);
|
|
24
|
+
const result = await this.mutation('promote', flags, {
|
|
25
|
+
sourceStoreId: flags['source-store'],
|
|
26
|
+
sourceMemoryId: flags['source-memory'],
|
|
27
|
+
sourceExpectedVersionId: flags['source-version'],
|
|
28
|
+
path: flags.path,
|
|
29
|
+
});
|
|
30
|
+
this.print(result, flags.json, `Promoted Agent topic ${flags['source-memory']} to Space Memory.`);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
exports.default = MemoryProposalsPromote;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ScopedMemoryCommand } from '../../../lib/scoped-memory-command';
|
|
2
|
+
export default class MemoryProposalsReject extends ScopedMemoryCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static args: {
|
|
5
|
+
proposalId: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
6
|
+
};
|
|
7
|
+
static flags: {
|
|
8
|
+
reason: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
9
|
+
agent: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
10
|
+
space: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
11
|
+
store: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
12
|
+
scope: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
13
|
+
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
14
|
+
};
|
|
15
|
+
run(): Promise<void>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const core_1 = require("@oclif/core");
|
|
4
|
+
const scoped_memory_command_1 = require("../../../lib/scoped-memory-command");
|
|
5
|
+
class MemoryProposalsReject extends scoped_memory_command_1.ScopedMemoryCommand {
|
|
6
|
+
static description = 'Reject a Store-scoped Memory proposal';
|
|
7
|
+
static args = {
|
|
8
|
+
proposalId: core_1.Args.string({ description: 'Proposal ID', required: true, ignoreStdin: true }),
|
|
9
|
+
};
|
|
10
|
+
static flags = {
|
|
11
|
+
...scoped_memory_command_1.scopedMemoryFlags,
|
|
12
|
+
reason: core_1.Flags.string({ description: 'Decision reason recorded on the proposal' }),
|
|
13
|
+
};
|
|
14
|
+
async run() {
|
|
15
|
+
this.requireAuth();
|
|
16
|
+
const { args, flags } = await this.parse(MemoryProposalsReject);
|
|
17
|
+
const store = await this.resolveStore(flags, { write: true });
|
|
18
|
+
const result = await this.memoryApi(flags.agent, `/stores/${store.id}/proposals/${encodeURIComponent(args.proposalId)}/reject`, {
|
|
19
|
+
method: 'POST',
|
|
20
|
+
body: {
|
|
21
|
+
...(flags.space ? { spaceId: flags.space } : {}),
|
|
22
|
+
...(flags.reason ? { reason: flags.reason } : {}),
|
|
23
|
+
},
|
|
24
|
+
});
|
|
25
|
+
this.print(result, flags.json, `Rejected Memory proposal ${args.proposalId}.`);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.default = MemoryProposalsReject;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ScopedMemoryCommand } from '../../lib/scoped-memory-command';
|
|
2
|
+
export default class MemoryRebuildIndex extends ScopedMemoryCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static args: {
|
|
5
|
+
ref: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
6
|
+
};
|
|
7
|
+
static flags: {
|
|
8
|
+
'authorization-generation': import("@oclif/core/lib/interfaces").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
9
|
+
'expected-version': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
10
|
+
'idempotency-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
11
|
+
'privacy-approval': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
12
|
+
'dry-run': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
13
|
+
agent: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
14
|
+
space: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
15
|
+
store: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
16
|
+
scope: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
17
|
+
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
18
|
+
};
|
|
19
|
+
run(): Promise<void>;
|
|
20
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const core_1 = require("@oclif/core");
|
|
4
|
+
const scoped_memory_command_1 = require("../../lib/scoped-memory-command");
|
|
5
|
+
class MemoryRebuildIndex extends scoped_memory_command_1.ScopedMemoryCommand {
|
|
6
|
+
static description = 'Rebuild generated Memory projections and MEMORY.md indexes';
|
|
7
|
+
static args = { ref: core_1.Args.string({ required: false, default: '/', ignoreStdin: true }) };
|
|
8
|
+
static flags = scoped_memory_command_1.mutationFlags;
|
|
9
|
+
async run() {
|
|
10
|
+
this.requireAuth();
|
|
11
|
+
const { args, flags } = await this.parse(MemoryRebuildIndex);
|
|
12
|
+
const store = await this.resolveStore(flags, { write: true });
|
|
13
|
+
const body = /^[0-9a-f-]{36}$/i.test(args.ref)
|
|
14
|
+
? { memoryId: args.ref, spaceId: flags.space }
|
|
15
|
+
: { path: args.ref, spaceId: flags.space };
|
|
16
|
+
const result = flags['dry-run']
|
|
17
|
+
? { dryRun: true, request: body }
|
|
18
|
+
: await this.memoryApi(flags.agent, `/stores/${store.id}/rebuild-index`, {
|
|
19
|
+
method: 'POST',
|
|
20
|
+
body,
|
|
21
|
+
});
|
|
22
|
+
this.print(result, flags.json, flags['dry-run'] ? 'Dry run: no index rebuilt.' : `Rebuilt Memory index for ${args.ref}.`);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.default = MemoryRebuildIndex;
|
|
@@ -5,7 +5,7 @@ export default class MemorySave extends BaseCommand {
|
|
|
5
5
|
static flags: {
|
|
6
6
|
agent: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
7
7
|
tier: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
8
|
-
workspace: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
8
|
+
'pool-workspace': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
9
9
|
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
10
10
|
'from-json': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
11
11
|
key: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
@@ -12,7 +12,7 @@ class MemorySave extends base_command_1.BaseCommand {
|
|
|
12
12
|
'<%= config.bin %> memory save --key "user-preference" --value "dark mode"',
|
|
13
13
|
'<%= config.bin %> memory save --from-json memory.json',
|
|
14
14
|
'<%= config.bin %> memory save --key "note" --value "remember this" --json',
|
|
15
|
-
'<%= config.bin %> memory save --key "team-norm" --value "ship on fridays" --tier workspace --workspace ws_123',
|
|
15
|
+
'<%= config.bin %> memory save --key "team-norm" --value "ship on fridays" --tier workspace --pool-workspace ws_123',
|
|
16
16
|
'<%= config.bin %> memory maintain remember \'{"path":"/notes","claim":"remember this"}\' --agent agent_abc123',
|
|
17
17
|
];
|
|
18
18
|
static flags = {
|
|
@@ -1,14 +1,17 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export default class MemorySearch extends
|
|
1
|
+
import { ScopedMemoryCommand } from '../../lib/scoped-memory-command';
|
|
2
|
+
export default class MemorySearch extends ScopedMemoryCommand {
|
|
3
3
|
static description: string;
|
|
4
4
|
static examples: string[];
|
|
5
5
|
static args: {
|
|
6
6
|
query: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
7
7
|
};
|
|
8
8
|
static flags: {
|
|
9
|
+
store: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
10
|
+
scope: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
11
|
+
'space-context': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
9
12
|
agent: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
10
13
|
tier: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
11
|
-
workspace: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
14
|
+
'pool-workspace': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
12
15
|
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
13
16
|
'max-results': import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
14
17
|
'min-score': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|