Skip to content
Merged
Show file tree
Hide file tree
Changes from 7 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion ERRORS.md
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ Hint: polylane workspace use <id>

These are the non-obvious command-level behaviours an agent should know about. Specific error strings are subject to change — use these as categories you can rely on.

### Destructive operations (`auth logout`, `integration disconnect`, `cloud disconnect`, `memory delete`, …)
### Destructive operations (`auth logout`, `integration disconnect`, `cloud disconnect`, …)

- Prompt for confirmation in interactive mode.
- Require `--yes` in non-interactive mode, else exit `2`.
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ polylane issue note <issue-id> "rolled back deploy"
polylane service logs <service> --since 1h --grep error
polylane tools run findNodes --params '{"query":"api"}'
polylane thread ask "<prompt>"
polylane memory save "<finding>"
polylane memory list # what the agent has learned (git-backed)
```

## Discovering commands
Expand Down
10 changes: 6 additions & 4 deletions skill/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -179,16 +179,18 @@ polylane issue note <issue-id> "rolled back deploy ABC"
polylane issue milestone <issue-id> "Mitigated"

# Drill into services
polylane service find "<query>"
polylane service find <part-of-name> # matches id, name or alternate name
polylane service logs <service-id> --since 1h --grep error
polylane service metrics <service-id> --metric <name> --since 1h
polylane service graph <service-id> --direction both --depth 1

# Find the repository, then search it in a local clone
polylane repo find "<query>"

# Save what you learned
polylane memory save "<finding>"
# Read what the agent has learned about this workspace
polylane memory list [--path <dir>]
polylane memory show <path>
polylane memory history
```

### Running agent tools directly
Expand Down Expand Up @@ -238,7 +240,7 @@ Attach resources as context by passing their IDs — the CLI infers the resource
polylane workspace list --output json | jq '.items[0].id'

# Chain: find a service → check its logs
SVC=$(polylane service find "payment lambda" --output json --quiet | jq -r '.items[0].id')
SVC=$(polylane service find payments --output json --quiet | jq -r '.items[0].id')
polylane service logs "$SVC" --since 1h --grep error

# Fire-and-forget + later poll
Expand Down
4 changes: 0 additions & 4 deletions src/commands/feed/index.ts

This file was deleted.

145 changes: 0 additions & 145 deletions src/commands/feed/list.ts

This file was deleted.

46 changes: 0 additions & 46 deletions src/commands/feed/summary.ts

This file was deleted.

4 changes: 0 additions & 4 deletions src/commands/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import { configCommands } from './config';
import { helpCommand } from './help';
import { setupCommand } from './setup';
import { updateCommand } from './update';
import { feedCommands } from './feed';
import { issueCommands } from './issue';
import { serviceCommands } from './service';
import { repoCommands } from './repo';
Expand All @@ -16,7 +15,6 @@ import { workspaceCommands } from './workspace';
import { subscriptionCommands } from './subscription';
import { apiCommands } from './api';
import { telemetryCommands } from './telemetry';
import { noteCommands } from './note';
import { autofixCommands } from './autofix';
import { artifactCommands } from './artifact';
import { toolsCommands } from './tools';
Expand All @@ -28,7 +26,6 @@ export function registerAllCommands(): void {
registered = true;

const all = [
...feedCommands,
...issueCommands,
...serviceCommands,
...repoCommands,
Expand All @@ -38,7 +35,6 @@ export function registerAllCommands(): void {
...cloudCommands,
...workspaceCommands,
...subscriptionCommands,
...noteCommands,
...autofixCommands,
...artifactCommands,
...toolsCommands,
Expand Down
34 changes: 0 additions & 34 deletions src/commands/memory/delete.ts

This file was deleted.

39 changes: 0 additions & 39 deletions src/commands/memory/find.ts

This file was deleted.

35 changes: 35 additions & 0 deletions src/commands/memory/history.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
import type { Command } from '../../command';
import type { Config } from '../../config/schema';
import { PolylaneAPI } from '../../generated/client';
import { formatList } from '../../output/formatter';
import { requireWorkspace, getArgNumber } from '../helpers';

export const memoryHistoryCommand: Command = {
name: 'memory history',
description: 'List recent commits to the workspace memory repository',
operationId: 'memories.commits',
options: [{ flag: '--limit <n>', description: 'Max commits (default 20)', type: 'number' }],
async execute(config: Config, _flags, args: Record<string, unknown>): Promise<void> {
const workspaceId = await requireWorkspace(config);
const limit = getArgNumber(args, 'limit') ?? 20;

const api = new PolylaneAPI(config);
const result = await api.memoriesCommits(workspaceId, { limit });

const items = result.items.map((c) => ({
hash: c.hash,
subject: c.subject,
author: c.authorName,
committed: new Date(c.committedAt * 1000).toISOString(),
}));

formatList(
config,
{ items, count: items.length },
{
headers: ['Commit', 'Subject', 'Author', 'Committed'],
rows: (item) => [item.hash.slice(0, 7), item.subject, item.author, item.committed],
}
);
},
};
Loading
Loading