@soku-ai/cli 0.1.0-alpha.17 → 0.1.0-alpha.19
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 +33 -22
- package/dist/commands/auth.d.ts +1 -3
- package/dist/commands/auth.d.ts.map +1 -1
- package/dist/commands/auth.js +18 -3
- package/dist/commands/auth.js.map +1 -1
- package/dist/commands/automation.d.ts +46 -0
- package/dist/commands/automation.d.ts.map +1 -1
- package/dist/commands/automation.js +150 -0
- package/dist/commands/automation.js.map +1 -1
- package/dist/commands/brand-skill.d.ts +23 -0
- package/dist/commands/brand-skill.d.ts.map +1 -1
- package/dist/commands/brand-skill.js +82 -0
- package/dist/commands/brand-skill.js.map +1 -1
- package/dist/commands/changelog.d.ts +79 -0
- package/dist/commands/changelog.d.ts.map +1 -0
- package/dist/commands/changelog.js +123 -0
- package/dist/commands/changelog.js.map +1 -0
- package/dist/commands/context.d.ts +54 -0
- package/dist/commands/context.d.ts.map +1 -1
- package/dist/commands/context.js +362 -43
- package/dist/commands/context.js.map +1 -1
- package/dist/commands/egress.d.ts +49 -1
- package/dist/commands/egress.d.ts.map +1 -1
- package/dist/commands/egress.js +287 -33
- package/dist/commands/egress.js.map +1 -1
- package/dist/commands/generated.d.ts +8 -3
- package/dist/commands/generated.d.ts.map +1 -1
- package/dist/commands/generated.js +10 -3
- package/dist/commands/generated.js.map +1 -1
- package/dist/commands/live-surface.d.ts +15 -0
- package/dist/commands/live-surface.d.ts.map +1 -0
- package/dist/commands/live-surface.js +96 -0
- package/dist/commands/live-surface.js.map +1 -0
- package/dist/commands/workspace.d.ts +13 -0
- package/dist/commands/workspace.d.ts.map +1 -1
- package/dist/commands/workspace.js +34 -7
- package/dist/commands/workspace.js.map +1 -1
- package/dist/generated/capabilities.json +7710 -2318
- package/dist/generated/changelog.json +2232 -0
- package/dist/http/client.d.ts +17 -0
- package/dist/http/client.d.ts.map +1 -1
- package/dist/http/client.js +34 -5
- package/dist/http/client.js.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/output/envelope.d.ts +2 -1
- package/dist/output/envelope.d.ts.map +1 -1
- package/dist/output/envelope.js +2 -2
- package/dist/output/envelope.js.map +1 -1
- package/dist/upload-journal.d.ts +46 -0
- package/dist/upload-journal.d.ts.map +1 -0
- package/dist/upload-journal.js +102 -0
- package/dist/upload-journal.js.map +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +6 -5
- package/skills/soku/SKILL.md +74 -12
- package/skills/soku/agents/openai.yaml +4 -0
- package/skills/soku/references/ads-write.md +12 -6
- package/skills/soku/references/auth-workspace.md +27 -12
- package/skills/soku/references/data-capabilities.md +22 -1
- package/skills/soku/references/egress-security.md +63 -0
- package/skills/soku/references/seo-automation-files.md +67 -3
- package/skills/soku/references/skills-updates.md +54 -0
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/** `soku live open | list | revoke | rotate-credential`
|
|
2
|
+
*
|
|
3
|
+
* A live surface is a link you hand to a person. They open it in their own
|
|
4
|
+
* browser and watch the resource change as you work on it, edit it themselves,
|
|
5
|
+
* and clear the writes that need a human.
|
|
6
|
+
*
|
|
7
|
+
* The approval credential is printed once, by `open` and `rotate-credential`,
|
|
8
|
+
* and never appears in the URL. That separation is the whole point: a link
|
|
9
|
+
* travels — forwarded, pasted, screenshotted — and a credential travelling with
|
|
10
|
+
* it would prove nothing while looking like proof. What gets recorded as
|
|
11
|
+
* "who approved this" depends on it.
|
|
12
|
+
*/
|
|
13
|
+
import { apiRequest } from '../http/client.js';
|
|
14
|
+
import { bold, dim, emitSuccess, table } from '../output/envelope.js';
|
|
15
|
+
export function registerLiveSurfaceCommands(program) {
|
|
16
|
+
// `live`, not `live-surfaces`. The page a person opens is at `/live/<handle>`,
|
|
17
|
+
// so that is the word they already have for this; `live-surfaces` is the
|
|
18
|
+
// internal table's name leaking onto the command line. The server route
|
|
19
|
+
// stays `/api/cli/live-surfaces` — it is deployed, and nothing is served by
|
|
20
|
+
// renaming a path nobody types.
|
|
21
|
+
const surfaces = program
|
|
22
|
+
.command('live')
|
|
23
|
+
.description('Hand someone a live link to a canvas you are working on');
|
|
24
|
+
surfaces
|
|
25
|
+
.command('open <resource-id>')
|
|
26
|
+
.description('Open a link for a resource and print it with its approval code')
|
|
27
|
+
.option('--type <type>', "Resource kind (default: 'remix_project')", 'remix_project')
|
|
28
|
+
.option('--read-only', 'Let them watch but not edit')
|
|
29
|
+
.option('--no-approvals', 'Do not issue an approval code for this link')
|
|
30
|
+
.option('--ttl-hours <hours>', 'How long the link stays usable (default 12, max 168)')
|
|
31
|
+
.action(async (resourceId, opts) => {
|
|
32
|
+
const data = await apiRequest('/api/cli/live-surfaces', {
|
|
33
|
+
method: 'POST',
|
|
34
|
+
workspace: true,
|
|
35
|
+
body: {
|
|
36
|
+
resource_type: opts.type,
|
|
37
|
+
resource_id: resourceId,
|
|
38
|
+
writable: !opts.readOnly,
|
|
39
|
+
approvable: opts.approvals,
|
|
40
|
+
...(opts.ttlHours ? { ttl_hours: Number(opts.ttlHours) } : {}),
|
|
41
|
+
},
|
|
42
|
+
});
|
|
43
|
+
emitSuccess(data, (d) => {
|
|
44
|
+
const lines = [bold('Link ') + d.url];
|
|
45
|
+
if (d.expiresAt)
|
|
46
|
+
lines.push(dim('Expires ') + d.expiresAt);
|
|
47
|
+
if (d.approvalCredential) {
|
|
48
|
+
lines.push('');
|
|
49
|
+
lines.push(bold('Approval code ') + d.approvalCredential);
|
|
50
|
+
// Printed on its own line, away from the URL, because the two must
|
|
51
|
+
// reach the person by different routes.
|
|
52
|
+
lines.push(dim(d.approvalCredentialNote ?? 'Give this to the person, not the link.'));
|
|
53
|
+
}
|
|
54
|
+
return lines.join('\n');
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
surfaces
|
|
58
|
+
.command('list <resource-id>')
|
|
59
|
+
.description('Links still open on a resource, so you do not hand out a second one')
|
|
60
|
+
.option('--type <type>', "Resource kind (default: 'remix_project')", 'remix_project')
|
|
61
|
+
.action(async (resourceId, opts) => {
|
|
62
|
+
const query = `?resource_id=${encodeURIComponent(resourceId)}&resource_type=${encodeURIComponent(opts.type)}`;
|
|
63
|
+
const data = await apiRequest(`/api/cli/live-surfaces${query}`, { workspace: true });
|
|
64
|
+
emitSuccess(data, (d) => table(d.surfaces.map((s) => ({
|
|
65
|
+
url: s.url,
|
|
66
|
+
can: s.capabilities.join(','),
|
|
67
|
+
origin: s.origin,
|
|
68
|
+
expires: s.expiresAt ?? '',
|
|
69
|
+
})), [
|
|
70
|
+
{ key: 'url', header: 'URL' },
|
|
71
|
+
{ key: 'can', header: 'CAN' },
|
|
72
|
+
{ key: 'origin', header: 'OPENED BY' },
|
|
73
|
+
{ key: 'expires', header: 'EXPIRES' },
|
|
74
|
+
]));
|
|
75
|
+
});
|
|
76
|
+
surfaces
|
|
77
|
+
.command('revoke <handle>')
|
|
78
|
+
.description('Kill a link. Anyone still holding it loses access immediately')
|
|
79
|
+
.action(async (handle) => {
|
|
80
|
+
emitSuccess(await apiRequest(`/api/cli/live-surfaces/${encodeURIComponent(handle)}`, {
|
|
81
|
+
method: 'DELETE',
|
|
82
|
+
workspace: true,
|
|
83
|
+
}), () => 'Revoked.');
|
|
84
|
+
});
|
|
85
|
+
surfaces
|
|
86
|
+
.command('rotate-credential <handle>')
|
|
87
|
+
.description('Issue a fresh approval code, leaving the link itself alive')
|
|
88
|
+
.action(async (handle) => {
|
|
89
|
+
const data = await apiRequest(`/api/cli/live-surfaces/${encodeURIComponent(handle)}/approval-credential`, { method: 'POST', workspace: true });
|
|
90
|
+
// Rotating is for a code that reached the wrong person. Killing the link
|
|
91
|
+
// as well would cost the right person their work surface for someone
|
|
92
|
+
// else's mistake, so the two are separate commands.
|
|
93
|
+
emitSuccess(data, (d) => bold('New approval code ') + d.approvalCredential);
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=live-surface.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"live-surface.js","sourceRoot":"","sources":["../../src/commands/live-surface.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,17 @@
|
|
|
1
1
|
/** `soku workspace` — inspect and resolve the active org/brand selection. */
|
|
2
2
|
import { Command } from 'commander';
|
|
3
|
+
/** Where the active org/brand actually came from for this invocation.
|
|
4
|
+
*
|
|
5
|
+
* `apiRequest` lets `SOKU_ORG_ID` / `SOKU_BRAND_ID` override saved config, and
|
|
6
|
+
* the agent docs recommend exactly that for one-off scripts. `status` used to
|
|
7
|
+
* read only the config file, so in an env-driven session it reported "(none)"
|
|
8
|
+
* while every write went to the env-specified brand — the one check an agent is
|
|
9
|
+
* told to run before writing could not see where the write would land.
|
|
10
|
+
*/
|
|
11
|
+
export declare function resolveActiveWorkspace(): {
|
|
12
|
+
orgId: string | null;
|
|
13
|
+
brandId: string | null;
|
|
14
|
+
source: 'env' | 'config';
|
|
15
|
+
};
|
|
3
16
|
export declare function registerWorkspaceCommands(program: Command): void;
|
|
4
17
|
//# sourceMappingURL=workspace.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../../src/commands/workspace.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAE7E,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAsFnC,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../../src/commands/workspace.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAE7E,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAsFnC;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,IAAI;IACxC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,MAAM,EAAE,KAAK,GAAG,QAAQ,CAAA;CACzB,CAWA;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+FhE"}
|
|
@@ -49,28 +49,52 @@ function useResolvedBrand(result, ref) {
|
|
|
49
49
|
const candidates = result.candidates.map((b) => `${b.slug} (${b.org_slug || b.org_name || b.org_id})`).join(', ');
|
|
50
50
|
return emitError('ambiguous', `"${ref}" matches ${result.candidates.length} brands.`, ExitCode.USAGE, `Use an exact slug or id: ${candidates}`);
|
|
51
51
|
}
|
|
52
|
+
/** Where the active org/brand actually came from for this invocation.
|
|
53
|
+
*
|
|
54
|
+
* `apiRequest` lets `SOKU_ORG_ID` / `SOKU_BRAND_ID` override saved config, and
|
|
55
|
+
* the agent docs recommend exactly that for one-off scripts. `status` used to
|
|
56
|
+
* read only the config file, so in an env-driven session it reported "(none)"
|
|
57
|
+
* while every write went to the env-specified brand — the one check an agent is
|
|
58
|
+
* told to run before writing could not see where the write would land.
|
|
59
|
+
*/
|
|
60
|
+
export function resolveActiveWorkspace() {
|
|
61
|
+
const cfg = loadConfig();
|
|
62
|
+
const envOrg = process.env.SOKU_ORG_ID || null;
|
|
63
|
+
const envBrand = process.env.SOKU_BRAND_ID || null;
|
|
64
|
+
return {
|
|
65
|
+
orgId: envOrg ?? cfg.activeOrgId ?? null,
|
|
66
|
+
brandId: envBrand ?? cfg.activeBrandId ?? null,
|
|
67
|
+
// Either override alone changes where requests go, so either one makes the
|
|
68
|
+
// effective workspace env-decided.
|
|
69
|
+
source: envOrg || envBrand ? 'env' : 'config',
|
|
70
|
+
};
|
|
71
|
+
}
|
|
52
72
|
export function registerWorkspaceCommands(program) {
|
|
53
73
|
const workspace = program.command('workspace').description('Inspect or set the active Soku workspace');
|
|
54
74
|
workspace
|
|
55
75
|
.command('status')
|
|
56
76
|
.description('Show the active organization and brand')
|
|
57
77
|
.action(async () => {
|
|
58
|
-
const
|
|
78
|
+
const active = resolveActiveWorkspace();
|
|
59
79
|
const orgsData = await apiRequest('/api/cli/orgs');
|
|
60
|
-
const org =
|
|
80
|
+
const org = active.orgId ? orgsData.orgs.find((item) => item.id === active.orgId) : undefined;
|
|
61
81
|
let brand;
|
|
62
|
-
if (org &&
|
|
82
|
+
if (org && active.brandId) {
|
|
63
83
|
const brandsData = await apiRequest(`/api/cli/brands?org_id=${encodeURIComponent(org.id)}`);
|
|
64
|
-
brand = brandsData.brands.find((item) => item.id ===
|
|
84
|
+
brand = brandsData.brands.find((item) => item.id === active.brandId);
|
|
65
85
|
}
|
|
66
86
|
const data = {
|
|
67
|
-
active_org_id:
|
|
87
|
+
active_org_id: active.orgId,
|
|
68
88
|
active_org_name: org?.name ?? null,
|
|
69
89
|
active_org_slug: org?.slug ?? null,
|
|
70
|
-
active_brand_id:
|
|
90
|
+
active_brand_id: active.brandId,
|
|
71
91
|
active_brand_name: brand?.name ?? null,
|
|
72
92
|
active_brand_slug: brand?.slug ?? null,
|
|
73
93
|
workspace_ready: Boolean(org && brand),
|
|
94
|
+
// Which of the two sources decided the answer. An agent that checks the
|
|
95
|
+
// brand before a write needs to know an env override is in play, since
|
|
96
|
+
// `use-brand` writes config and would not change where writes land.
|
|
97
|
+
source: active.source,
|
|
74
98
|
};
|
|
75
99
|
emitSuccess(data, (d) => {
|
|
76
100
|
const orgLabel = d.active_org_slug || d.active_org_name || d.active_org_id || '(none)';
|
|
@@ -79,7 +103,10 @@ export function registerWorkspaceCommands(program) {
|
|
|
79
103
|
return [
|
|
80
104
|
`Workspace: ${ready}`,
|
|
81
105
|
`Org: ${orgLabel}`,
|
|
82
|
-
`Brand: ${brandLabel}`,
|
|
106
|
+
`Brand: ${brandLabel} ${dim('(current target — not the limit of your access)')}`,
|
|
107
|
+
d.source === 'env'
|
|
108
|
+
? dim('Source: SOKU_ORG_ID / SOKU_BRAND_ID (env overrides saved config)')
|
|
109
|
+
: dim('Source: saved config'),
|
|
83
110
|
d.workspace_ready
|
|
84
111
|
? dim('Next: soku resources list')
|
|
85
112
|
: dim('Next: soku workspace use-brand <brand>'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../src/commands/workspace.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAI7E,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AACjG,OAAO,EAAE,QAAQ,EAAoB,MAAM,eAAe,CAAA;AAwB1D,SAAS,kBAAkB,CAAC,MAAe,EAAE,GAAW;IACtD,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACnC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,KAAK,CAAA;IACvC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAA;IAClE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,CAAA;IACpE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;AACzB,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,KAAa,EAAE,KAAa;IACtD,MAAM,IAAI,GAAG,MAAM,UAAU,CAC3B,4BAA4B,kBAAkB,CAAC,KAAK,CAAC,UAAU,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CACnG,CAAA;IACD,OAAO,IAAI,CAAC,MAAM,CAAA;AACpB,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAe,EAAE,GAAW;IAC1D,MAAM,GAAG,GAAG,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC3C,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACzB,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAA;IACrF,CAAC;IACD,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC7B,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,CAAC,OAAO,EAAE,CAAA;IACvF,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAA;AAC9E,CAAC;AAED,SAAS,qBAAqB,CAAC,UAAmB;IAChD,OAAO,KAAK,CACV,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACrB,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,GAAG,EAAE,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,MAAM;QACzC,EAAE,EAAE,CAAC,CAAC,EAAE;KACT,CAAC,CAAC,EACH;QACE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE;QAChC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;QAC/B,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;QAC7B,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;KAC5B,CACF,CAAA;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,MAA0B,EAAE,GAAW;IAC/D,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,KAAK;QAAE,OAAO,MAAM,CAAC,KAAK,CAAA;IACxD,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,SAAS,CAAC,WAAW,EAAE,iCAAiC,GAAG,IAAI,EAAE,QAAQ,CAAC,SAAS,EAAE,6DAA6D,CAAC,CAAA;IACrJ,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACjH,OAAO,SAAS,CACd,WAAW,EACX,IAAI,GAAG,aAAa,MAAM,CAAC,UAAU,CAAC,MAAM,UAAU,EACtD,QAAQ,CAAC,KAAK,EACd,4BAA4B,UAAU,EAAE,CACzC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,OAAgB;IACxD,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,0CAA0C,CAAC,CAAA;IAEtG,SAAS;SACN,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,wCAAwC,CAAC;SACrD,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,
|
|
1
|
+
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../src/commands/workspace.ts"],"names":[],"mappings":"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"}
|