@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.
Files changed (64) hide show
  1. package/README.md +33 -22
  2. package/dist/commands/auth.d.ts +1 -3
  3. package/dist/commands/auth.d.ts.map +1 -1
  4. package/dist/commands/auth.js +18 -3
  5. package/dist/commands/auth.js.map +1 -1
  6. package/dist/commands/automation.d.ts +46 -0
  7. package/dist/commands/automation.d.ts.map +1 -1
  8. package/dist/commands/automation.js +150 -0
  9. package/dist/commands/automation.js.map +1 -1
  10. package/dist/commands/brand-skill.d.ts +23 -0
  11. package/dist/commands/brand-skill.d.ts.map +1 -1
  12. package/dist/commands/brand-skill.js +82 -0
  13. package/dist/commands/brand-skill.js.map +1 -1
  14. package/dist/commands/changelog.d.ts +79 -0
  15. package/dist/commands/changelog.d.ts.map +1 -0
  16. package/dist/commands/changelog.js +123 -0
  17. package/dist/commands/changelog.js.map +1 -0
  18. package/dist/commands/context.d.ts +54 -0
  19. package/dist/commands/context.d.ts.map +1 -1
  20. package/dist/commands/context.js +362 -43
  21. package/dist/commands/context.js.map +1 -1
  22. package/dist/commands/egress.d.ts +49 -1
  23. package/dist/commands/egress.d.ts.map +1 -1
  24. package/dist/commands/egress.js +287 -33
  25. package/dist/commands/egress.js.map +1 -1
  26. package/dist/commands/generated.d.ts +8 -3
  27. package/dist/commands/generated.d.ts.map +1 -1
  28. package/dist/commands/generated.js +10 -3
  29. package/dist/commands/generated.js.map +1 -1
  30. package/dist/commands/live-surface.d.ts +15 -0
  31. package/dist/commands/live-surface.d.ts.map +1 -0
  32. package/dist/commands/live-surface.js +96 -0
  33. package/dist/commands/live-surface.js.map +1 -0
  34. package/dist/commands/workspace.d.ts +13 -0
  35. package/dist/commands/workspace.d.ts.map +1 -1
  36. package/dist/commands/workspace.js +34 -7
  37. package/dist/commands/workspace.js.map +1 -1
  38. package/dist/generated/capabilities.json +7710 -2318
  39. package/dist/generated/changelog.json +2232 -0
  40. package/dist/http/client.d.ts +17 -0
  41. package/dist/http/client.d.ts.map +1 -1
  42. package/dist/http/client.js +34 -5
  43. package/dist/http/client.js.map +1 -1
  44. package/dist/index.js +4 -0
  45. package/dist/index.js.map +1 -1
  46. package/dist/output/envelope.d.ts +2 -1
  47. package/dist/output/envelope.d.ts.map +1 -1
  48. package/dist/output/envelope.js +2 -2
  49. package/dist/output/envelope.js.map +1 -1
  50. package/dist/upload-journal.d.ts +46 -0
  51. package/dist/upload-journal.d.ts.map +1 -0
  52. package/dist/upload-journal.js +102 -0
  53. package/dist/upload-journal.js.map +1 -0
  54. package/dist/version.d.ts +1 -1
  55. package/dist/version.js +1 -1
  56. package/package.json +6 -5
  57. package/skills/soku/SKILL.md +74 -12
  58. package/skills/soku/agents/openai.yaml +4 -0
  59. package/skills/soku/references/ads-write.md +12 -6
  60. package/skills/soku/references/auth-workspace.md +27 -12
  61. package/skills/soku/references/data-capabilities.md +22 -1
  62. package/skills/soku/references/egress-security.md +63 -0
  63. package/skills/soku/references/seo-automation-files.md +67 -3
  64. 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,CAwFhE"}
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 cfg = loadConfig();
78
+ const active = resolveActiveWorkspace();
59
79
  const orgsData = await apiRequest('/api/cli/orgs');
60
- const org = cfg.activeOrgId ? orgsData.orgs.find((item) => item.id === cfg.activeOrgId) : undefined;
80
+ const org = active.orgId ? orgsData.orgs.find((item) => item.id === active.orgId) : undefined;
61
81
  let brand;
62
- if (org && cfg.activeBrandId) {
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 === cfg.activeBrandId);
84
+ brand = brandsData.brands.find((item) => item.id === active.brandId);
65
85
  }
66
86
  const data = {
67
- active_org_id: cfg.activeOrgId ?? null,
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: cfg.activeBrandId ?? null,
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":"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"}
1
+ {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../src/commands/workspace.ts"],"names":[],"mappings":"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"}